Ein Plugin bündelt Erweiterungen für Code und Cowork in einem Ordner. Es kann drei Dinge mitbringen:
- Skills: Anleitungen, die der Agent bei passender Aufgabe liest.
- Hooks: Befehle, die bei festen Ereignissen eines Laufs auf Ihrem Rechner laufen, beschrieben unter Hooks.
- MCP-Server: lokale Programme, die dem Agenten weitere Werkzeuge anbieten, wie unter Lokale MCP-Server.
Sie verwalten Plugins unter Einstellungen → Desktop-App → Plugins.
Hooks und MCP-Server eines Plugins führen Befehle mit Ihren Rechten auf diesem Gerät aus. Fügen Sie nur Plugins aus Quellen hinzu, denen Sie vertrauen, und geben Sie nur Befehle frei, die Sie verstehen.
Aufbau eines Plugins
Im Ordner liegt ein Manifest unter .deutschlandgpt-plugin/plugin.json.
{
"name": "kanzlei-toolkit",
"version": "1.2.0",
"description": "Vorlagen und Prüfungen für Schriftsätze",
"author": { "name": "Beispiel GmbH" },
"skills": "./skills/",
"hooks": "./hooks/hooks.json",
"mcpServers": {
"akten": {
"command": "node",
"args": ["${DGPT_PLUGIN_ROOT}/server.mjs"],
"env": { "AKTEN_CACHE": "${DGPT_PLUGIN_DATA}/cache" }
}
},
"requires": { "app": ">=0.16.0", "runtimes": ["node"] },
"surfaces": ["code", "cowork"]
}
| Feld | Bedeutung |
|---|---|
name | Pflicht. Kleinbuchstaben, Ziffern und Bindestrich, höchstens 32 Zeichen |
version | die Version des Plugins, etwa 1.2.0 |
description | eine kurze Beschreibung, die in den Einstellungen erscheint |
author | ein Name als Text oder ein Objekt mit name, email und url |
skills | Ordner mit Skills. Standard ist ./skills/. Jeder Skill ist ein eigener Ordner mit einer SKILL.md |
hooks | Pfad zu einer Hook-Datei, Standard hooks/hooks.json, oder die Hooks direkt im Manifest. Das Format ist dasselbe wie in den Hook-Einstellungen |
mcpServers | Pfad zu einer Server-Datei, Standard .mcp.json, oder die Server direkt im Manifest, als Objekt mcpServers mit einem Eintrag je Servername |
requires | app nennt die nötige App-Version, etwa ">=0.16.0". runtimes nennt Programme, die auf dem Rechner vorhanden sein müssen, etwa node |
surfaces | "code", "cowork" oder beide. Ohne Angabe gilt das Plugin für beide |
In Befehlen, Argumenten und Variablen ersetzt die App diese Platzhalter:
${DGPT_PLUGIN_ROOT}: der Ordner des Plugins.${DGPT_PLUGIN_DATA}: ein eigener Datenordner des Plugins, der bei einem Versionswechsel erhalten bleibt.
Plugin hinzufügen
Klicken Sie auf Plugin-Ordner hinzufügen und wählen Sie den Ordner aus. Die App prüft das Manifest und kopiert den Ordner nach ~/.deutschlandgpt/plugins/cache/local/<name>/<version>/. Ihr Quellordner bleibt unberührt, und die App arbeitet nur mit der Kopie. Haben Sie das Plugin weiterentwickelt, fügen Sie den Ordner erneut hinzu, damit die App den neuen Stand übernimmt.
Jede Karte zeigt Name, Version, Beschreibung und Autor, die Bestandteile des Plugins und seinen Status. Fehlt ein Programm aus requires.runtimes oder ist die App älter als verlangt, steht das ebenfalls auf der Karte. Mit dem Schalter schalten Sie ein Plugin aus, ohne es zu entfernen. Entfernen löscht die Kopie und die Daten des Plugins von diesem Rechner.
Skills aus Plugins
Skills eines Plugins heißen <plugin>:<skill>, zum Beispiel kanzlei-toolkit:schriftsatz. So überdecken sie nie einen Skill aus Ihrem Projekt oder Ihren eigenen Skills. Skills führen nichts aus und stehen deshalb ohne Freigabe bereit, sobald das Plugin eingeschaltet ist. Werkzeuge, die ein Skill unter allowed-tools ohne Rückfrage erlaubt, gelten nur, wenn Sie das Plugin freigegeben haben.
Freigabe von Hooks und MCP-Servern
Hooks und MCP-Server eines Plugins laufen erst, wenn Sie sie freigegeben haben. Mit Prüfen und freigeben zeigt die App jeden Hook mit Ereignis, Matcher und Befehl wörtlich und jeden MCP-Server mit seiner Befehlszeile oder Adresse, seinem Arbeitsordner und seinen Umgebungsvariablen samt Werten. Ihre Freigabe gilt genau für diesen Stand.
Die App fragt erneut, wenn sich ein Hook oder ein Server ändert, auch nach einem Versionswechsel. Bis dahin zeigt die Karte Geändert seit der Freigabe und die Befehle laufen nicht. Wurden Dateien der Kopie außerhalb der App geändert, zeigt die Karte Beschädigt und nichts aus dem Plugin läuft. Fügen Sie den Ordner dann erneut hinzu. Mit Freigabe zurückziehen stoppen Sie die Befehle wieder, auch bei einem ausgeschalteten oder von Ihrer Organisation gesperrten Plugin.
Hooks aus Plugins können eine Aktion nur blockieren oder eine Rückfrage auslösen. Erlauben können sie nichts, wofür die App sonst fragen würde.
Die MCP-Server eines Plugins heißen p-<plugin>-<server>, ihre Werkzeuge mcp__p-<plugin>-<server>__<werkzeug>. Ein Werkzeugname ist höchstens 64 Zeichen lang. Bei langen Namen kürzt die App und hängt eine kurze Prüfsumme an, damit Namen mit gleichem Anfang verschieden bleiben. Sie finden diese Server auch unter Integrationen, verwaltet werden sie aber hier.
Regeln Ihrer Organisation
Mit dem Schalter Plugins mit eigenen Befehlen unter Organisation → Werkzeug-Richtlinien entscheidet die Verwaltung, ob Plugins Befehle auf dem Rechner der Mitglieder starten dürfen. Ist er aus, nutzen Sie die Skills weiterhin, Hooks und MCP-Server aus Plugins laufen aber nicht, auch wenn Sie sie schon freigegeben haben. Die Karte zeigt dann Gesperrt durch Organisation.
Was noch nicht geht
- Plugins aus einem Marketplace installieren. Die App liest Plugins bisher nur aus einem lokalen Ordner.
- Commands, Agents, Rules und Instruktionen aus einem Plugin. Die Karte nennt solche Teile mit dem Hinweis, dass sie in dieser Version noch nicht unterstützt werden.