Durchsuchbare Dokumentation aufrufen | Zurück zur Dokumentationsübersicht
Navigation: Dokumentationen agorum core > agorum core Module und Plugins > ALBERT | AI Suite > ALBERT l AI Coding Agents
Hinweis: Diese Dokumentation bezieht sich auf die aktuellste Version des Plugins ALBERT l AI Coding Agents. Aktualisieren Sie das hier beschriebene Plugin, um die Dokumentation verwenden zu können.
Diese Dokumentation richtet sich an Entwickler. Sie beschreibt, wie Sie das Plugin um weitere Coding Agents erweitern, wie Sie die Berechtigungsprüfung in eigenem JavaScript verwenden, welche Dienste die Einrichtung bereitstellt und wie Sie die Erkennung der Sitzungen weiterer Coding Agents ergänzen.
Welche Coding Agents es gibt, steht in der MetaDB unter:
MAIN_MODULE_MANAGEMENT/customers/agorum.ai.codingagents/coding-agents
Jeder Coding Agent ist dort ein eigener Eintrag mit Unterwerten. Alle Werte sind Zeichenketten.
| Wert | Beschreibung |
|---|---|
| displayName | Anzeigename im Menü, in der Abfrage und im Stand-Hinweis, zum Beispiel Claude Code. Ohne Angabe wird die Kennung angezeigt. |
| urlTemplate | Pflicht. Die Adresse, über die der Browser den Coding Agent startet. Der Platzhalter ${prompt} nimmt den Übergabetext auf, zum Beispiel claude://code/new?q=${prompt} oder codex://new?prompt=${prompt}. |
| acl | Pflicht. Die ACL, die festlegt, wer den Coding Agent starten darf. Ein Benutzer darf ihn starten, wenn er die ACL sehen darf. |
| icon | Symbol im Menü. Vorgabe: ionicon:open-outline. |
| maxPromptLength | Höchstlänge des Übergabetextes in Zeichen, damit die Startadresse nicht zu lang wird. Sie gilt für den ganzen Text, also für den festen Kopf (Chat-ID, Hinweis auf den Skill, Anweisungen) und den Benutzertext; gekürzt wird nur der Benutzertext. Gezählt wird vor der URL-Kodierung, die Adresse selbst wird also länger. Der vollständige Text steht im Chat. Vorgabe: 10000. |
| active | Nur der Wert false schaltet den Coding Agent ab. Diesen Wert setzt auch die Konfigurationsmaske Coding Agents. |
Neben den Coding Agents liegen im selben Eintrag zwei einzelne Werte: defaultAgent (Standardziel: Kennung eines Coding Agents, albert für ALBERT | AI oder leer) und askAgainAfterMinutes (Ruhezeit in Minuten). Beide pflegen Sie üblicherweise über die Konfigurationsmaske, siehe ALBERT l AI Coding Agents einrichten.
Achtung: Die Kennung albert ist für ALBERT | AI selbst reserviert und darf keinen Coding Agent benennen. Benennen Sie die Kennung eines Coding Agents außerdem nicht um: Sie steht in jedem Chat, der an diesen Coding Agent übergeben wurde.
Mitgeliefert werden Claude Code und Codex. Weitere Coding Agents ergänzen Sie ohne Änderung am Programmcode. Oberfläche, Übergabetext und Zustandsführung sind agentenübergreifend angelegt.
urlTemplate und acl. Ein Eintrag ohne diese beiden Werte gilt als unvollständig, wird übergangen und im Server-Log gemeldet. Einträge, deren Kennung mit # beginnt, gelten als Kommentar.
Ergebnis: Der Coding Agent erscheint in der Konfigurationsmaske und – für die Mitglieder der Gruppe – im Menü am Übergabe-Knopf und in der Abfrage beim Absenden, sobald ein Chat-Fenster neu geöffnet wird.
Hinweis: Die Einrichtung per Download (Claude Code einrichten) gibt es nur für Claude Code. Ein weiterer Coding Agent muss beim Benutzer von Hand über MCP mit agorum core pro verbunden werden und die Werkzeuge zum Lesen und Rückmelden eines Chats sehen. Ein Update des Plugins lässt eigene Einträge unberührt.
Ist die Protokollierung der Sitzungen eingeschaltet, ordnet agorum core pro jeden MCP-Aufruf, soweit möglich, der Sitzung zu, aus der er stammt. Viele Coding Agents schicken dazu im Feld _meta jedes MCP-Aufrufs eine eigene Kennung mit. Welche Schlüssel das sind, legen Erkennungsregeln fest. Ein Aufruf mit einer solchen Kennung gehört eindeutig zur Sitzung dieses Coding Agents und seines Benutzers.
Mitgeliefert werden Regeln für Claude Code, Codex, VS Code, OpenCode und ChatGPT. Claude Code schickt nur die Kennung des Werkzeugaufrufs; zu welcher Sitzung er gehört, melden dort die Hooks, und agorum core pro führt beides zusammen.
Weitere Regeln ergänzen Sie in der MetaDB, je Regel ein eigener Eintrag unter:
MAIN_MODULE_MANAGEMENT/customers/agorum.ai.codingagents/sessions/rules/<Name der Regel>
| Wert | Beschreibung |
|---|---|
| harness | Pflicht. Die Kennung des Coding Agents, unter der seine Sitzungen geführt werden, zum Beispiel codex. Ein Eintrag ohne diesen Wert wird übergangen. |
| session | Die Schlüssel in _meta, die die Kennung der Sitzung enthalten, durch Komma getrennt, zum Beispiel sessionId,threadId. Es zählt der erste gefundene. Ein Schlüssel wird wörtlich genommen: vscode.conversationId ist ein Schlüssel, kein Pfad. |
| call | Der Schlüssel in _meta, der die Kennung des Werkzeugaufrufs enthält, zum Beispiel callId. |
| displayName | Der Name des Coding Agents für Menschen, zum Beispiel Codex. Er steht im Usage-Protokoll an jedem Eintrag der Sitzung und erscheint so in der ALBERT | AI Kostenkontrolle. Ohne Namen erscheint die Kennung aus harness. |
Hinweis: Eine Regel aus der MetaDB mit dem Namen einer mitgelieferten Regel ersetzt diese, etwa codex. Ein Eintrag, dessen Name mit # beginnt, wird übergangen. Eine mitgelieferte Regel lässt sich damit nicht abschalten: #codex lässt die Regel codex aktiv.
So sähe die mitgelieferte Regel für Codex als MetaDB-Einträge aus. Tragen Sie sie so ein, ersetzen Sie damit nur die gleichnamige mitgelieferte Regel:
MAIN_MODULE_MANAGEMENT/customers/agorum.ai.codingagents/sessions/rules/codex/harness codex MAIN_MODULE_MANAGEMENT/customers/agorum.ai.codingagents/sessions/rules/codex/session sessionId,threadId MAIN_MODULE_MANAGEMENT/customers/agorum.ai.codingagents/sessions/rules/codex/call callId MAIN_MODULE_MANAGEMENT/customers/agorum.ai.codingagents/sessions/rules/codex/displayName Codex
Die Liste der Coding Agents lesen Sie über die Bibliothek des Plugins ALBERT | AI:
let codingAgents = require('/agorum/roi/customers/agorum.ai/js/lib/coding-agents');
| Funktion | Beschreibung |
|---|---|
| list() | Liefert alle vollständigen und aktiven Coding Agents, sortiert nach Anzeigename – ohne Prüfung der Berechtigung. |
| listAllowed(sessionController) | Liefert alle aktiven Coding Agents, die der Benutzer starten darf. |
| getAllowed(id, sessionController) | Liefert einen bestimmten Coding Agent, sofern er aktiv ist und der Benutzer ihn starten darf, sonst null. |
| listTargets(sessionController) | Liefert die Ziele, die die Chat-Eingabe anbietet: die erlaubten Coding Agents und zuletzt ALBERT | AI. |
| readSettings() | Liefert Standardziel und Ruhezeit. |
Die Bibliothek liest nur. Zum Schreiben der Einstellungen – aktiv, Standardziel, Ruhezeit – gibt es im Plugin die Bibliothek /agorum/roi/customers/agorum.ai.codingagents/js/lib/config.js mit read(), validate() und write(); write() prüft die Berechtigung für die ALBERT | AI Einstellungen.
Die Angabe sessionController ist optional. Ohne sie gilt der angemeldete Benutzer; mit ihr wird die Berechtigung mit den Rechten des Benutzers dieser Sitzung geprüft.
Tipp: Damit lässt sich die Rechteprüfung auch für einen anderen Benutzer absichern als den, der den Code gerade ausführt – etwa in einem Dienst, der unter einer administrativen Sitzung läuft.
ALBERT | AI selbst ist kein Coding Agent: list(), listAllowed() und getAllowed() liefern es nie. Eine Übergabe an die Kennung albert ist deshalb nicht möglich.
Die Einrichtung von Claude Code läuft über zwei Dienste des Plugins:
| Dienst | Beschreibung |
|---|---|
| /api/rest/custom/agorum.ai.codingagents.setup/ | Mit Anmeldung. Liefert den Stand für die Oberfläche (status) und die Einrichtungsdatei (connect.cmd, connect.sh, jeweils mit ?variant=use oder ?variant=dev). Die Einrichtungsdatei enthält ein frisch ausgestelltes Einrichtungstoken. Die Berechtigung wird hier geprüft, nicht nur über den Menüeintrag. |
| /api/rest/custom/agorum.ai.codingagents.setup.noauth/ | Ohne Anmeldung, weil Claude Code und das Einrichtungsskript keine Sitzung haben. Liefert Inhalte ohne Geheimnis: Marketplace (marketplace.json), Plugin-Archive (plugin/<Name>.zip) und Einrichtungsskripte (setup.ps1, setup.sh). Einzige Ausnahme ist redeem (POST): Es tauscht das Einrichtungstoken gegen das Zugriffstoken, prüft dabei die Berechtigung erneut und ergänzt fehlende Mitgliedschaften in den Werkzeuggruppen. Die Plugin-Archive heißen agorum-core-use.zip und agorum-core-coding.zip. |
| Token | Beschreibung |
|---|---|
| Einrichtungstoken | Gilt zehn Minuten und taugt nur zum Abholen des Zugriffstokens. Innerhalb dieser Zeit lässt es sich mehrfach einlösen. Es ist mit einem eigenen Geheimnis des Plugins signiert und nicht mit dem des Systems – an der MCP-Schnittstelle ist es damit wertlos. Die Variante, für die es ausgestellt wurde, steht im Token selbst und lässt sich beim Einlösen nicht ändern. |
| Zugriffstoken | Ein JWT des Benutzers ohne Ablaufdatum, ausgestellt auf demselben Weg wie über den JWT-Generator. Zurückziehen siehe ALBERT l AI Coding Agents berechtigen. |
Hinweis: Das Einrichtungstoken wird beim Einlösen im eigenen Header X-Agorum-Setup-Token übergeben, nicht als Authorization: Bearer und nicht als Parameter. So landet es weder in Protokollen noch in Zwischenspeichern.
Welche Plugins das Marketplace anbietet, ergibt sich aus den Skills, die auf dem System vorhanden sind: Die Variante zum Arbeiten enthält den Skill agorum-core-ai-use, die Variante zum Entwickeln die Skills agorum-core-ai-coding und agorum-core-ai-backend. Fehlt ein Skill-Ordner, wird die Variante nicht angeboten. Die Version eines Plugins ist die Version seines ersten Skills.
| Gegenstand | Ort |
|---|---|
| Konfigurationsprojekt | agorum.ai.codingagents |
| Bibliothek zur Liste der Coding Agents und Übergabe eines Chats | im Plugin ALBERT | AI (agorum.ai), unter js/lib/coding-agents.js und js/lib/chat-handover.js |
| Protokollierung der Sitzungen | im Plugin selbst: Handler-Konfiguration agorum_ai_codingagents_sessions (Anzeigename Coding Agents: Sitzungen protokollieren), Erkennungsregeln unter js/lib/sessions/session-rules.js |
| KI-Wissen zum Plugin | im Plugin selbst, unter ai/knowledge/agorum-core-development/project-infos/agorum.ai.codingagents |
| Skills, Werkzeuge und Werkzeuggruppen | nicht hier, sondern in den Plugins ALBERT | AI Agents und ALBERT | AI Dev |