Durchsuchbare Dokumentation aufrufen | Zurück zur Dokumentationsübersicht

Navigation: Dokumentationen agorum core > agorum core Module und Plugins > ALBERT l AI Coding Agents


ALBERT l AI Coding Agents anpassen

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 und welche Dienste die Einrichtung bereitstellt.

Die Liste der Coding Agents

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.

Einen weiteren Coding Agent ergänzen

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.

  1. Legen Sie eine Benutzergruppe für den Coding Agent an.
  2. Legen Sie eine ACL an, die dieser Gruppe Leserecht gibt. Setzen Sie an der ACL die Einstellung, dass sie auch für Administratoren gilt – so halten es die mitgelieferten ACLs, und nur so steuert die Gruppe den Zugang wirklich.
  3. Legen Sie in der MetaDB unter dem oben genannten Pfad einen Eintrag mit der Kennung des Coding Agents an, mindestens mit 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.

  4. Nehmen Sie die Benutzer in die Gruppe auf.

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.

Die Berechtigungsprüfung im eigenen Code verwenden

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 Einrichtungsdienste

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.

Wo was liegt

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
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