main
- Message-Teile liegen im Feld content (nicht parts — SDK-Typen sagen parts; beide werden gelesen) - Persistenz-Lag: Tool-Part ist zur Evaluations-Zeit ggf. noch nicht im Message-Kontext — Text-Parts der Call-Message gelten dann als Erklärung (liegen per Definition vor dem Call) - execute.before-Event: Tool-Call-ID im Feld id (callID-Fallback bleibt) plus messageID/agent — Shape per Diagnose-Plugin verifiziert - Event-Namen im Stream: permission.asked/replied (präfix-tolerant) - inspectCallContext mit DEBUG-Instrumentation (nMsgs/msgFound/partTypes) E2E vm-test: plugin-loaded 2.0.0, Config-Lesung (Managed+Global+Projekt, V1-Map), System-Regel je Model-Request (Modell erklärt im Zitat-Block- Format), evaluate allow+ask (bash→shell-Normalisierung), ask + ask.explained mit echter Modell-Erklärung. Mock-Tests 17+5 grün.
opencode-plugins — kanonische Plugin-Sammlung für opencode
Dieses Repo ist die eine Wahrheitsquelle für opencode-Plugins der AZ-Gruppe.
Es ist ein reines Content-Repo: hier leben nur die Plugin-Dateien plus ihre
Doku — die Technik, die sie ausliefert, gehört in das Fleet-Repo az-fleet.
Das Repos ist anonym lesbar (kein Token für Pulls nötig), Schreiben läuft über die Organisation AZ-Intec-GmbH.
Enthaltene Plugins
| Plugin | Zweck | Version |
|---|---|---|
explain-permissions/ |
Erklärt jeden freigabepflichtigen Tool-Call laienverständlich (Was/Folgen/Risiko) als hervorgehobener Zitat-Block, Desktop-Notification + Audit-Log | v1.3.0 |
Struktur & Konventionen
opencode-plugins/
└── <plugin-name>/
├── <plugin-name>.js # die Plugin-Datei (genau eine pro Plugin)
└── README.md # Doku: Zweck, Env-Variablen, Logs, Neustart-Hinweis
- Ein Ordner pro Plugin, Name = Plugin-Name (kebab-case, keine Umlaute).
- Version steht in
PLUGIN_VERSIONim Dateikopf des Plugins. - Tags sind pro Plugin benamst:
<plugin-name>/v<version>— z. B.explain-permissions/v1.1.0. So kollidieren Versionen verschiedener Plugins nie. Ein Tag markiert immer exakt den Plugin-Stand bei Freigabe. - Neue Plugins: Ordner anlegen, in der Tabelle oben eintragen, Commit + Tag.
Bezug
Lokale Workstation (Checkout + Symlink)
git clone https://git.az-gruppe.com/AZ-Intec-GmbH/opencode-plugins.git ~/p/AZ/opencode-plugins
ln -sf ~/p/AZ/opencode-plugins/<plugin-name>/<plugin-name>.js ~/.config/opencode/plugins/<plugin-name>.js
Danach opencode neu starten. Wichtig: nur EINE Datei dieses Namens im Plugin-Ordner — sonst lädt opencode das Plugin doppelt.
Fleet (az-fleet)
Pin auf einen Tag (<plugin-name>/v<version>) oder main; anonymes
git clone über HTTPS reicht.
Languages
JavaScript
100%