chore(i18n): refresh de translations
This commit is contained in:
parent
159641131d
commit
cdd5c2463f
File diff suppressed because it is too large
Load Diff
174
docs/de/help/gpt54-codex-agentic-parity-maintainers.md
Normal file
174
docs/de/help/gpt54-codex-agentic-parity-maintainers.md
Normal file
@ -0,0 +1,174 @@
|
||||
---
|
||||
x-i18n:
|
||||
generated_at: "2026-04-11T15:15:49Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 910bcf7668becf182ef48185b43728bf2fa69629d6d50189d47d47b06f807a9e
|
||||
source_path: help/gpt54-codex-agentic-parity-maintainers.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# Hinweise für Maintainer zur GPT-5.4 / Codex-Parität
|
||||
|
||||
Diese Notiz erklärt, wie das GPT-5.4 / Codex-Paritätsprogramm als vier Merge-Einheiten geprüft werden kann, ohne die ursprüngliche Architektur mit sechs Verträgen zu verlieren.
|
||||
|
||||
## Merge-Einheiten
|
||||
|
||||
### PR A: strikt-agentische Ausführung
|
||||
|
||||
Verantwortet:
|
||||
|
||||
- `executionContract`
|
||||
- GPT-5-first Follow-through im selben Turn
|
||||
- `update_plan` als nicht-terminales Fortschrittstracking
|
||||
- explizite Blockiert-Zustände statt stiller Stopps nur mit Plan
|
||||
|
||||
Verantwortet nicht:
|
||||
|
||||
- Klassifizierung von Auth-/Runtime-Fehlern
|
||||
- Wahrhaftigkeit bei Berechtigungen
|
||||
- Neugestaltung von Replay/Fortsetzung
|
||||
- Paritäts-Benchmarking
|
||||
|
||||
### PR B: Wahrhaftigkeit der Runtime
|
||||
|
||||
Verantwortet:
|
||||
|
||||
- Korrektheit der Codex OAuth-Scopes
|
||||
- typisierte Klassifizierung von Provider-/Runtime-Fehlern
|
||||
- wahrheitsgemäße Verfügbarkeit von `/elevated full` und Blockiert-Gründe
|
||||
|
||||
Verantwortet nicht:
|
||||
|
||||
- Normalisierung von Tool-Schemas
|
||||
- Replay-/Liveness-Zustand
|
||||
- Benchmark-Gating
|
||||
|
||||
### PR C: Korrektheit der Ausführung
|
||||
|
||||
Verantwortet:
|
||||
|
||||
- providerseitige OpenAI-/Codex-Tool-Kompatibilität
|
||||
- parameterfreie strikte Schema-Behandlung
|
||||
- Sichtbarmachung von Replay-Invalid
|
||||
- Sichtbarkeit von pausierten, blockierten und aufgegebenen Langzeit-Task-Zuständen
|
||||
|
||||
Verantwortet nicht:
|
||||
|
||||
- selbstgewählte Fortsetzung
|
||||
- generisches Codex-Dialektverhalten außerhalb von Provider-Hooks
|
||||
- Benchmark-Gating
|
||||
|
||||
### PR D: Paritäts-Harness
|
||||
|
||||
Verantwortet:
|
||||
|
||||
- erste Welle des GPT-5.4-vs-Opus-4.6-Szenariopakets
|
||||
- Paritätsdokumentation
|
||||
- Paritätsbericht und Release-Gate-Mechanik
|
||||
|
||||
Verantwortet nicht:
|
||||
|
||||
- Änderungen des Runtime-Verhaltens außerhalb von QA-lab
|
||||
- Auth-/Proxy-/DNS-Simulation innerhalb des Harness
|
||||
|
||||
## Rückabbildung auf die ursprünglichen sechs Verträge
|
||||
|
||||
| Ursprünglicher Vertrag | Merge-Einheit |
|
||||
| ---------------------------------------- | ------------- |
|
||||
| Korrektheit von Provider-Transport/Auth | PR B |
|
||||
| Kompatibilität von Tool-Vertrag/Schema | PR C |
|
||||
| Ausführung im selben Turn | PR A |
|
||||
| Wahrhaftigkeit bei Berechtigungen | PR B |
|
||||
| Korrektheit von Replay/Fortsetzung/Liveness | PR C |
|
||||
| Benchmark-/Release-Gate | PR D |
|
||||
|
||||
## Prüf-Reihenfolge
|
||||
|
||||
1. PR A
|
||||
2. PR B
|
||||
3. PR C
|
||||
4. PR D
|
||||
|
||||
PR D ist die Nachweis-Schicht. Sie sollte nicht der Grund sein, warum PRs zur Runtime-Korrektheit verzögert werden.
|
||||
|
||||
## Worauf zu achten ist
|
||||
|
||||
### PR A
|
||||
|
||||
- GPT-5-Läufe handeln oder scheitern geschlossen, statt bei Kommentaren zu stoppen
|
||||
- `update_plan` sieht für sich allein nicht mehr wie Fortschritt aus
|
||||
- das Verhalten bleibt GPT-5-first und auf Embedded-Pi beschränkt
|
||||
|
||||
### PR B
|
||||
|
||||
- Auth-/Proxy-/Runtime-Fehler werden nicht mehr in generische „Modell fehlgeschlagen“-Behandlung zusammengefasst
|
||||
- `/elevated full` wird nur dann als verfügbar beschrieben, wenn es tatsächlich verfügbar ist
|
||||
- Blockiert-Gründe sind sowohl für das Modell als auch für die benutzerseitige Runtime sichtbar
|
||||
|
||||
### PR C
|
||||
|
||||
- strikte OpenAI-/Codex-Tool-Registrierung verhält sich vorhersehbar
|
||||
- parameterfreie Tools scheitern nicht an strikten Schema-Prüfungen
|
||||
- Replay- und Compaction-Ergebnisse bewahren einen wahrheitsgemäßen Liveness-Zustand
|
||||
|
||||
### PR D
|
||||
|
||||
- das Szenariopaket ist verständlich und reproduzierbar
|
||||
- das Paket enthält eine mutierende Replay-Sicherheits-Lane, nicht nur schreibgeschützte Abläufe
|
||||
- Berichte sind für Menschen und Automatisierung lesbar
|
||||
- Paritätsaussagen sind durch Belege gestützt, nicht anekdotisch
|
||||
|
||||
Erwartete Artefakte aus PR D:
|
||||
|
||||
- `qa-suite-report.md` / `qa-suite-summary.json` für jeden Modelllauf
|
||||
- `qa-agentic-parity-report.md` mit Aggregat- und szenariobezogenem Vergleich
|
||||
- `qa-agentic-parity-summary.json` mit einem maschinenlesbaren Urteil
|
||||
|
||||
## Release-Gate
|
||||
|
||||
Keine Parität oder Überlegenheit von GPT-5.4 gegenüber Opus 4.6 behaupten, bis:
|
||||
|
||||
- PR A, PR B und PR C gemergt sind
|
||||
- PR D das Paritäts-Paket der ersten Welle fehlerfrei ausführt
|
||||
- Regressions-Suites zur Runtime-Wahrhaftigkeit grün bleiben
|
||||
- der Paritätsbericht keine Fake-Success-Fälle und keine Regression im Stopp-Verhalten zeigt
|
||||
|
||||
```mermaid
|
||||
flowchart LR
|
||||
A["PR A-C gemergt"] --> B["GPT-5.4-Paritäts-Paket ausführen"]
|
||||
A --> C["Opus-4.6-Paritäts-Paket ausführen"]
|
||||
B --> D["qa-suite-summary.json"]
|
||||
C --> E["qa-suite-summary.json"]
|
||||
D --> F["qa parity-report"]
|
||||
E --> F
|
||||
F --> G["Markdown-Bericht + JSON-Urteil"]
|
||||
G --> H{"Bestanden?"}
|
||||
H -- "ja" --> I["Paritätsaussage erlaubt"]
|
||||
H -- "nein" --> J["Runtime-Fixes / Prüf-Schleife offen halten"]
|
||||
```
|
||||
|
||||
Das Paritäts-Harness ist nicht die einzige Belegquelle. Diese Aufteilung in der Prüfung klar beibehalten:
|
||||
|
||||
- PR D verantwortet den szenariobasierten Vergleich GPT-5.4 vs Opus 4.6
|
||||
- deterministische Suites aus PR B verantworten weiterhin den Nachweis für Auth/Proxy/DNS und Wahrhaftigkeit bei vollem Zugriff
|
||||
|
||||
## Zuordnung Ziel zu Nachweis
|
||||
|
||||
| Element des Completion-Gates | Hauptverantwortlicher | Prüfartefakt |
|
||||
| ---------------------------------------- | --------------------- | ------------------------------------------------------------------- |
|
||||
| Keine Stopps nur mit Plan | PR A | strict-agentic-Runtime-Tests und `approval-turn-tool-followthrough` |
|
||||
| Kein Fake-Fortschritt oder Fake-Tool-Abschluss | PR A + PR D | Anzahl der Fake-Success-Fälle bei Parität plus szenariobezogene Berichtsdetails |
|
||||
| Keine falsche `/elevated full`-Anleitung | PR B | deterministische Runtime-Wahrhaftigkeits-Suites |
|
||||
| Replay-/Liveness-Fehler bleiben explizit | PR C + PR D | Lifecycle-/Replay-Suites plus `compaction-retry-mutating-tool` |
|
||||
| GPT-5.4 entspricht Opus 4.6 oder übertrifft es | PR D | `qa-agentic-parity-report.md` und `qa-agentic-parity-summary.json` |
|
||||
|
||||
## Prüfer-Kurzform: vorher vs nachher
|
||||
|
||||
| Zuvor benutzersichtbares Problem | Prüfsignal nachher |
|
||||
| ----------------------------------------------------------- | --------------------------------------------------------------------------------------- |
|
||||
| GPT-5.4 stoppte nach der Planung | PR A zeigt Handeln-oder-Blockieren-Verhalten statt Abschluss nur mit Kommentar |
|
||||
| Tool-Nutzung wirkte mit strikten OpenAI-/Codex-Schemas fragil | PR C hält Tool-Registrierung und parameterfreie Aufrufe vorhersehbar |
|
||||
| Hinweise zu `/elevated full` waren manchmal irreführend | PR B bindet Hinweise an die tatsächliche Runtime-Fähigkeit und Blockiert-Gründe |
|
||||
| Langzeit-Tasks konnten in Replay-/Compaction-Mehrdeutigkeit verschwinden | PR C gibt explizite Zustände für pausiert, blockiert, aufgegeben und replay-invalid aus |
|
||||
| Paritätsaussagen waren anekdotisch | PR D erstellt einen Bericht plus JSON-Urteil mit derselben Szenarioabdeckung für beide Modelle |
|
||||
229
docs/de/help/gpt54-codex-agentic-parity.md
Normal file
229
docs/de/help/gpt54-codex-agentic-parity.md
Normal file
@ -0,0 +1,229 @@
|
||||
---
|
||||
x-i18n:
|
||||
generated_at: "2026-04-11T15:15:49Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 7ee6b925b8a0f8843693cea9d50b40544657b5fb8a9e0860e2ff5badb273acb6
|
||||
source_path: help/gpt54-codex-agentic-parity.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# GPT-5.4 / Codex Agentic-Parität in OpenClaw
|
||||
|
||||
OpenClaw funktionierte bereits gut mit Frontier-Modellen, die Tools verwenden, aber GPT-5.4- und Codex-ähnliche Modelle blieben in einigen praktischen Punkten noch hinter den Erwartungen zurück:
|
||||
|
||||
- sie konnten nach der Planung aufhören, statt die Arbeit auszuführen
|
||||
- sie konnten strikte OpenAI/Codex-Tool-Schemata falsch verwenden
|
||||
- sie konnten nach `/elevated full` fragen, selbst wenn voller Zugriff unmöglich war
|
||||
- sie konnten bei Replay oder Kompaktierung den Status langlaufender Aufgaben verlieren
|
||||
- Paritätsaussagen gegenüber Claude Opus 4.6 basierten auf Anekdoten statt auf wiederholbaren Szenarien
|
||||
|
||||
Dieses Paritätsprogramm schließt diese Lücken in vier überprüfbaren Teilbereichen.
|
||||
|
||||
## Was sich geändert hat
|
||||
|
||||
### PR A: strikte agentische Ausführung
|
||||
|
||||
Dieser Teilbereich ergänzt einen optionalen `strict-agentic`-Ausführungsvertrag für eingebettete Pi-GPT-5-Läufe.
|
||||
|
||||
Wenn aktiviert, akzeptiert OpenClaw rein planbasierte Züge nicht mehr als „ausreichend gute“ Fertigstellung. Wenn das Modell nur sagt, was es tun will, und weder tatsächlich Tools verwendet noch Fortschritt macht, versucht OpenClaw es erneut mit einer „jetzt handeln“-Steuerung und schlägt dann explizit mit einem blockierten Status fehl, statt die Aufgabe stillschweigend zu beenden.
|
||||
|
||||
Das verbessert die GPT-5.4-Erfahrung besonders bei:
|
||||
|
||||
- kurzen „ok mach es“-Nachfassaktionen
|
||||
- Code-Aufgaben, bei denen der erste Schritt offensichtlich ist
|
||||
- Abläufen, bei denen `update_plan` Fortschrittsverfolgung statt Fülltext sein sollte
|
||||
|
||||
### PR B: Laufzeitwahrhaftigkeit
|
||||
|
||||
Dieser Teilbereich sorgt dafür, dass OpenClaw in zwei Punkten die Wahrheit sagt:
|
||||
|
||||
- warum der Provider-/Laufzeitaufruf fehlgeschlagen ist
|
||||
- ob `/elevated full` tatsächlich verfügbar ist
|
||||
|
||||
Das bedeutet, dass GPT-5.4 bessere Laufzeitsignale für fehlenden Scope, fehlgeschlagene Auth-Aktualisierungen, HTML-403-Auth-Fehler, Proxy-Probleme, DNS- oder Timeout-Fehler und blockierte Vollzugriffsmodi erhält. Das Modell halluziniert dadurch seltener die falsche Abhilfemaßnahme oder fordert weiter einen Berechtigungsmodus an, den die Laufzeit nicht bereitstellen kann.
|
||||
|
||||
### PR C: Ausführungskorrektheit
|
||||
|
||||
Dieser Teilbereich verbessert zwei Arten von Korrektheit:
|
||||
|
||||
- provider-eigene OpenAI/Codex-Tool-Schema-Kompatibilität
|
||||
- Sichtbarmachung von Replay und Langzeitaufgaben-Lebendigkeit
|
||||
|
||||
Die Tool-Kompatibilitätsarbeit reduziert Schema-Reibung bei strikter OpenAI/Codex-Tool-Registrierung, insbesondere bei parameterlosen Tools und strikten Erwartungen an ein Object-Root. Die Replay-/Lebendigkeitsarbeit macht langlaufende Aufgaben besser beobachtbar, sodass pausierte, blockierte und aufgegebene Zustände sichtbar sind, statt in generischem Fehlertext zu verschwinden.
|
||||
|
||||
### PR D: Paritätsharness
|
||||
|
||||
Dieser Teilbereich fügt das erste QA-lab-Paritätspaket hinzu, damit GPT-5.4 und Opus 4.6 durch dieselben Szenarien geführt und anhand gemeinsamer Belege verglichen werden können.
|
||||
|
||||
Das Paritätspaket ist die Nachweisebene. Es verändert das Laufzeitverhalten selbst nicht.
|
||||
|
||||
Sobald zwei `qa-suite-summary.json`-Artefakte vorliegen, erzeugen Sie den Vergleich für das Release-Gate mit:
|
||||
|
||||
```bash
|
||||
pnpm openclaw qa parity-report \
|
||||
--repo-root . \
|
||||
--candidate-summary .artifacts/qa-e2e/gpt54/qa-suite-summary.json \
|
||||
--baseline-summary .artifacts/qa-e2e/opus46/qa-suite-summary.json \
|
||||
--output-dir .artifacts/qa-e2e/parity
|
||||
```
|
||||
|
||||
Dieser Befehl schreibt:
|
||||
|
||||
- einen menschenlesbaren Markdown-Bericht
|
||||
- ein maschinenlesbares JSON-Urteil
|
||||
- ein explizites `pass`- / `fail`-Gate-Ergebnis
|
||||
|
||||
## Warum das GPT-5.4 in der Praxis verbessert
|
||||
|
||||
Vor dieser Arbeit konnte sich GPT-5.4 auf OpenClaw in realen Coding-Sitzungen weniger agentisch anfühlen als Opus, weil die Laufzeit Verhaltensweisen tolerierte, die für Modelle im GPT-5-Stil besonders schädlich sind:
|
||||
|
||||
- rein kommentierende Züge
|
||||
- Schema-Reibung bei Tools
|
||||
- vages Berechtigungsfeedback
|
||||
- stilles Versagen bei Replay oder Kompaktierung
|
||||
|
||||
Das Ziel ist nicht, GPT-5.4 dazu zu bringen, Opus zu imitieren. Das Ziel ist, GPT-5.4 einen Laufzeitvertrag zu geben, der echten Fortschritt belohnt, klarere Tool- und Berechtigungssemantik liefert und Fehlermodi in explizite, maschinen- und menschenlesbare Zustände verwandelt.
|
||||
|
||||
Dadurch ändert sich die Benutzererfahrung von:
|
||||
|
||||
- „das Modell hatte einen guten Plan, hat aber aufgehört“
|
||||
|
||||
zu:
|
||||
|
||||
- „das Modell hat entweder gehandelt, oder OpenClaw hat den genauen Grund angezeigt, warum es nicht konnte“
|
||||
|
||||
## Vorher vs. nachher für GPT-5.4-Nutzer
|
||||
|
||||
| Vor diesem Programm | Nach PR A-D |
|
||||
| -------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- |
|
||||
| GPT-5.4 konnte nach einem vernünftigen Plan aufhören, ohne den nächsten Tool-Schritt zu tun | PR A macht aus „nur planen“ „jetzt handeln oder einen blockierten Status anzeigen“ |
|
||||
| Strikte Tool-Schemata konnten parameterlose oder OpenAI/Codex-geformte Tools verwirrend ablehnen | PR C macht provider-eigene Tool-Registrierung und -Aufruf vorhersehbarer |
|
||||
| Die Anleitung zu `/elevated full` konnte in blockierten Laufzeiten vage oder falsch sein | PR B gibt GPT-5.4 und dem Nutzer wahrheitsgemäße Laufzeit- und Berechtigungshinweise |
|
||||
| Replay- oder Kompaktierungsfehler konnten wirken, als sei die Aufgabe still verschwunden | PR C zeigt pausierte, blockierte, aufgegebene und replay-ungültige Ergebnisse explizit |
|
||||
| „GPT-5.4 fühlt sich schlechter an als Opus“ war meist anekdotisch | PR D macht daraus dasselbe Szenariopaket, dieselben Metriken und ein hartes Pass/Fail-Gate |
|
||||
|
||||
## Architektur
|
||||
|
||||
```mermaid
|
||||
flowchart TD
|
||||
A["User request"] --> B["Embedded Pi runtime"]
|
||||
B --> C["Strict-agentic execution contract"]
|
||||
B --> D["Provider-owned tool compatibility"]
|
||||
B --> E["Runtime truthfulness"]
|
||||
B --> F["Replay and liveness state"]
|
||||
C --> G["Tool call or explicit blocked state"]
|
||||
D --> G
|
||||
E --> G
|
||||
F --> G
|
||||
G --> H["QA-lab parity pack"]
|
||||
H --> I["Scenario report and parity gate"]
|
||||
```
|
||||
|
||||
## Release-Ablauf
|
||||
|
||||
```mermaid
|
||||
flowchart LR
|
||||
A["Merged runtime slices (PR A-C)"] --> B["Run GPT-5.4 parity pack"]
|
||||
A --> C["Run Opus 4.6 parity pack"]
|
||||
B --> D["qa-suite-summary.json"]
|
||||
C --> E["qa-suite-summary.json"]
|
||||
D --> F["openclaw qa parity-report"]
|
||||
E --> F
|
||||
F --> G["qa-agentic-parity-report.md"]
|
||||
F --> H["qa-agentic-parity-summary.json"]
|
||||
H --> I{"Gate pass?"}
|
||||
I -- "yes" --> J["Evidence-backed parity claim"]
|
||||
I -- "no" --> K["Keep runtime/review loop open"]
|
||||
```
|
||||
|
||||
## Szenariopaket
|
||||
|
||||
Das Paritätspaket der ersten Welle deckt derzeit fünf Szenarien ab:
|
||||
|
||||
### `approval-turn-tool-followthrough`
|
||||
|
||||
Prüft, dass das Modell nach einer kurzen Zustimmung nicht bei „Ich mache das“ stehen bleibt. Es sollte im selben Zug die erste konkrete Aktion ausführen.
|
||||
|
||||
### `model-switch-tool-continuity`
|
||||
|
||||
Prüft, dass Tool-gestützte Arbeit über Modell-/Laufzeitwechsel hinweg kohärent bleibt, statt in Kommentare zurückzufallen oder den Ausführungskontext zu verlieren.
|
||||
|
||||
### `source-docs-discovery-report`
|
||||
|
||||
Prüft, dass das Modell Quellcode und Dokumentation lesen, Ergebnisse synthetisieren und die Aufgabe agentisch fortsetzen kann, statt nur eine dünne Zusammenfassung zu liefern und früh zu stoppen.
|
||||
|
||||
### `image-understanding-attachment`
|
||||
|
||||
Prüft, dass gemischte Aufgaben mit Anhängen handlungsfähig bleiben und nicht in vage Beschreibung zusammenbrechen.
|
||||
|
||||
### `compaction-retry-mutating-tool`
|
||||
|
||||
Prüft, dass eine Aufgabe mit einer echten verändernden Schreiboperation Replay-Unsicherheit explizit hält, statt stillschweigend replay-sicher zu wirken, wenn der Lauf unter Druck kompaktiert, erneut versucht wird oder den Antwortstatus verliert.
|
||||
|
||||
## Szenariomatrix
|
||||
|
||||
| Szenario | Was es testet | Gutes GPT-5.4-Verhalten | Fehlersignal |
|
||||
| ---------------------------------- | ------------------------------------------ | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
|
||||
| `approval-turn-tool-followthrough` | Kurze Zustimmungszüge nach einem Plan | Startet die erste konkrete Tool-Aktion sofort, statt nur die Absicht zu wiederholen | nur planbasierte Nachfolge, keine Tool-Aktivität oder blockierter Zug ohne echten Blocker |
|
||||
| `model-switch-tool-continuity` | Laufzeit-/Modellwechsel unter Tool-Nutzung | Behält den Aufgabenkontext bei und handelt kohärent weiter | fällt in Kommentare zurück, verliert Tool-Kontext oder stoppt nach dem Wechsel |
|
||||
| `source-docs-discovery-report` | Quellcode lesen + synthetisieren + handeln | Findet Quellen, verwendet Tools und erstellt einen nützlichen Bericht ohne Stocken | dünne Zusammenfassung, fehlende Tool-Arbeit oder unvollständiger Zug-Stopp |
|
||||
| `image-understanding-attachment` | agentische Arbeit auf Basis von Anhängen | Interpretiert den Anhang, verbindet ihn mit Tools und setzt die Aufgabe fort | vage Beschreibung, Anhang ignoriert oder keine konkrete nächste Aktion |
|
||||
| `compaction-retry-mutating-tool` | verändernde Arbeit unter Kompaktierungsdruck | Führt eine echte Schreiboperation aus und hält Replay-Unsicherheit nach dem Seiteneffekt explizit | verändernde Schreiboperation passiert, aber Replay-Sicherheit wird impliziert, fehlt oder ist widersprüchlich |
|
||||
|
||||
## Release-Gate
|
||||
|
||||
GPT-5.4 kann nur dann als auf Parität oder besser betrachtet werden, wenn die zusammengeführte Laufzeit gleichzeitig das Paritätspaket und die Regressionen zur Laufzeitwahrhaftigkeit besteht.
|
||||
|
||||
Erforderliche Ergebnisse:
|
||||
|
||||
- kein rein planbasierter Stillstand, wenn die nächste Tool-Aktion klar ist
|
||||
- keine vorgetäuschte Fertigstellung ohne echte Ausführung
|
||||
- keine falsche `/elevated full`-Anleitung
|
||||
- kein stilles Aufgeben bei Replay oder Kompaktierung
|
||||
- Paritätspaket-Metriken, die mindestens so stark sind wie die vereinbarte Opus-4.6-Baseline
|
||||
|
||||
Für das Harness der ersten Welle vergleicht das Gate:
|
||||
|
||||
- Abschlussrate
|
||||
- Rate unbeabsichtigter Stopps
|
||||
- Rate gültiger Tool-Aufrufe
|
||||
- Anzahl vorgetäuschter Erfolge
|
||||
|
||||
Die Paritätsbelege sind absichtlich auf zwei Ebenen aufgeteilt:
|
||||
|
||||
- PR D belegt mit QA-lab dasselbe Szenarioverhalten von GPT-5.4 vs. Opus 4.6
|
||||
- deterministische Suiten aus PR B belegen Auth-, Proxy-, DNS- und `/elevated full`-Wahrhaftigkeit außerhalb des Harness
|
||||
|
||||
## Ziel-zu-Beleg-Matrix
|
||||
|
||||
| Element des Abschluss-Gates | Zuständige PR | Belegquelle | Pass-Signal |
|
||||
| --------------------------------------------------------- | ------------- | ------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
|
||||
| GPT-5.4 bleibt nach der Planung nicht länger stehen | PR A | `approval-turn-tool-followthrough` plus PR-A-Laufzeitsuiten | Zustimmungszüge lösen echte Arbeit oder einen explizit blockierten Status aus |
|
||||
| GPT-5.4 täuscht keinen Fortschritt und keine Tool-Fertigstellung mehr vor | PR A + PR D | Szenarioergebnisse des Paritätsberichts und Anzahl vorgetäuschter Erfolge | keine verdächtigen Pass-Ergebnisse und keine rein kommentierende Fertigstellung |
|
||||
| GPT-5.4 gibt keine falsche `/elevated full`-Anleitung mehr | PR B | deterministische Wahrhaftigkeitssuiten | blockierte Gründe und Vollzugriffshinweise bleiben laufzeitgenau |
|
||||
| Replay-/Lebendigkeitsfehler bleiben explizit | PR C + PR D | PR-C-Lebenszyklus-/Replay-Suiten plus `compaction-retry-mutating-tool` | verändernde Arbeit hält Replay-Unsicherheit explizit, statt stillschweigend zu verschwinden |
|
||||
| GPT-5.4 erreicht oder übertrifft Opus 4.6 bei den vereinbarten Metriken | PR D | `qa-agentic-parity-report.md` und `qa-agentic-parity-summary.json` | dieselbe Szenarioabdeckung und keine Regression bei Abschluss, Stoppverhalten oder gültiger Tool-Nutzung |
|
||||
|
||||
## So lesen Sie das Paritätsurteil
|
||||
|
||||
Verwenden Sie das Urteil in `qa-agentic-parity-summary.json` als endgültige maschinenlesbare Entscheidung für das Paritätspaket der ersten Welle.
|
||||
|
||||
- `pass` bedeutet, dass GPT-5.4 dieselben Szenarien wie Opus 4.6 abgedeckt hat und bei den vereinbarten aggregierten Metriken keine Regression gezeigt hat.
|
||||
- `fail` bedeutet, dass mindestens ein hartes Gate ausgelöst wurde: schwächerer Abschluss, schlechtere unbeabsichtigte Stopps, schwächere gültige Tool-Nutzung, ein beliebiger Fall von vorgetäuschtem Erfolg oder nicht übereinstimmende Szenarioabdeckung.
|
||||
- „shared/base CI issue“ ist für sich genommen kein Paritätsergebnis. Wenn CI-Rauschen außerhalb von PR D einen Lauf blockiert, sollte das Urteil auf eine saubere Ausführung der zusammengeführten Laufzeit warten, statt aus Logs aus der Branch-Ära abgeleitet zu werden.
|
||||
- Auth-, Proxy-, DNS- und `/elevated full`-Wahrhaftigkeit kommen weiterhin aus den deterministischen Suiten von PR B, daher benötigt die endgültige Release-Aussage beides: ein bestehendes PR-D-Paritätsurteil und grüne PR-B-Wahrhaftigkeitsabdeckung.
|
||||
|
||||
## Wer `strict-agentic` aktivieren sollte
|
||||
|
||||
Verwenden Sie `strict-agentic`, wenn:
|
||||
|
||||
- vom Agenten erwartet wird, dass er sofort handelt, wenn ein nächster Schritt offensichtlich ist
|
||||
- Modelle der GPT-5.4- oder Codex-Familie die primäre Laufzeit sind
|
||||
- Sie explizite blockierte Zustände gegenüber „hilfreichen“ Antworten bevorzugen, die nur zusammenfassen
|
||||
|
||||
Behalten Sie den Standardvertrag bei, wenn:
|
||||
|
||||
- Sie das bisherige lockerere Verhalten möchten
|
||||
- Sie keine Modelle der GPT-5-Familie verwenden
|
||||
- Sie Prompts statt Laufzeitdurchsetzung testen
|
||||
File diff suppressed because it is too large
Load Diff
@ -2,13 +2,13 @@
|
||||
read_when:
|
||||
- Sie erstellen ein OpenClaw-Plugin
|
||||
- Sie müssen ein Plugin-Konfigurationsschema bereitstellen oder Fehler bei der Plugin-Validierung beheben
|
||||
summary: Plugin-Manifest- + JSON-Schema-Anforderungen (strikte Konfigurationsvalidierung)
|
||||
summary: Plugin-Manifest- und JSON-Schema-Anforderungen (strikte Konfigurationsvalidierung)
|
||||
title: Plugin-Manifest
|
||||
x-i18n:
|
||||
generated_at: "2026-04-11T02:46:08Z"
|
||||
generated_at: "2026-04-11T15:15:59Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 6b254c121d1eb5ea19adbd4148243cf47339c960442ab1ca0e0bfd52e0154c88
|
||||
source_hash: 42d454b560a8f6bf714c5d782f34216be1216d83d0a319d08d7349332c91a9e4
|
||||
source_path: plugins/manifest.md
|
||||
workflow: 15
|
||||
---
|
||||
@ -22,24 +22,24 @@ Kompatible Bundle-Layouts finden Sie unter [Plugin-Bundles](/de/plugins/bundles)
|
||||
Kompatible Bundle-Formate verwenden andere Manifestdateien:
|
||||
|
||||
- Codex-Bundle: `.codex-plugin/plugin.json`
|
||||
- Claude-Bundle: `.claude-plugin/plugin.json` oder das Standard-Layout für Claude-Komponenten
|
||||
ohne Manifest
|
||||
- Claude-Bundle: `.claude-plugin/plugin.json` oder das standardmäßige Claude-Komponenten-
|
||||
Layout ohne Manifest
|
||||
- Cursor-Bundle: `.cursor-plugin/plugin.json`
|
||||
|
||||
OpenClaw erkennt diese Bundle-Layouts ebenfalls automatisch, sie werden jedoch nicht
|
||||
gegen das hier beschriebene Schema für `openclaw.plugin.json` validiert.
|
||||
gegen das hier beschriebene `openclaw.plugin.json`-Schema validiert.
|
||||
|
||||
Für kompatible Bundles liest OpenClaw derzeit Bundle-Metadaten sowie deklarierte
|
||||
Skill-Roots, Claude-Command-Roots, Standardwerte aus `settings.json` des Claude-Bundles,
|
||||
Claude-Bundle-LSP-Standardwerte und unterstützte Hook-Packs, wenn das Layout den
|
||||
Laufzeiterwartungen von OpenClaw entspricht.
|
||||
Skill-Stammverzeichnisse, Claude-Befehls-Stammverzeichnisse, Claude-Bundle-
|
||||
`settings.json`-Standardwerte, Claude-Bundle-LSP-Standardwerte und unterstützte Hook-Pakete,
|
||||
wenn das Layout den Laufzeiterwartungen von OpenClaw entspricht.
|
||||
|
||||
Jedes native OpenClaw-Plugin **muss** im **Plugin-Root** eine Datei `openclaw.plugin.json`
|
||||
bereitstellen. OpenClaw verwendet dieses Manifest, um die Konfiguration zu validieren,
|
||||
**ohne Plugin-Code auszuführen**. Fehlende oder ungültige Manifestdateien werden als
|
||||
Jedes native OpenClaw-Plugin **muss** eine `openclaw.plugin.json`-Datei im
|
||||
**Plugin-Stammverzeichnis** bereitstellen. OpenClaw verwendet dieses Manifest, um die Konfiguration
|
||||
**ohne Ausführung von Plugin-Code** zu validieren. Fehlende oder ungültige Manifeste werden als
|
||||
Plugin-Fehler behandelt und blockieren die Konfigurationsvalidierung.
|
||||
|
||||
Die vollständige Anleitung zum Plugin-System finden Sie unter: [Plugins](/de/tools/plugin).
|
||||
Den vollständigen Leitfaden zum Plugin-System finden Sie unter: [Plugins](/de/tools/plugin).
|
||||
Zum nativen Fähigkeitsmodell und zur aktuellen Anleitung für externe Kompatibilität:
|
||||
[Fähigkeitsmodell](/de/plugins/architecture#public-capability-model).
|
||||
|
||||
@ -52,21 +52,22 @@ Verwenden Sie sie für:
|
||||
|
||||
- Plugin-Identität
|
||||
- Konfigurationsvalidierung
|
||||
- Auth- und Onboarding-Metadaten, die verfügbar sein sollen, ohne die Plugin-
|
||||
- Authentifizierungs- und Onboarding-Metadaten, die verfügbar sein sollen, ohne die Plugin-
|
||||
Laufzeit zu starten
|
||||
- Alias- und Autoaktivierungs-Metadaten, die aufgelöst werden sollen, bevor die Plugin-Laufzeit lädt
|
||||
- Kurzschreibweise-Metadaten zur Eigentümerschaft von Modellfamilien, die das
|
||||
Plugin automatisch aktivieren sollen, bevor die Laufzeit lädt
|
||||
- statische Snapshots der Fähigkeitseigentümerschaft, die für gebündeltes Compat-Wiring und
|
||||
Vertragsabdeckung verwendet werden
|
||||
- kanalspezifische Konfigurationsmetadaten, die in Katalog- und Validierungs-
|
||||
Oberflächen zusammengeführt werden sollen, ohne die Laufzeit zu laden
|
||||
- Hinweise für die Konfigurations-UI
|
||||
- kostengünstige Aktivierungshinweise, die von Control-Plane-Oberflächen vor dem Laden der Laufzeit geprüft werden können
|
||||
- kostengünstige Einrichtungsdeskriptoren, die von Einrichtungs-/Onboarding-Oberflächen vor dem Laden der Laufzeit geprüft werden können
|
||||
- Alias- und Auto-Aktivierungs-Metadaten, die aufgelöst werden sollen, bevor die Plugin-Laufzeit geladen wird
|
||||
- Kurzform-Metadaten zur Eigentümerschaft von Modellfamilien, die das
|
||||
Plugin vor dem Laden der Laufzeit automatisch aktivieren sollen
|
||||
- statische Snapshots der Fähigkeitszuordnung, die für gebündelte Kompatibilitätsverdrahtung und Vertragsabdeckung verwendet werden
|
||||
- kanalspezifische Konfigurationsmetadaten, die in Katalog- und Validierungsoberflächen
|
||||
zusammengeführt werden sollen, ohne die Laufzeit zu laden
|
||||
- Hinweise für die Konfigurations-Benutzeroberfläche
|
||||
|
||||
Verwenden Sie sie nicht für:
|
||||
|
||||
- das Registrieren von Laufzeitverhalten
|
||||
- das Deklarieren von Code-Entrypoints
|
||||
- Registrierung von Laufzeitverhalten
|
||||
- Deklaration von Code-Einstiegspunkten
|
||||
- npm-Installationsmetadaten
|
||||
|
||||
Diese gehören in Ihren Plugin-Code und in `package.json`.
|
||||
@ -142,60 +143,62 @@ Diese gehören in Ihren Plugin-Code und in `package.json`.
|
||||
|
||||
## Referenz der Felder auf oberster Ebene
|
||||
|
||||
| Feld | Erforderlich | Typ | Bedeutung |
|
||||
| ----------------------------------- | ------------ | -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `id` | Ja | `string` | Kanonische Plugin-ID. Dies ist die ID, die in `plugins.entries.<id>` verwendet wird. |
|
||||
| `configSchema` | Ja | `object` | Inline-JSON-Schema für die Konfiguration dieses Plugins. |
|
||||
| `enabledByDefault` | Nein | `true` | Kennzeichnet ein gebündeltes Plugin als standardmäßig aktiviert. Lassen Sie das Feld weg oder setzen Sie einen beliebigen Wert ungleich `true`, damit das Plugin standardmäßig deaktiviert bleibt. |
|
||||
| `legacyPluginIds` | Nein | `string[]` | Legacy-IDs, die auf diese kanonische Plugin-ID normalisiert werden. |
|
||||
| `autoEnableWhenConfiguredProviders` | Nein | `string[]` | Provider-IDs, die dieses Plugin automatisch aktivieren sollen, wenn Auth, Konfiguration oder Modell-Referenzen sie erwähnen. |
|
||||
| `kind` | Nein | `"memory"` \| `"context-engine"` | Deklariert eine exklusive Plugin-Art, die von `plugins.slots.*` verwendet wird. |
|
||||
| `channels` | Nein | `string[]` | Kanal-IDs, die diesem Plugin gehören. Verwendet für Erkennung und Konfigurationsvalidierung. |
|
||||
| `providers` | Nein | `string[]` | Provider-IDs, die diesem Plugin gehören. |
|
||||
| `modelSupport` | Nein | `object` | Manifest-eigene Kurzschreibweise-Metadaten für Modellfamilien, die verwendet werden, um das Plugin vor der Laufzeit automatisch zu laden. |
|
||||
| `cliBackends` | Nein | `string[]` | IDs von CLI-Inferenz-Backends, die diesem Plugin gehören. Verwendet für die Autoaktivierung beim Start aus expliziten Konfigurationsreferenzen. |
|
||||
| `commandAliases` | Nein | `object[]` | Befehlsnamen, die diesem Plugin gehören und pluginbewusste Konfigurations- und CLI-Diagnosen erzeugen sollen, bevor die Laufzeit lädt. |
|
||||
| `providerAuthEnvVars` | Nein | `Record<string, string[]>` | Günstige Env-Metadaten für Provider-Auth, die OpenClaw prüfen kann, ohne Plugin-Code zu laden. |
|
||||
| `providerAuthAliases` | Nein | `Record<string, string>` | Provider-IDs, die für die Auth-Suche eine andere Provider-ID wiederverwenden sollen, z. B. ein Coding-Provider, der denselben API-Schlüssel und dieselben Auth-Profile wie der Basis-Provider verwendet. |
|
||||
| `channelEnvVars` | Nein | `Record<string, string[]>` | Günstige Env-Metadaten für Kanäle, die OpenClaw prüfen kann, ohne Plugin-Code zu laden. Verwenden Sie dies für env-gesteuertes Kanal-Setup oder Auth-Oberflächen, die generische Start-/Konfigurationshelfer sehen sollen. |
|
||||
| `providerAuthChoices` | Nein | `object[]` | Günstige Metadaten für Auth-Auswahlmöglichkeiten für Onboarding-Picker, bevorzugte Provider-Auflösung und einfache CLI-Flag-Verdrahtung. |
|
||||
| `contracts` | Nein | `object` | Statischer Snapshot gebündelter Fähigkeiten für Sprache, Echtzeit-Transkription, Echtzeit-Stimme, Medienverständnis, Bildgenerierung, Musikgenerierung, Videogenerierung, Web-Fetch, Websuche und Tool-Eigentümerschaft. |
|
||||
| `channelConfigs` | Nein | `Record<string, object>` | Manifest-eigene Metadaten zur Kanalkonfiguration, die vor dem Laden der Laufzeit in Erkennungs- und Validierungsoberflächen zusammengeführt werden. |
|
||||
| `skills` | Nein | `string[]` | Skill-Verzeichnisse, die relativ zum Plugin-Root geladen werden sollen. |
|
||||
| `name` | Nein | `string` | Menschlich lesbarer Plugin-Name. |
|
||||
| `description` | Nein | `string` | Kurze Zusammenfassung, die in Plugin-Oberflächen angezeigt wird. |
|
||||
| `version` | Nein | `string` | Informative Plugin-Version. |
|
||||
| `uiHints` | Nein | `Record<string, object>` | UI-Beschriftungen, Platzhalter und Hinweise zur Sensitivität für Konfigurationsfelder. |
|
||||
| Feld | Erforderlich | Typ | Bedeutung |
|
||||
| ----------------------------------- | ------------ | -------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `id` | Ja | `string` | Kanonische Plugin-ID. Dies ist die ID, die in `plugins.entries.<id>` verwendet wird. |
|
||||
| `configSchema` | Ja | `object` | Inline-JSON-Schema für die Konfiguration dieses Plugins. |
|
||||
| `enabledByDefault` | Nein | `true` | Kennzeichnet ein gebündeltes Plugin als standardmäßig aktiviert. Lassen Sie das Feld weg oder setzen Sie einen anderen Wert als `true`, damit das Plugin standardmäßig deaktiviert bleibt. |
|
||||
| `legacyPluginIds` | Nein | `string[]` | Veraltete IDs, die auf diese kanonische Plugin-ID normalisiert werden. |
|
||||
| `autoEnableWhenConfiguredProviders` | Nein | `string[]` | Provider-IDs, die dieses Plugin automatisch aktivieren sollen, wenn Authentifizierung, Konfiguration oder Modellreferenzen sie erwähnen. |
|
||||
| `kind` | Nein | `"memory"` \| `"context-engine"` | Deklariert einen exklusiven Plugin-Typ, der von `plugins.slots.*` verwendet wird. |
|
||||
| `channels` | Nein | `string[]` | Kanal-IDs, die diesem Plugin gehören. Wird für Erkennung und Konfigurationsvalidierung verwendet. |
|
||||
| `providers` | Nein | `string[]` | Provider-IDs, die diesem Plugin gehören. |
|
||||
| `modelSupport` | Nein | `object` | Dem Manifest gehörende Kurzform-Metadaten zu Modellfamilien, die verwendet werden, um das Plugin vor der Laufzeit automatisch zu laden. |
|
||||
| `cliBackends` | Nein | `string[]` | CLI-Inferenz-Backend-IDs, die diesem Plugin gehören. Wird für die automatische Aktivierung beim Start aus expliziten Konfigurationsreferenzen verwendet. |
|
||||
| `commandAliases` | Nein | `object[]` | Befehlsnamen, die diesem Plugin gehören und noch vor dem Laden der Laufzeit pluginbewusste Konfigurations- und CLI-Diagnosen erzeugen sollen. |
|
||||
| `providerAuthEnvVars` | Nein | `Record<string, string[]>` | Kostengünstige Umgebungsvariablen-Metadaten für Provider-Authentifizierung, die OpenClaw ohne Laden von Plugin-Code prüfen kann. |
|
||||
| `providerAuthAliases` | Nein | `Record<string, string>` | Provider-IDs, die für die Authentifizierung eine andere Provider-ID wiederverwenden sollen, zum Beispiel ein Coding-Provider, der den API-Schlüssel und die Authentifizierungsprofile des Basis-Providers teilt. |
|
||||
| `channelEnvVars` | Nein | `Record<string, string[]>` | Kostengünstige Umgebungsvariablen-Metadaten für Kanäle, die OpenClaw ohne Laden von Plugin-Code prüfen kann. Verwenden Sie dies für env-gesteuerte Kanaleinrichtung oder Authentifizierungsoberflächen, die generische Start-/Konfigurationshilfen sehen sollen. |
|
||||
| `providerAuthChoices` | Nein | `object[]` | Kostengünstige Metadaten zu Authentifizierungsoptionen für Onboarding-Auswahlen, bevorzugte Provider-Auflösung und einfache Verdrahtung von CLI-Flags. |
|
||||
| `activation` | Nein | `object` | Kostengünstige Aktivierungshinweise für provider-, befehls-, kanal-, routing- und fähigkeitsausgelöstes Laden. Nur Metadaten; das tatsächliche Verhalten bleibt Eigentum der Plugin-Laufzeit. |
|
||||
| `setup` | Nein | `object` | Kostengünstige Einrichtungs-/Onboarding-Deskriptoren, die von Erkennungs- und Einrichtungsoberflächen geprüft werden können, ohne die Plugin-Laufzeit zu laden. |
|
||||
| `contracts` | Nein | `object` | Statischer Snapshot gebündelter Fähigkeiten für speech, realtime transcription, realtime voice, media-understanding, image-generation, music-generation, video-generation, web-fetch, Websuche und Tool-Eigentümerschaft. |
|
||||
| `channelConfigs` | Nein | `Record<string, object>` | Dem Manifest gehörende Kanal-Konfigurationsmetadaten, die vor dem Laden der Laufzeit in Erkennungs- und Validierungsoberflächen zusammengeführt werden. |
|
||||
| `skills` | Nein | `string[]` | Zu ladende Skills-Verzeichnisse, relativ zum Plugin-Stammverzeichnis. |
|
||||
| `name` | Nein | `string` | Lesbarer Plugin-Name. |
|
||||
| `description` | Nein | `string` | Kurze Zusammenfassung, die in Plugin-Oberflächen angezeigt wird. |
|
||||
| `version` | Nein | `string` | Informative Plugin-Version. |
|
||||
| `uiHints` | Nein | `Record<string, object>` | UI-Beschriftungen, Platzhalter und Hinweise zur Vertraulichkeit für Konfigurationsfelder. |
|
||||
|
||||
## Referenz zu `providerAuthChoices`
|
||||
## Referenz für `providerAuthChoices`
|
||||
|
||||
Jeder Eintrag in `providerAuthChoices` beschreibt eine Onboarding- oder Auth-Auswahl.
|
||||
Jeder Eintrag in `providerAuthChoices` beschreibt eine Onboarding- oder Authentifizierungsoption.
|
||||
OpenClaw liest dies, bevor die Provider-Laufzeit geladen wird.
|
||||
|
||||
| Feld | Erforderlich | Typ | Bedeutung |
|
||||
| --------------------- | ------------ | ----------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |
|
||||
| `provider` | Ja | `string` | Provider-ID, zu der diese Auswahl gehört. |
|
||||
| `method` | Ja | `string` | ID der Auth-Methode, an die weitergeleitet wird. |
|
||||
| `choiceId` | Ja | `string` | Stabile ID der Auth-Auswahl, die von Onboarding- und CLI-Abläufen verwendet wird. |
|
||||
| `choiceLabel` | Nein | `string` | Benutzerseitige Beschriftung. Wenn weggelassen, fällt OpenClaw auf `choiceId` zurück. |
|
||||
| `choiceHint` | Nein | `string` | Kurzer Hilfetext für den Picker. |
|
||||
| `assistantPriority` | Nein | `number` | Niedrigere Werte werden in assistentengesteuerten interaktiven Pickern früher sortiert. |
|
||||
| `assistantVisibility` | Nein | `"visible"` \| `"manual-only"` | Blendet die Auswahl in Assistenten-Pickern aus, erlaubt aber weiterhin die manuelle Auswahl per CLI. |
|
||||
| `deprecatedChoiceIds` | Nein | `string[]` | Legacy-IDs von Auswahlmöglichkeiten, die Benutzer auf diese Ersatzauswahl umleiten sollen. |
|
||||
| `groupId` | Nein | `string` | Optionale Gruppen-ID zum Gruppieren verwandter Auswahlmöglichkeiten. |
|
||||
| `groupLabel` | Nein | `string` | Benutzerseitige Beschriftung für diese Gruppe. |
|
||||
| `provider` | Ja | `string` | Provider-ID, zu der diese Option gehört. |
|
||||
| `method` | Ja | `string` | ID der Authentifizierungsmethode, an die weitergeleitet werden soll. |
|
||||
| `choiceId` | Ja | `string` | Stabile ID der Authentifizierungsoption, die von Onboarding- und CLI-Abläufen verwendet wird. |
|
||||
| `choiceLabel` | Nein | `string` | Benutzerseitige Bezeichnung. Wenn sie weggelassen wird, verwendet OpenClaw stattdessen `choiceId`. |
|
||||
| `choiceHint` | Nein | `string` | Kurzer Hilfetext für die Auswahl. |
|
||||
| `assistantPriority` | Nein | `number` | Niedrigere Werte werden in assistentengesteuerten interaktiven Auswahlen früher sortiert. |
|
||||
| `assistantVisibility` | Nein | `"visible"` \| `"manual-only"` | Blendet die Option in Assistenten-Auswahlen aus, erlaubt aber weiterhin die manuelle Auswahl über die CLI. |
|
||||
| `deprecatedChoiceIds` | Nein | `string[]` | Veraltete Options-IDs, die Benutzer zu dieser Ersatzoption umleiten sollen. |
|
||||
| `groupId` | Nein | `string` | Optionale Gruppen-ID zum Gruppieren verwandter Optionen. |
|
||||
| `groupLabel` | Nein | `string` | Benutzerseitige Bezeichnung für diese Gruppe. |
|
||||
| `groupHint` | Nein | `string` | Kurzer Hilfetext für die Gruppe. |
|
||||
| `optionKey` | Nein | `string` | Interner Optionsschlüssel für einfache Auth-Abläufe mit nur einem Flag. |
|
||||
| `optionKey` | Nein | `string` | Interner Optionsschlüssel für einfache Authentifizierungsabläufe mit nur einem Flag. |
|
||||
| `cliFlag` | Nein | `string` | Name des CLI-Flags, z. B. `--openrouter-api-key`. |
|
||||
| `cliOption` | Nein | `string` | Vollständige Form der CLI-Option, z. B. `--openrouter-api-key <key>`. |
|
||||
| `cliDescription` | Nein | `string` | Beschreibung, die in der CLI-Hilfe verwendet wird. |
|
||||
| `onboardingScopes` | Nein | `Array<"text-inference" \| "image-generation">` | In welchen Onboarding-Oberflächen diese Auswahl erscheinen soll. Wenn weggelassen, ist der Standardwert `["text-inference"]`. |
|
||||
| `cliOption` | Nein | `string` | Vollständige Form der CLI-Option, z. B. `--openrouter-api-key <key>`. |
|
||||
| `cliDescription` | Nein | `string` | Beschreibung, die in der CLI-Hilfe verwendet wird. |
|
||||
| `onboardingScopes` | Nein | `Array<"text-inference" \| "image-generation">` | In welchen Onboarding-Oberflächen diese Option erscheinen soll. Wenn weggelassen, ist der Standardwert `["text-inference"]`. |
|
||||
|
||||
## Referenz zu `commandAliases`
|
||||
## Referenz für `commandAliases`
|
||||
|
||||
Verwenden Sie `commandAliases`, wenn ein Plugin einen Laufzeit-Befehlsnamen besitzt, den Benutzer
|
||||
möglicherweise fälschlicherweise in `plugins.allow` eintragen oder als CLI-Befehl auf Root-Ebene ausführen möchten. OpenClaw
|
||||
verwendet diese Metadaten für Diagnosen, ohne den Laufzeitcode des Plugins zu importieren.
|
||||
versehentlich in `plugins.allow` eintragen oder als CLI-Stammbefehl ausführen
|
||||
möchten. OpenClaw verwendet diese Metadaten für Diagnosen, ohne Plugin-Laufzeitcode zu importieren.
|
||||
|
||||
```json
|
||||
{
|
||||
@ -209,22 +212,93 @@ verwendet diese Metadaten für Diagnosen, ohne den Laufzeitcode des Plugins zu i
|
||||
}
|
||||
```
|
||||
|
||||
| Feld | Erforderlich | Typ | Bedeutung |
|
||||
| ------------ | ------------ | ----------------- | -------------------------------------------------------------------------------- |
|
||||
| `name` | Ja | `string` | Befehlsname, der zu diesem Plugin gehört. |
|
||||
| `kind` | Nein | `"runtime-slash"` | Kennzeichnet den Alias als Chat-Slash-Befehl statt als CLI-Befehl auf Root-Ebene. |
|
||||
| `cliCommand` | Nein | `string` | Zugehöriger CLI-Befehl auf Root-Ebene, der für CLI-Operationen vorgeschlagen werden soll, falls vorhanden. |
|
||||
| Feld | Erforderlich | Typ | Bedeutung |
|
||||
| ------------ | ------------ | ----------------- | ------------------------------------------------------------------------- |
|
||||
| `name` | Ja | `string` | Befehlsname, der zu diesem Plugin gehört. |
|
||||
| `kind` | Nein | `"runtime-slash"` | Kennzeichnet den Alias als Chat-Slash-Befehl statt als CLI-Stammbefehl. |
|
||||
| `cliCommand` | Nein | `string` | Zugehöriger CLI-Stammbefehl, der für CLI-Vorgänge empfohlen werden kann, falls vorhanden. |
|
||||
|
||||
## Referenz zu `uiHints`
|
||||
## Referenz für `activation`
|
||||
|
||||
`uiHints` ist eine Zuordnung von Konfigurationsfeldnamen zu kleinen Render-Hinweisen.
|
||||
Verwenden Sie `activation`, wenn das Plugin kostengünstig deklarieren kann, welche Control-Plane-Ereignisse
|
||||
es später aktivieren sollen.
|
||||
|
||||
Dieser Block enthält nur Metadaten. Er registriert kein Laufzeitverhalten und
|
||||
ersetzt nicht `register(...)`, `setupEntry` oder andere Laufzeit-/Plugin-Einstiegspunkte.
|
||||
|
||||
```json
|
||||
{
|
||||
"activation": {
|
||||
"onProviders": ["openai"],
|
||||
"onCommands": ["models"],
|
||||
"onChannels": ["web"],
|
||||
"onRoutes": ["gateway-webhook"],
|
||||
"onCapabilities": ["provider", "tool"]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
| Feld | Erforderlich | Typ | Bedeutung |
|
||||
| ---------------- | ------------ | ---------------------------------------------------- | ----------------------------------------------------------------- |
|
||||
| `onProviders` | Nein | `string[]` | Provider-IDs, die dieses Plugin bei Anforderung aktivieren sollen. |
|
||||
| `onCommands` | Nein | `string[]` | Befehls-IDs, die dieses Plugin aktivieren sollen. |
|
||||
| `onChannels` | Nein | `string[]` | Kanal-IDs, die dieses Plugin aktivieren sollen. |
|
||||
| `onRoutes` | Nein | `string[]` | Routenarten, die dieses Plugin aktivieren sollen. |
|
||||
| `onCapabilities` | Nein | `Array<"provider" \| "channel" \| "tool" \| "hook">` | Allgemeine Fähigkeitshinweise, die bei der Aktivierungsplanung der Control Plane verwendet werden. |
|
||||
|
||||
## Referenz für `setup`
|
||||
|
||||
Verwenden Sie `setup`, wenn Einrichtungs- und Onboarding-Oberflächen kostengünstige, dem Plugin gehörende Metadaten
|
||||
benötigen, bevor die Laufzeit geladen wird.
|
||||
|
||||
```json
|
||||
{
|
||||
"setup": {
|
||||
"providers": [
|
||||
{
|
||||
"id": "openai",
|
||||
"authMethods": ["api-key"],
|
||||
"envVars": ["OPENAI_API_KEY"]
|
||||
}
|
||||
],
|
||||
"cliBackends": ["openai-cli"],
|
||||
"configMigrations": ["legacy-openai-auth"],
|
||||
"requiresRuntime": false
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Das Top-Level-Feld `cliBackends` bleibt gültig und beschreibt weiterhin CLI-Inferenz-
|
||||
Backends. `setup.cliBackends` ist die einrichtungsspezifische Deskriptoroberfläche für
|
||||
Control-Plane-/Einrichtungsabläufe, die nur Metadaten bleiben soll.
|
||||
|
||||
### Referenz für `setup.providers`
|
||||
|
||||
| Feld | Erforderlich | Typ | Bedeutung |
|
||||
| ------------- | ------------ | ---------- | ---------------------------------------------------------------------------------------- |
|
||||
| `id` | Ja | `string` | Provider-ID, die während der Einrichtung oder des Onboardings bereitgestellt wird. |
|
||||
| `authMethods` | Nein | `string[]` | IDs von Einrichtungs-/Authentifizierungsmethoden, die dieser Provider ohne vollständige Laufzeit unterstützt. |
|
||||
| `envVars` | Nein | `string[]` | Umgebungsvariablen, die generische Einrichtungs-/Statusoberflächen prüfen können, bevor die Plugin-Laufzeit geladen wird. |
|
||||
|
||||
### `setup`-Felder
|
||||
|
||||
| Feld | Erforderlich | Typ | Bedeutung |
|
||||
| ------------------ | ------------ | ---------- | --------------------------------------------------------------------------- |
|
||||
| `providers` | Nein | `object[]` | Provider-Einrichtungsdeskriptoren, die während Einrichtung und Onboarding bereitgestellt werden. |
|
||||
| `cliBackends` | Nein | `string[]` | Backend-IDs zur Einrichtungszeit, die ohne vollständige Laufzeitaktivierung verfügbar sind. |
|
||||
| `configMigrations` | Nein | `string[]` | IDs von Konfigurationsmigrationen, die der Einrichtungsoberfläche dieses Plugins gehören. |
|
||||
| `requiresRuntime` | Nein | `boolean` | Ob die Einrichtung nach dem Nachschlagen des Deskriptors weiterhin die Ausführung der Plugin-Laufzeit erfordert. |
|
||||
|
||||
## Referenz für `uiHints`
|
||||
|
||||
`uiHints` ist eine Zuordnung von Konfigurationsfeldnamen zu kleinen Darstellungshinweisen.
|
||||
|
||||
```json
|
||||
{
|
||||
"uiHints": {
|
||||
"apiKey": {
|
||||
"label": "API-Schlüssel",
|
||||
"help": "Wird für OpenRouter-Anfragen verwendet",
|
||||
"label": "API key",
|
||||
"help": "Used for OpenRouter requests",
|
||||
"placeholder": "sk-or-v1-...",
|
||||
"sensitive": true
|
||||
}
|
||||
@ -234,19 +308,19 @@ verwendet diese Metadaten für Diagnosen, ohne den Laufzeitcode des Plugins zu i
|
||||
|
||||
Jeder Feldhinweis kann Folgendes enthalten:
|
||||
|
||||
| Feld | Typ | Bedeutung |
|
||||
| ------------- | ---------- | ------------------------------------------ |
|
||||
| `label` | `string` | Benutzerseitige Feldbezeichnung. |
|
||||
| `help` | `string` | Kurzer Hilfetext. |
|
||||
| `tags` | `string[]` | Optionale UI-Tags. |
|
||||
| `advanced` | `boolean` | Kennzeichnet das Feld als erweitert. |
|
||||
| Feld | Typ | Bedeutung |
|
||||
| ------------- | ---------- | ----------------------------------------- |
|
||||
| `label` | `string` | Benutzerseitige Feldbezeichnung. |
|
||||
| `help` | `string` | Kurzer Hilfetext. |
|
||||
| `tags` | `string[]` | Optionale UI-Tags. |
|
||||
| `advanced` | `boolean` | Kennzeichnet das Feld als erweitert. |
|
||||
| `sensitive` | `boolean` | Kennzeichnet das Feld als geheim oder sensibel. |
|
||||
| `placeholder` | `string` | Platzhaltertext für Formulareingaben. |
|
||||
| `placeholder` | `string` | Platzhaltertext für Formulareingaben. |
|
||||
|
||||
## Referenz zu `contracts`
|
||||
## Referenz für `contracts`
|
||||
|
||||
Verwenden Sie `contracts` nur für statische Metadaten zur Fähigkeitseigentümerschaft, die OpenClaw
|
||||
lesen kann, ohne die Plugin-Laufzeit zu importieren.
|
||||
Verwenden Sie `contracts` nur für statische Metadaten zur Fähigkeitszuordnung, die OpenClaw
|
||||
ohne Import der Plugin-Laufzeit lesen kann.
|
||||
|
||||
```json
|
||||
{
|
||||
@ -266,22 +340,22 @@ lesen kann, ohne die Plugin-Laufzeit zu importieren.
|
||||
|
||||
Jede Liste ist optional:
|
||||
|
||||
| Feld | Typ | Bedeutung |
|
||||
| -------------------------------- | ---------- | --------------------------------------------------------------- |
|
||||
| `speechProviders` | `string[]` | Sprach-Provider-IDs, die diesem Plugin gehören. |
|
||||
| `realtimeTranscriptionProviders` | `string[]` | Provider-IDs für Echtzeit-Transkription, die diesem Plugin gehören. |
|
||||
| `realtimeVoiceProviders` | `string[]` | Provider-IDs für Echtzeit-Stimme, die diesem Plugin gehören. |
|
||||
| `mediaUnderstandingProviders` | `string[]` | Provider-IDs für Medienverständnis, die diesem Plugin gehören. |
|
||||
| `imageGenerationProviders` | `string[]` | Provider-IDs für Bildgenerierung, die diesem Plugin gehören. |
|
||||
| `videoGenerationProviders` | `string[]` | Provider-IDs für Videogenerierung, die diesem Plugin gehören. |
|
||||
| `webFetchProviders` | `string[]` | Provider-IDs für Web-Fetch, die diesem Plugin gehören. |
|
||||
| `webSearchProviders` | `string[]` | Provider-IDs für Websuche, die diesem Plugin gehören. |
|
||||
| `tools` | `string[]` | Agent-Tool-Namen, die diesem Plugin für gebündelte Vertragsprüfungen gehören. |
|
||||
| Feld | Typ | Bedeutung |
|
||||
| -------------------------------- | ---------- | ----------------------------------------------------------- |
|
||||
| `speechProviders` | `string[]` | Speech-Provider-IDs, die diesem Plugin gehören. |
|
||||
| `realtimeTranscriptionProviders` | `string[]` | Realtime-Transcription-Provider-IDs, die diesem Plugin gehören. |
|
||||
| `realtimeVoiceProviders` | `string[]` | Realtime-Voice-Provider-IDs, die diesem Plugin gehören. |
|
||||
| `mediaUnderstandingProviders` | `string[]` | Media-understanding-Provider-IDs, die diesem Plugin gehören. |
|
||||
| `imageGenerationProviders` | `string[]` | Image-generation-Provider-IDs, die diesem Plugin gehören. |
|
||||
| `videoGenerationProviders` | `string[]` | Video-generation-Provider-IDs, die diesem Plugin gehören. |
|
||||
| `webFetchProviders` | `string[]` | Web-fetch-Provider-IDs, die diesem Plugin gehören. |
|
||||
| `webSearchProviders` | `string[]` | Web-search-Provider-IDs, die diesem Plugin gehören. |
|
||||
| `tools` | `string[]` | Namen von Agent-Tools, die diesem Plugin für gebündelte Vertragsprüfungen gehören. |
|
||||
|
||||
## Referenz zu `channelConfigs`
|
||||
## Referenz für `channelConfigs`
|
||||
|
||||
Verwenden Sie `channelConfigs`, wenn ein Kanal-Plugin günstige Konfigurationsmetadaten benötigt, bevor
|
||||
die Laufzeit lädt.
|
||||
Verwenden Sie `channelConfigs`, wenn ein Kanal-Plugin kostengünstige Konfigurationsmetadaten benötigt, bevor
|
||||
die Laufzeit geladen wird.
|
||||
|
||||
```json
|
||||
{
|
||||
@ -296,12 +370,12 @@ die Laufzeit lädt.
|
||||
},
|
||||
"uiHints": {
|
||||
"homeserverUrl": {
|
||||
"label": "Homeserver-URL",
|
||||
"label": "Homeserver URL",
|
||||
"placeholder": "https://matrix.example.com"
|
||||
}
|
||||
},
|
||||
"label": "Matrix",
|
||||
"description": "Verbindung zum Matrix-Homeserver",
|
||||
"description": "Matrix-Homeserver-Verbindung",
|
||||
"preferOver": ["matrix-legacy"]
|
||||
}
|
||||
}
|
||||
@ -310,19 +384,19 @@ die Laufzeit lädt.
|
||||
|
||||
Jeder Kanaleintrag kann Folgendes enthalten:
|
||||
|
||||
| Feld | Typ | Bedeutung |
|
||||
| ------------- | ------------------------ | --------------------------------------------------------------------------------------------- |
|
||||
| `schema` | `object` | JSON-Schema für `channels.<id>`. Für jeden deklarierten Kanalkonfigurationseintrag erforderlich. |
|
||||
| `uiHints` | `Record<string, object>` | Optionale UI-Beschriftungen/Platzhalter/Hinweise zur Sensitivität für diesen Abschnitt der Kanalkonfiguration. |
|
||||
| `label` | `string` | Kanalbeschriftung, die in Picker- und Inspektionsoberflächen zusammengeführt wird, wenn Laufzeitmetadaten noch nicht bereit sind. |
|
||||
| `description` | `string` | Kurze Kanalbeschreibung für Inspektions- und Katalogoberflächen. |
|
||||
| `preferOver` | `string[]` | Legacy- oder Plug-in-IDs mit geringerer Priorität, die dieser Kanal in Auswahloberflächen übertreffen soll. |
|
||||
| Feld | Typ | Bedeutung |
|
||||
| ------------- | ------------------------ | ------------------------------------------------------------------------------------------ |
|
||||
| `schema` | `object` | JSON-Schema für `channels.<id>`. Für jeden deklarierten Kanal-Konfigurationseintrag erforderlich. |
|
||||
| `uiHints` | `Record<string, object>` | Optionale UI-Beschriftungen/Platzhalter/Hinweise zur Vertraulichkeit für diesen Abschnitt der Kanal-Konfiguration. |
|
||||
| `label` | `string` | Kanalbezeichnung, die in Auswahl- und Prüfoberflächen zusammengeführt wird, wenn Laufzeitmetadaten noch nicht bereit sind. |
|
||||
| `description` | `string` | Kurze Kanalbeschreibung für Prüf- und Katalogoberflächen. |
|
||||
| `preferOver` | `string[]` | Veraltete oder niedriger priorisierte Plugin-IDs, die dieser Kanal in Auswahloberflächen übertreffen soll. |
|
||||
|
||||
## Referenz zu `modelSupport`
|
||||
## Referenz für `modelSupport`
|
||||
|
||||
Verwenden Sie `modelSupport`, wenn OpenClaw Ihr Provider-Plugin aus
|
||||
Kurzschreibweisen von Modell-IDs wie `gpt-5.4` oder `claude-sonnet-4.6` ableiten soll, bevor die Plugin-Laufzeit
|
||||
lädt.
|
||||
Kurzform-Modell-IDs wie `gpt-5.4` oder `claude-sonnet-4.6` ableiten soll, bevor die Plugin-Laufzeit
|
||||
geladen wird.
|
||||
|
||||
```json
|
||||
{
|
||||
@ -333,9 +407,9 @@ lädt.
|
||||
}
|
||||
```
|
||||
|
||||
OpenClaw wendet folgende Priorität an:
|
||||
OpenClaw wendet diese Rangfolge an:
|
||||
|
||||
- explizite `provider/model`-Referenzen verwenden die Manifest-Metadaten des besitzenden `providers`
|
||||
- explizite `provider/model`-Referenzen verwenden die zugehörigen `providers`-Manifestmetadaten
|
||||
- `modelPatterns` haben Vorrang vor `modelPrefixes`
|
||||
- wenn ein nicht gebündeltes Plugin und ein gebündeltes Plugin beide passen, gewinnt das nicht gebündelte
|
||||
Plugin
|
||||
@ -343,66 +417,65 @@ OpenClaw wendet folgende Priorität an:
|
||||
|
||||
Felder:
|
||||
|
||||
| Feld | Typ | Bedeutung |
|
||||
| --------------- | ---------- | -------------------------------------------------------------------------------- |
|
||||
| `modelPrefixes` | `string[]` | Präfixe, die mit `startsWith` gegen Kurzschreibweisen von Modell-IDs abgeglichen werden. |
|
||||
| `modelPatterns` | `string[]` | Regex-Quellen, die nach dem Entfernen von Profilsuffixen gegen Kurzschreibweisen von Modell-IDs abgeglichen werden. |
|
||||
| Feld | Typ | Bedeutung |
|
||||
| --------------- | ---------- | ------------------------------------------------------------------------------ |
|
||||
| `modelPrefixes` | `string[]` | Präfixe, die mit `startsWith` gegen Kurzform-Modell-IDs abgeglichen werden. |
|
||||
| `modelPatterns` | `string[]` | Regex-Quellen, die nach Entfernen des Profilsuffixes mit Kurzform-Modell-IDs abgeglichen werden. |
|
||||
|
||||
Legacy-Fähigkeitsschlüssel auf oberster Ebene sind veraltet. Verwenden Sie `openclaw doctor --fix`, um
|
||||
Veraltete Fähigkeits-Schlüssel auf oberster Ebene sind deprecated. Verwenden Sie `openclaw doctor --fix`, um
|
||||
`speechProviders`, `realtimeTranscriptionProviders`,
|
||||
`realtimeVoiceProviders`, `mediaUnderstandingProviders`,
|
||||
`imageGenerationProviders`, `videoGenerationProviders`,
|
||||
`webFetchProviders` und `webSearchProviders` unter `contracts` zu verschieben; das normale
|
||||
Laden des Manifests behandelt diese Felder auf oberster Ebene nicht mehr als
|
||||
Fähigkeitseigentümerschaft.
|
||||
`webFetchProviders` und `webSearchProviders` unter `contracts` zu
|
||||
verschieben; das normale Laden des Manifests behandelt diese Felder auf oberster Ebene nicht mehr als
|
||||
Fähigkeitszuordnung.
|
||||
|
||||
## Manifest im Vergleich zu `package.json`
|
||||
## Manifest im Vergleich zu package.json
|
||||
|
||||
Die beiden Dateien erfüllen unterschiedliche Aufgaben:
|
||||
|
||||
| Datei | Verwenden Sie sie für |
|
||||
| ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `openclaw.plugin.json` | Erkennung, Konfigurationsvalidierung, Metadaten für Auth-Auswahlmöglichkeiten und UI-Hinweise, die vorhanden sein müssen, bevor der Plugin-Code ausgeführt wird |
|
||||
| `package.json` | npm-Metadaten, Abhängigkeitsinstallation und den `openclaw`-Block, der für Entrypoints, Installations-Gating, Setup oder Katalog-Metadaten verwendet wird |
|
||||
| Datei | Verwendung |
|
||||
| ---------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `openclaw.plugin.json` | Erkennung, Konfigurationsvalidierung, Metadaten zu Authentifizierungsoptionen und UI-Hinweise, die vorhanden sein müssen, bevor Plugin-Code ausgeführt wird |
|
||||
| `package.json` | npm-Metadaten, Installation von Abhängigkeiten und der `openclaw`-Block für Einstiegspunkte, Installationsfreigabe, Einrichtung oder Katalogmetadaten |
|
||||
|
||||
Wenn Sie unsicher sind, wo ein Metadatenelement hingehört, verwenden Sie diese Regel:
|
||||
Wenn Sie nicht sicher sind, wohin ein Metadatum gehört, verwenden Sie diese Regel:
|
||||
|
||||
- wenn OpenClaw es kennen muss, bevor Plugin-Code geladen wird, gehört es in `openclaw.plugin.json`
|
||||
- wenn es um Packaging, Entry-Dateien oder das npm-Installationsverhalten geht, gehört es in `package.json`
|
||||
- wenn es um Paketierung, Einstiegsdateien oder das npm-Installationsverhalten geht, gehört es in `package.json`
|
||||
|
||||
### `package.json`-Felder, die die Erkennung beeinflussen
|
||||
|
||||
Einige Plugin-Metadaten vor der Laufzeit liegen absichtlich in `package.json` unter dem
|
||||
Einige Metadaten von Plugins vor der Laufzeit befinden sich absichtlich in `package.json` unter dem
|
||||
`openclaw`-Block statt in `openclaw.plugin.json`.
|
||||
|
||||
Wichtige Beispiele:
|
||||
|
||||
| Feld | Bedeutung |
|
||||
| ----------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `openclaw.extensions` | Deklariert native Plugin-Entrypoints. |
|
||||
| `openclaw.setupEntry` | Leichtgewichtiger Setup-only-Entrypoint, der während des Onboardings und beim verzögerten Kanalstart verwendet wird. |
|
||||
| `openclaw.channel` | Leichtgewichtige Kanal-Katalogmetadaten wie Beschriftungen, Dokumentationspfade, Aliasse und Auswahltext. |
|
||||
| `openclaw.channel.configuredState` | Leichtgewichtige Metadaten für den Prüfer des konfigurierten Status, die beantworten können: „Existiert env-only-Setup bereits?“, ohne die vollständige Kanal-Laufzeit zu laden. |
|
||||
| `openclaw.channel.persistedAuthState` | Leichtgewichtige Metadaten für den Prüfer persistierter Authentifizierung, die beantworten können: „Ist bereits irgendetwas angemeldet?“, ohne die vollständige Kanal-Laufzeit zu laden. |
|
||||
| `openclaw.install.npmSpec` / `openclaw.install.localPath` | Hinweise zur Installation/Aktualisierung für gebündelte und extern veröffentlichte Plugins. |
|
||||
| `openclaw.install.defaultChoice` | Bevorzugter Installationspfad, wenn mehrere Installationsquellen verfügbar sind. |
|
||||
| `openclaw.install.minHostVersion` | Minimal unterstützte OpenClaw-Host-Version mit einer Semver-Untergrenze wie `>=2026.3.22`. |
|
||||
| `openclaw.install.allowInvalidConfigRecovery` | Erlaubt einen eng begrenzten Wiederherstellungspfad für die Neuinstallation gebündelter Plugins, wenn die Konfiguration ungültig ist. |
|
||||
| `openclaw.startup.deferConfiguredChannelFullLoadUntilAfterListen` | Ermöglicht das Laden von Setup-only-Kanaloberflächen vor dem vollständigen Kanal-Plugin während des Starts. |
|
||||
| Feld | Bedeutung |
|
||||
| ----------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `openclaw.extensions` | Deklariert native Plugin-Einstiegspunkte. |
|
||||
| `openclaw.setupEntry` | Leichtgewichtiger Einstiegspunkt nur für die Einrichtung, verwendet während des Onboardings und beim verzögerten Kanalstart. |
|
||||
| `openclaw.channel` | Kostengünstige Katalogmetadaten für Kanäle wie Bezeichnungen, Dokumentationspfade, Aliasse und Auswahltexte. |
|
||||
| `openclaw.channel.configuredState` | Leichtgewichtige Metadaten für die Prüfung des konfigurierten Zustands, die „existiert bereits eine env-only-Einrichtung?“ beantworten können, ohne die vollständige Kanal-Laufzeit zu laden. |
|
||||
| `openclaw.channel.persistedAuthState` | Leichtgewichtige Metadaten für die Prüfung des persistenten Authentifizierungszustands, die „ist bereits irgendwo eine Anmeldung vorhanden?“ beantworten können, ohne die vollständige Kanal-Laufzeit zu laden. |
|
||||
| `openclaw.install.npmSpec` / `openclaw.install.localPath` | Hinweise zur Installation/Aktualisierung für gebündelte und extern veröffentlichte Plugins. |
|
||||
| `openclaw.install.defaultChoice` | Bevorzugter Installationspfad, wenn mehrere Installationsquellen verfügbar sind. |
|
||||
| `openclaw.install.minHostVersion` | Minimal unterstützte OpenClaw-Host-Version, mit einer SemVer-Untergrenze wie `>=2026.3.22`. |
|
||||
| `openclaw.install.allowInvalidConfigRecovery` | Erlaubt einen eng begrenzten Wiederherstellungspfad zur Neuinstallation gebündelter Plugins, wenn die Konfiguration ungültig ist. |
|
||||
| `openclaw.startup.deferConfiguredChannelFullLoadUntilAfterListen` | Erlaubt das Laden von Kanaloberflächen nur für die Einrichtung vor dem vollständigen Kanal-Plugin beim Start. |
|
||||
|
||||
`openclaw.install.minHostVersion` wird während der Installation und beim Laden des
|
||||
Manifest-Registrys erzwungen. Ungültige Werte werden abgelehnt; neuere, aber gültige Werte überspringen das
|
||||
`openclaw.install.minHostVersion` wird während der Installation und beim Laden der Manifest-
|
||||
Registry erzwungen. Ungültige Werte werden abgelehnt; neuere, aber gültige Werte überspringen das
|
||||
Plugin auf älteren Hosts.
|
||||
|
||||
`openclaw.install.allowInvalidConfigRecovery` ist absichtlich eng begrenzt. Es macht
|
||||
nicht beliebige defekte Konfigurationen installierbar. Derzeit erlaubt es nur Installations-
|
||||
Abläufen, sich von bestimmten veralteten Upgrade-Fehlern gebündelter Plugins zu erholen, etwa einem
|
||||
fehlenden Pfad zu einem gebündelten Plugin oder einem veralteten `channels.<id>`-Eintrag für genau dieses
|
||||
gebündelte Plugin. Nicht zusammenhängende Konfigurationsfehler blockieren die Installation weiterhin und schicken
|
||||
Operatoren zu `openclaw doctor --fix`.
|
||||
nicht beliebige fehlerhafte Konfigurationen installierbar. Derzeit erlaubt es nur Installationsabläufen,
|
||||
sich von bestimmten veralteten Upgrade-Fehlern gebündelter Plugins zu erholen, zum Beispiel einem
|
||||
fehlenden Pfad zu einem gebündelten Plugin oder einem veralteten `channels.<id>`-Eintrag für dasselbe
|
||||
gebündelte Plugin. Nicht zusammenhängende Konfigurationsfehler blockieren weiterhin die Installation und verweisen Operatoren
|
||||
auf `openclaw doctor --fix`.
|
||||
|
||||
`openclaw.channel.persistedAuthState` ist Paketmetadaten für ein kleines Prüfer-
|
||||
Modul:
|
||||
`openclaw.channel.persistedAuthState` ist Paketmetadaten für ein kleines Prüfmodul:
|
||||
|
||||
```json
|
||||
{
|
||||
@ -418,13 +491,13 @@ Modul:
|
||||
}
|
||||
```
|
||||
|
||||
Verwenden Sie dies, wenn Setup-, Doctor- oder Abläufe für den konfigurierten Status vor dem Laden des vollständigen
|
||||
Kanal-Plugins eine günstige Ja/Nein-Auth-Probe benötigen. Der Ziel-Export sollte eine kleine
|
||||
Funktion sein, die nur persistierten Status liest; leiten Sie dies nicht über das vollständige
|
||||
Barrel der Kanal-Laufzeit.
|
||||
Verwenden Sie dies, wenn Einrichtungs-, Doctor- oder configured-state-Abläufe eine kostengünstige Ja/Nein-
|
||||
Auth-Prüfung benötigen, bevor das vollständige Kanal-Plugin geladen wird. Das Zielexport sollte eine kleine
|
||||
Funktion sein, die nur persistenten Zustand liest; leiten Sie dies nicht über das vollständige
|
||||
Kanal-Laufzeit-Barrel.
|
||||
|
||||
`openclaw.channel.configuredState` folgt derselben Form für günstige env-only-
|
||||
Prüfungen des konfigurierten Status:
|
||||
`openclaw.channel.configuredState` verwendet dieselbe Form für kostengünstige env-only-
|
||||
Prüfungen des konfigurierten Zustands:
|
||||
|
||||
```json
|
||||
{
|
||||
@ -440,8 +513,8 @@ Prüfungen des konfigurierten Status:
|
||||
}
|
||||
```
|
||||
|
||||
Verwenden Sie dies, wenn ein Kanal den konfigurierten Status aus env oder anderen kleinen
|
||||
Nicht-Laufzeit-Eingaben beantworten kann. Wenn die Prüfung eine vollständige Konfigurationsauflösung oder die echte
|
||||
Verwenden Sie dies, wenn ein Kanal den konfigurierten Zustand aus env oder anderen kleinen
|
||||
Nicht-Laufzeiteingaben beantworten kann. Wenn die Prüfung vollständige Konfigurationsauflösung oder die echte
|
||||
Kanal-Laufzeit benötigt, belassen Sie diese Logik stattdessen im Hook `config.hasConfiguredState`
|
||||
des Plugins.
|
||||
|
||||
@ -457,47 +530,48 @@ des Plugins.
|
||||
ein Plugin-Manifest deklariert.
|
||||
- `plugins.entries.<id>`, `plugins.allow`, `plugins.deny` und `plugins.slots.*`
|
||||
müssen auf **erkennbare** Plugin-IDs verweisen. Unbekannte IDs sind **Fehler**.
|
||||
- Wenn ein Plugin installiert ist, aber ein defektes oder fehlendes Manifest oder Schema hat,
|
||||
- Wenn ein Plugin installiert ist, aber ein fehlerhaftes oder fehlendes Manifest oder Schema hat,
|
||||
schlägt die Validierung fehl und Doctor meldet den Plugin-Fehler.
|
||||
- Wenn eine Plugin-Konfiguration existiert, das Plugin aber **deaktiviert** ist, bleibt die Konfiguration erhalten und
|
||||
in Doctor + Logs wird eine **Warnung** ausgegeben.
|
||||
in Doctor + Protokollen wird eine **Warnung** angezeigt.
|
||||
|
||||
Das vollständige Schema von `plugins.*` finden Sie unter [Konfigurationsreferenz](/de/gateway/configuration).
|
||||
Die vollständige `plugins.*`-Schema-Referenz finden Sie unter [Konfigurationsreferenz](/de/gateway/configuration).
|
||||
|
||||
## Hinweise
|
||||
|
||||
- Das Manifest ist **für native OpenClaw-Plugins erforderlich**, einschließlich lokaler Dateisystem-Ladevorgänge.
|
||||
- Die Laufzeit lädt das Plugin-Modul weiterhin separat; das Manifest dient nur der
|
||||
Erkennung + Validierung.
|
||||
- Native Manifeste werden mit JSON5 geparst, daher werden Kommentare, nachgestellte Kommata und
|
||||
nicht in Anführungszeichen gesetzte Schlüssel akzeptiert, solange der Endwert weiterhin ein Objekt ist.
|
||||
- Native Manifeste werden mit JSON5 geparst, daher sind Kommentare, nachgestellte Kommas und
|
||||
nicht in Anführungszeichen gesetzte Schlüssel zulässig, solange der endgültige Wert weiterhin ein Objekt ist.
|
||||
- Nur dokumentierte Manifestfelder werden vom Manifest-Loader gelesen. Vermeiden Sie es,
|
||||
hier benutzerdefinierte Schlüssel auf oberster Ebene hinzuzufügen.
|
||||
- `providerAuthEnvVars` ist der günstige Metadatenpfad für Auth-Probes, Validierung von Env-Markern
|
||||
und ähnliche Provider-Auth-Oberflächen, die die Plugin-Laufzeit nicht starten sollten, nur um Env-Namen zu prüfen.
|
||||
- `providerAuthAliases` erlaubt es Providervarianten, die Auth-
|
||||
Env-Variablen, Auth-Profile, konfigurationsgestützte Authentifizierung und die
|
||||
API-Schlüssel-Onboarding-Auswahl eines anderen Providers wiederzuverwenden, ohne diese Beziehung im Core fest zu codieren.
|
||||
- `channelEnvVars` ist der günstige Metadatenpfad für Shell-Env-Fallback, Setup-
|
||||
Prompts und ähnliche Kanaloberflächen, die die Plugin-Laufzeit nicht starten sollten,
|
||||
nur um Env-Namen zu prüfen.
|
||||
- `providerAuthChoices` ist der günstige Metadatenpfad für Picker für Auth-Auswahlmöglichkeiten,
|
||||
Auflösung von `--auth-choice`, Zuordnung bevorzugter Provider und einfache Registrierung von Onboarding-
|
||||
CLI-Flags, bevor die Provider-Laufzeit lädt. Für Metadaten von Laufzeit-Wizards,
|
||||
die Providercode benötigen, siehe
|
||||
- `providerAuthEnvVars` ist der kostengünstige Metadatenpfad für Authentifizierungsprüfungen, env-marker-
|
||||
Validierung und ähnliche Oberflächen für Provider-Authentifizierung, die die Plugin-Laufzeit nicht starten sollten,
|
||||
nur um env-Namen zu prüfen.
|
||||
- `providerAuthAliases` erlaubt es Provider-Varianten, die Authentifizierungs-
|
||||
Umgebungsvariablen, Authentifizierungsprofile, konfigurationsgestützte Authentifizierung und API-Schlüssel-Onboarding-Optionen eines anderen Providers wiederzuverwenden,
|
||||
ohne diese Beziehung im Core fest zu codieren.
|
||||
- `channelEnvVars` ist der kostengünstige Metadatenpfad für Shell-env-Fallback, Einrichtungs-
|
||||
Eingabeaufforderungen und ähnliche Kanaloberflächen, die die Plugin-Laufzeit nicht starten sollten,
|
||||
nur um env-Namen zu prüfen.
|
||||
- `providerAuthChoices` ist der kostengünstige Metadatenpfad für Auswahlfelder von Authentifizierungsoptionen,
|
||||
die Auflösung von `--auth-choice`, bevorzugte Provider-Zuordnung und die einfache Registrierung von
|
||||
Onboarding-CLI-Flags, bevor die Provider-Laufzeit geladen wird. Informationen für Laufzeit-
|
||||
Assistenten, die Provider-Code erfordern, finden Sie unter
|
||||
[Provider-Laufzeit-Hooks](/de/plugins/architecture#provider-runtime-hooks).
|
||||
- Exklusive Plugin-Arten werden über `plugins.slots.*` ausgewählt.
|
||||
- `kind: "memory"` wird durch `plugins.slots.memory` ausgewählt.
|
||||
- `kind: "context-engine"` wird durch `plugins.slots.contextEngine`
|
||||
ausgewählt (Standard: eingebautes `legacy`).
|
||||
- `kind: "memory"` wird über `plugins.slots.memory` ausgewählt.
|
||||
- `kind: "context-engine"` wird über `plugins.slots.contextEngine`
|
||||
ausgewählt (Standard: integriertes `legacy`).
|
||||
- `channels`, `providers`, `cliBackends` und `skills` können weggelassen werden, wenn ein
|
||||
Plugin sie nicht benötigt.
|
||||
- Wenn Ihr Plugin von nativen Modulen abhängt, dokumentieren Sie die Build-Schritte und alle
|
||||
Anforderungen an die Allowlist des Paketmanagers (zum Beispiel pnpm `allow-build-scripts`
|
||||
Anforderungen an die Paketmanager-Allowlist (zum Beispiel pnpm `allow-build-scripts`
|
||||
- `pnpm rebuild <package>`).
|
||||
|
||||
## Verwandt
|
||||
|
||||
- [Plugins erstellen](/de/plugins/building-plugins) — Einstieg in Plugins
|
||||
- [Plugins erstellen](/de/plugins/building-plugins) — Erste Schritte mit Plugins
|
||||
- [Plugin-Architektur](/de/plugins/architecture) — interne Architektur
|
||||
- [SDK-Überblick](/de/plugins/sdk-overview) — Referenz zum Plugin-SDK
|
||||
- [SDK-Übersicht](/de/plugins/sdk-overview) — Referenz zum Plugin SDK
|
||||
|
||||
60
docs/de/reference/rich-output-protocol.md
Normal file
60
docs/de/reference/rich-output-protocol.md
Normal file
@ -0,0 +1,60 @@
|
||||
---
|
||||
x-i18n:
|
||||
generated_at: "2026-04-11T15:15:49Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 2a8884fc2c304bf96d4675f0c1d1ff781d6dc1ae8c49d92ce08040c9c7709035
|
||||
source_path: reference/rich-output-protocol.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# Rich-Output-Protokoll
|
||||
|
||||
Die Assistentenausgabe kann eine kleine Menge an Übermittlungs-/Render-Anweisungen enthalten:
|
||||
|
||||
- `MEDIA:` für die Zustellung von Anhängen
|
||||
- `[[audio_as_voice]]` für Hinweise zur Audio-Wiedergabe
|
||||
- `[[reply_to_current]]` / `[[reply_to:<id>]]` für Antwort-Metadaten
|
||||
- `[embed ...]` für umfangreiches Rendering in der Control UI
|
||||
|
||||
Diese Anweisungen sind getrennt. `MEDIA:` sowie Antwort-/Sprach-Tags bleiben Übermittlungsmetadaten; `[embed ...]` ist der reine Rich-Render-Pfad für das Web.
|
||||
|
||||
## `[embed ...]`
|
||||
|
||||
`[embed ...]` ist die einzige agentenseitige Syntax für umfangreiches Rendering in der Control UI.
|
||||
|
||||
Selbstschließendes Beispiel:
|
||||
|
||||
```text
|
||||
[embed ref="cv_123" title="Status" /]
|
||||
```
|
||||
|
||||
Regeln:
|
||||
|
||||
- `[view ...]` ist für neue Ausgaben nicht mehr gültig.
|
||||
- Embed-Shortcodes werden nur in der Nachrichtenoberfläche des Assistenten gerendert.
|
||||
- Nur URL-basierte Embeds werden gerendert. Verwende `ref="..."` oder `url="..."`.
|
||||
- Inline-HTML-Embed-Shortcodes in Blockform werden nicht gerendert.
|
||||
- Die Web-UI entfernt den Shortcode aus dem sichtbaren Text und rendert das Embed inline.
|
||||
- `MEDIA:` ist kein Alias für Embeds und sollte nicht für umfangreiches Embed-Rendering verwendet werden.
|
||||
|
||||
## Gespeicherte Rendering-Struktur
|
||||
|
||||
Der normalisierte/gespeicherte Inhaltsblock des Assistenten ist ein strukturiertes `canvas`-Element:
|
||||
|
||||
```json
|
||||
{
|
||||
"type": "canvas",
|
||||
"preview": {
|
||||
"kind": "canvas",
|
||||
"surface": "assistant_message",
|
||||
"render": "url",
|
||||
"viewId": "cv_123",
|
||||
"url": "/__openclaw__/canvas/documents/cv_123/index.html",
|
||||
"title": "Status",
|
||||
"preferredHeight": 320
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Gespeicherte/gerenderte Rich-Blöcke verwenden direkt diese `canvas`-Struktur. `present_view` wird nicht erkannt.
|
||||
@ -1,35 +1,34 @@
|
||||
---
|
||||
read_when:
|
||||
- Videos über den Agenten erzeugen
|
||||
- Provider und Modelle für die Videoerzeugung konfigurieren
|
||||
- Videos über den Agenten generieren
|
||||
- Video-Generierungs-Provider und -Modelle konfigurieren
|
||||
- Die Parameter des Tools `video_generate` verstehen
|
||||
summary: Videos aus Text, Bildern oder vorhandenen Videos mit 12 Provider-Backends generieren
|
||||
title: Videoerzeugung
|
||||
summary: Erstellen Sie Videos aus Text, Bildern oder vorhandenen Videos mit 14 Provider-Backends.
|
||||
title: Videogenerierung
|
||||
x-i18n:
|
||||
generated_at: "2026-04-11T02:48:15Z"
|
||||
generated_at: "2026-04-11T15:15:57Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 6848d03ef578181902517d068e8d9fe2f845e572a90481bbdf7bd9f1c591f245
|
||||
source_hash: 0ec159a0bbb6b8a030e68828c0a8bcaf40c8538ecf98bc8ff609dab9d0068263
|
||||
source_path: tools/video-generation.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# Videoerzeugung
|
||||
# Videogenerierung
|
||||
|
||||
OpenClaw-Agenten können Videos aus Text-Prompts, Referenzbildern oder vorhandenen Videos erzeugen. Zwölf Provider-Backends werden unterstützt, jeweils mit unterschiedlichen Modelloptionen, Eingabemodi und Funktionsumfängen. Der Agent wählt automatisch den richtigen Provider anhand Ihrer Konfiguration und verfügbaren API-Schlüssel aus.
|
||||
OpenClaw-Agenten können Videos aus Text-Prompts, Referenzbildern oder vorhandenen Videos generieren. Vierzehn Provider-Backends werden unterstützt, jeweils mit unterschiedlichen Modelloptionen, Eingabemodi und Funktionssätzen. Der Agent wählt automatisch den passenden Provider basierend auf Ihrer Konfiguration und den verfügbaren API-Schlüsseln aus.
|
||||
|
||||
<Note>
|
||||
Das Tool `video_generate` erscheint nur, wenn mindestens ein Provider für Videoerzeugung verfügbar ist. Wenn Sie es nicht in den Agent-Tools sehen, setzen Sie einen API-Schlüssel für einen Provider oder konfigurieren Sie `agents.defaults.videoGenerationModel`.
|
||||
Das Tool `video_generate` erscheint nur, wenn mindestens ein Provider für die Videogenerierung verfügbar ist. Wenn Sie es nicht in den Agenten-Tools sehen, setzen Sie einen Provider-API-Schlüssel oder konfigurieren Sie `agents.defaults.videoGenerationModel`.
|
||||
</Note>
|
||||
|
||||
OpenClaw behandelt die Videoerzeugung als drei Runtime-Modi:
|
||||
OpenClaw behandelt die Videogenerierung als drei Laufzeitmodi:
|
||||
|
||||
- `generate` für Text-zu-Video-Anfragen ohne Referenzmedien
|
||||
- `imageToVideo`, wenn die Anfrage ein oder mehrere Referenzbilder enthält
|
||||
- `videoToVideo`, wenn die Anfrage ein oder mehrere Referenzvideos enthält
|
||||
|
||||
Provider können jede beliebige Teilmenge dieser Modi unterstützen. Das Tool validiert den aktiven
|
||||
Modus vor dem Absenden und meldet unterstützte Modi in `action=list`.
|
||||
Provider können jede beliebige Teilmenge dieser Modi unterstützen. Das Tool validiert den aktiven Modus vor dem Absenden und meldet die unterstützten Modi in `action=list`.
|
||||
|
||||
## Schnellstart
|
||||
|
||||
@ -39,7 +38,7 @@ Modus vor dem Absenden und meldet unterstützte Modi in `action=list`.
|
||||
export GEMINI_API_KEY="your-key"
|
||||
```
|
||||
|
||||
2. Optional: Legen Sie ein Standardmodell fest:
|
||||
2. Legen Sie optional ein Standardmodell fest:
|
||||
|
||||
```bash
|
||||
openclaw config set agents.defaults.videoGenerationModel.primary "google/veo-3.1-fast-generate-preview"
|
||||
@ -47,33 +46,33 @@ openclaw config set agents.defaults.videoGenerationModel.primary "google/veo-3.1
|
||||
|
||||
3. Fragen Sie den Agenten:
|
||||
|
||||
> Erzeuge ein 5 Sekunden langes cineastisches Video von einem freundlichen Hummer, der bei Sonnenuntergang surft.
|
||||
> Generiere ein 5-sekündiges filmisches Video eines freundlichen Hummers, der bei Sonnenuntergang surft.
|
||||
|
||||
Der Agent ruft `video_generate` automatisch auf. Keine Tool-Allowlist ist erforderlich.
|
||||
Der Agent ruft `video_generate` automatisch auf. Es ist keine Tool-Allowlist erforderlich.
|
||||
|
||||
## Was passiert, wenn Sie ein Video erzeugen
|
||||
## Was passiert, wenn Sie ein Video generieren
|
||||
|
||||
Die Videoerzeugung ist asynchron. Wenn der Agent in einer Sitzung `video_generate` aufruft:
|
||||
Die Videogenerierung erfolgt asynchron. Wenn der Agent `video_generate` in einer Sitzung aufruft:
|
||||
|
||||
1. OpenClaw sendet die Anfrage an den Provider und gibt sofort eine Aufgaben-ID zurück.
|
||||
2. Der Provider verarbeitet den Job im Hintergrund (typischerweise 30 Sekunden bis 5 Minuten, abhängig von Provider und Auflösung).
|
||||
3. Wenn das Video fertig ist, weckt OpenClaw dieselbe Sitzung mit einem internen Abschlussereignis auf.
|
||||
4. Der Agent stellt das fertige Video wieder in der ursprünglichen Unterhaltung bereit.
|
||||
2. Der Provider verarbeitet den Auftrag im Hintergrund (typischerweise 30 Sekunden bis 5 Minuten, je nach Provider und Auflösung).
|
||||
3. Wenn das Video bereit ist, reaktiviert OpenClaw dieselbe Sitzung mit einem internen Abschlussereignis.
|
||||
4. Der Agent stellt das fertige Video zurück in die ursprüngliche Unterhaltung.
|
||||
|
||||
Während ein Job läuft, geben doppelte Aufrufe von `video_generate` in derselben Sitzung den aktuellen Aufgabenstatus zurück, statt eine weitere Erzeugung zu starten. Verwenden Sie `openclaw tasks list` oder `openclaw tasks show <taskId>`, um den Fortschritt in der CLI zu prüfen.
|
||||
Während ein Auftrag läuft, geben doppelte `video_generate`-Aufrufe in derselben Sitzung den aktuellen Aufgabenstatus zurück, anstatt eine weitere Generierung zu starten. Verwenden Sie `openclaw tasks list` oder `openclaw tasks show <taskId>`, um den Fortschritt über die CLI zu prüfen.
|
||||
|
||||
Außerhalb von sitzungsgestützten Agent-Läufen (zum Beispiel bei direkten Tool-Aufrufen) fällt das Tool auf Inline-Erzeugung zurück und gibt im selben Turn den endgültigen Medienpfad zurück.
|
||||
Außerhalb von sitzungsbasierten Agentenläufen (zum Beispiel bei direkten Tool-Aufrufen) greift das Tool auf Inline-Generierung zurück und gibt den endgültigen Medienpfad im selben Durchlauf zurück.
|
||||
|
||||
### Aufgabenlebenszyklus
|
||||
|
||||
Jede `video_generate`-Anfrage durchläuft vier Zustände:
|
||||
|
||||
1. **queued** -- Aufgabe erstellt, wartet darauf, dass der Provider sie annimmt.
|
||||
2. **running** -- der Provider verarbeitet sie (typischerweise 30 Sekunden bis 5 Minuten, abhängig von Provider und Auflösung).
|
||||
3. **succeeded** -- Video bereit; der Agent wird aufgeweckt und stellt es in der Unterhaltung bereit.
|
||||
4. **failed** -- Provider-Fehler oder Timeout; der Agent wird mit Fehlerdetails aufgeweckt.
|
||||
2. **running** -- Provider verarbeitet die Anfrage (typischerweise 30 Sekunden bis 5 Minuten, je nach Provider und Auflösung).
|
||||
3. **succeeded** -- Video bereit; der Agent wird reaktiviert und stellt es in die Unterhaltung.
|
||||
4. **failed** -- Provider-Fehler oder Zeitüberschreitung; der Agent wird mit Fehlerdetails reaktiviert.
|
||||
|
||||
Status in der CLI prüfen:
|
||||
Status über die CLI prüfen:
|
||||
|
||||
```bash
|
||||
openclaw tasks list
|
||||
@ -81,49 +80,49 @@ openclaw tasks show <taskId>
|
||||
openclaw tasks cancel <taskId>
|
||||
```
|
||||
|
||||
Vermeidung von Duplikaten: Wenn für die aktuelle Sitzung bereits eine Videoaufgabe `queued` oder `running` ist, gibt `video_generate` den Status der vorhandenen Aufgabe zurück, statt eine neue zu starten. Verwenden Sie `action: "status"`, um explizit zu prüfen, ohne eine neue Erzeugung auszulösen.
|
||||
Vermeidung von Duplikaten: Wenn für die aktuelle Sitzung bereits eine Videoaufgabe `queued` oder `running` ist, gibt `video_generate` den bestehenden Aufgabenstatus zurück, anstatt eine neue Aufgabe zu starten. Verwenden Sie `action: "status"`, um den Status ausdrücklich zu prüfen, ohne eine neue Generierung auszulösen.
|
||||
|
||||
## Unterstützte Provider
|
||||
|
||||
| Provider | Standardmodell | Text | Bildreferenz | Videoreferenz | API-Schlüssel |
|
||||
| -------- | ------------------------------ | ---- | ----------------- | ---------------- | ----------------------------------------- |
|
||||
| Alibaba | `wan2.6-t2v` | Ja | Ja (Remote-URL) | Ja (Remote-URL) | `MODELSTUDIO_API_KEY` |
|
||||
| BytePlus | `seedance-1-0-lite-t2v-250428` | Ja | 1 Bild | Nein | `BYTEPLUS_API_KEY` |
|
||||
| ComfyUI | `workflow` | Ja | 1 Bild | Nein | `COMFY_API_KEY` oder `COMFY_CLOUD_API_KEY` |
|
||||
| fal | `fal-ai/minimax/video-01-live` | Ja | 1 Bild | Nein | `FAL_KEY` |
|
||||
| Google | `veo-3.1-fast-generate-preview` | Ja | 1 Bild | 1 Video | `GEMINI_API_KEY` |
|
||||
| MiniMax | `MiniMax-Hailuo-2.3` | Ja | 1 Bild | Nein | `MINIMAX_API_KEY` |
|
||||
| OpenAI | `sora-2` | Ja | 1 Bild | 1 Video | `OPENAI_API_KEY` |
|
||||
| Qwen | `wan2.6-t2v` | Ja | Ja (Remote-URL) | Ja (Remote-URL) | `QWEN_API_KEY` |
|
||||
| Runway | `gen4.5` | Ja | 1 Bild | 1 Video | `RUNWAYML_API_SECRET` |
|
||||
| Together | `Wan-AI/Wan2.2-T2V-A14B` | Ja | 1 Bild | Nein | `TOGETHER_API_KEY` |
|
||||
| Vydra | `veo3` | Ja | 1 Bild (`kling`) | Nein | `VYDRA_API_KEY` |
|
||||
| xAI | `grok-imagine-video` | Ja | 1 Bild | 1 Video | `XAI_API_KEY` |
|
||||
| Provider | Standardmodell | Text | Bildreferenz | Videoreferenz | API key |
|
||||
| --------------------- | ------------------------------- | ---- | ---------------------------------------------------- | --------------- | ---------------------------------------- |
|
||||
| Alibaba | `wan2.6-t2v` | Ja | Ja (Remote-URL) | Ja (Remote-URL) | `MODELSTUDIO_API_KEY` |
|
||||
| BytePlus (1.0) | `seedance-1-0-pro-250528` | Ja | Bis zu 2 Bilder (nur I2V-Modelle; erstes + letztes Bild) | Nein | `BYTEPLUS_API_KEY` |
|
||||
| BytePlus Seedance 1.5 | `seedance-1-5-pro-251215` | Ja | Bis zu 2 Bilder (erstes + letztes Bild per Rolle) | Nein | `BYTEPLUS_API_KEY` |
|
||||
| BytePlus Seedance 2.0 | `dreamina-seedance-2-0-260128` | Ja | Bis zu 9 Referenzbilder | Bis zu 3 Videos | `BYTEPLUS_API_KEY` |
|
||||
| ComfyUI | `workflow` | Ja | 1 Bild | Nein | `COMFY_API_KEY` oder `COMFY_CLOUD_API_KEY` |
|
||||
| fal | `fal-ai/minimax/video-01-live` | Ja | 1 Bild | Nein | `FAL_KEY` |
|
||||
| Google | `veo-3.1-fast-generate-preview` | Ja | 1 Bild | 1 Video | `GEMINI_API_KEY` |
|
||||
| MiniMax | `MiniMax-Hailuo-2.3` | Ja | 1 Bild | Nein | `MINIMAX_API_KEY` |
|
||||
| OpenAI | `sora-2` | Ja | 1 Bild | 1 Video | `OPENAI_API_KEY` |
|
||||
| Qwen | `wan2.6-t2v` | Ja | Ja (Remote-URL) | Ja (Remote-URL) | `QWEN_API_KEY` |
|
||||
| Runway | `gen4.5` | Ja | 1 Bild | 1 Video | `RUNWAYML_API_SECRET` |
|
||||
| Together | `Wan-AI/Wan2.2-T2V-A14B` | Ja | 1 Bild | Nein | `TOGETHER_API_KEY` |
|
||||
| Vydra | `veo3` | Ja | 1 Bild (`kling`) | Nein | `VYDRA_API_KEY` |
|
||||
| xAI | `grok-imagine-video` | Ja | 1 Bild | 1 Video | `XAI_API_KEY` |
|
||||
|
||||
Einige Provider akzeptieren zusätzliche oder alternative API-Schlüssel-Umgebungsvariablen. Details finden Sie auf den jeweiligen [Provider-Seiten](#related).
|
||||
Einige Provider akzeptieren zusätzliche oder alternative API-Schlüssel-Umgebungsvariablen. Einzelheiten finden Sie auf den jeweiligen [Provider-Seiten](#related).
|
||||
|
||||
Führen Sie `video_generate action=list` aus, um verfügbare Provider, Modelle und
|
||||
Runtime-Modi zur Laufzeit zu prüfen.
|
||||
Führen Sie `video_generate action=list` aus, um verfügbare Provider, Modelle und Laufzeitmodi zur Laufzeit zu prüfen.
|
||||
|
||||
### Deklarierte Capability-Matrix
|
||||
### Deklarierte Fähigkeitsmatrix
|
||||
|
||||
Dies ist der explizite Modusvertrag, der von `video_generate`, Vertragstests
|
||||
und dem gemeinsamen Live-Sweep verwendet wird.
|
||||
Dies ist der explizite Modusvertrag, der von `video_generate`, Vertragstests und dem gemeinsamen Live-Sweep verwendet wird.
|
||||
|
||||
| Provider | `generate` | `imageToVideo` | `videoToVideo` | Gemeinsame Live-Umgebungen heute |
|
||||
| -------- | ---------- | -------------- | -------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| Alibaba | Ja | Ja | Ja | `generate`, `imageToVideo`; `videoToVideo` übersprungen, weil dieser Provider Remote-`http(s)`-Video-URLs benötigt |
|
||||
| BytePlus | Ja | Ja | Nein | `generate`, `imageToVideo` |
|
||||
| ComfyUI | Ja | Ja | Nein | Nicht im gemeinsamen Sweep; workflowspezifische Abdeckung liegt bei den Comfy-Tests |
|
||||
| fal | Ja | Ja | Nein | `generate`, `imageToVideo` |
|
||||
| Google | Ja | Ja | Ja | `generate`, `imageToVideo`; gemeinsames `videoToVideo` übersprungen, weil der aktuelle buffergestützte Gemini-/Veo-Sweep diese Eingabe nicht akzeptiert |
|
||||
| MiniMax | Ja | Ja | Nein | `generate`, `imageToVideo` |
|
||||
| Provider | `generate` | `imageToVideo` | `videoToVideo` | Gemeinsame Live-Lanes heute |
|
||||
| -------- | ---------- | -------------- | -------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| Alibaba | Ja | Ja | Ja | `generate`, `imageToVideo`; `videoToVideo` übersprungen, weil dieser Provider Remote-`http(s)`-Video-URLs benötigt |
|
||||
| BytePlus | Ja | Ja | Nein | `generate`, `imageToVideo` |
|
||||
| ComfyUI | Ja | Ja | Nein | Nicht im gemeinsamen Sweep; workflowspezifische Abdeckung liegt bei den Comfy-Tests |
|
||||
| fal | Ja | Ja | Nein | `generate`, `imageToVideo` |
|
||||
| Google | Ja | Ja | Ja | `generate`, `imageToVideo`; gemeinsames `videoToVideo` übersprungen, weil der aktuelle Gemini/Veo-Sweep mit pufferbasierten Eingaben diese Eingabe nicht akzeptiert |
|
||||
| MiniMax | Ja | Ja | Nein | `generate`, `imageToVideo` |
|
||||
| OpenAI | Ja | Ja | Ja | `generate`, `imageToVideo`; gemeinsames `videoToVideo` übersprungen, weil dieser Organisations-/Eingabepfad derzeit providerseitigen Inpaint-/Remix-Zugriff benötigt |
|
||||
| Qwen | Ja | Ja | Ja | `generate`, `imageToVideo`; `videoToVideo` übersprungen, weil dieser Provider Remote-`http(s)`-Video-URLs benötigt |
|
||||
| Runway | Ja | Ja | Ja | `generate`, `imageToVideo`; `videoToVideo` läuft nur, wenn das ausgewählte Modell `runway/gen4_aleph` ist |
|
||||
| Together | Ja | Ja | Nein | `generate`, `imageToVideo` |
|
||||
| Vydra | Ja | Ja | Nein | `generate`; gemeinsames `imageToVideo` übersprungen, weil das gebündelte `veo3` nur Text unterstützt und das gebündelte `kling` eine Remote-Bild-URL benötigt |
|
||||
| xAI | Ja | Ja | Ja | `generate`, `imageToVideo`; `videoToVideo` übersprungen, weil dieser Provider derzeit eine Remote-MP4-URL benötigt |
|
||||
| Qwen | Ja | Ja | Ja | `generate`, `imageToVideo`; `videoToVideo` übersprungen, weil dieser Provider Remote-`http(s)`-Video-URLs benötigt |
|
||||
| Runway | Ja | Ja | Ja | `generate`, `imageToVideo`; `videoToVideo` läuft nur, wenn das ausgewählte Modell `runway/gen4_aleph` ist |
|
||||
| Together | Ja | Ja | Nein | `generate`, `imageToVideo` |
|
||||
| Vydra | Ja | Ja | Nein | `generate`; gemeinsames `imageToVideo` übersprungen, weil das gebündelte `veo3` nur Text unterstützt und das gebündelte `kling` eine Remote-Bild-URL erfordert |
|
||||
| xAI | Ja | Ja | Ja | `generate`, `imageToVideo`; `videoToVideo` übersprungen, weil dieser Provider derzeit eine Remote-MP4-URL benötigt |
|
||||
|
||||
## Tool-Parameter
|
||||
|
||||
@ -131,68 +130,107 @@ und dem gemeinsamen Live-Sweep verwendet wird.
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ------ | --------------------------------------------------------------------------- |
|
||||
| `prompt` | string | Textbeschreibung des zu erzeugenden Videos (erforderlich für `action: "generate"`) |
|
||||
| `prompt` | string | Textbeschreibung des zu generierenden Videos (erforderlich für `action: "generate"`) |
|
||||
|
||||
### Inhaltseingaben
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | -------- | -------------------------------------- |
|
||||
| `image` | string | Einzelnes Referenzbild (Pfad oder URL) |
|
||||
| `images` | string[] | Mehrere Referenzbilder (bis zu 5) |
|
||||
| `video` | string | Einzelnes Referenzvideo (Pfad oder URL) |
|
||||
| `videos` | string[] | Mehrere Referenzvideos (bis zu 4) |
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| ------------ | -------- | --------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `image` | string | Einzelnes Referenzbild (Pfad oder URL) |
|
||||
| `images` | string[] | Mehrere Referenzbilder (bis zu 9) |
|
||||
| `imageRoles` | string[] | Optionale positionsbezogene Rollenhinweise parallel zur kombinierten Bildliste. Kanonische Werte: `first_frame`, `last_frame`, `reference_image` |
|
||||
| `video` | string | Einzelnes Referenzvideo (Pfad oder URL) |
|
||||
| `videos` | string[] | Mehrere Referenzvideos (bis zu 4) |
|
||||
| `videoRoles` | string[] | Optionale positionsbezogene Rollenhinweise parallel zur kombinierten Videoliste. Kanonischer Wert: `reference_video` |
|
||||
| `audioRef` | string | Einzelne Referenz-Audiodatei (Pfad oder URL). Wird z. B. für Hintergrundmusik oder Stimmreferenzen verwendet, wenn der Provider Audioeingaben unterstützt |
|
||||
| `audioRefs` | string[] | Mehrere Referenz-Audiodateien (bis zu 3) |
|
||||
| `audioRoles` | string[] | Optionale positionsbezogene Rollenhinweise parallel zur kombinierten Audioliste. Kanonischer Wert: `reference_audio` |
|
||||
|
||||
### Stilsteuerung
|
||||
Rollenhinweise werden unverändert an den Provider weitergeleitet. Kanonische Werte stammen aus der Union `VideoGenerationAssetRole`, aber Provider können zusätzliche Rollen-Strings akzeptieren. `*Roles`-Arrays dürfen nicht mehr Einträge haben als die entsprechende Referenzliste; Off-by-one-Fehler schlagen mit einer klaren Fehlermeldung fehl. Verwenden Sie einen leeren String, um einen Platz nicht zu setzen.
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| ----------------- | ------- | ------------------------------------------------------------------------ |
|
||||
| `aspectRatio` | string | `1:1`, `2:3`, `3:2`, `3:4`, `4:3`, `4:5`, `5:4`, `9:16`, `16:9`, `21:9` |
|
||||
| `resolution` | string | `480P`, `720P`, `768P` oder `1080P` |
|
||||
| `durationSeconds` | number | Zieldauer in Sekunden (auf den nächsten vom Provider unterstützten Wert gerundet) |
|
||||
| `size` | string | Größenhinweis, wenn der Provider ihn unterstützt |
|
||||
| `audio` | boolean | Erzeugten Ton aktivieren, wenn unterstützt |
|
||||
| `watermark` | boolean | Watermarking des Providers umschalten, wenn unterstützt |
|
||||
### Stilsteuerungen
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| ----------------- | ------- | --------------------------------------------------------------------------------------- |
|
||||
| `aspectRatio` | string | `1:1`, `2:3`, `3:2`, `3:4`, `4:3`, `4:5`, `5:4`, `9:16`, `16:9`, `21:9` oder `adaptive` |
|
||||
| `resolution` | string | `480P`, `720P`, `768P` oder `1080P` |
|
||||
| `durationSeconds` | number | Zieldauer in Sekunden (auf den nächsten vom Provider unterstützten Wert gerundet) |
|
||||
| `size` | string | Größenhinweis, wenn der Provider dies unterstützt |
|
||||
| `audio` | boolean | Generierten Ton in der Ausgabe aktivieren, wenn unterstützt. Unterscheidet sich von `audioRef*` (Eingaben) |
|
||||
| `watermark` | boolean | Provider-Wasserzeichen aktivieren oder deaktivieren, wenn unterstützt |
|
||||
|
||||
`adaptive` ist ein providerspezifischer Sentinel-Wert: Er wird unverändert an Provider weitergeleitet, die `adaptive` in ihren Fähigkeiten deklarieren (z. B. verwendet BytePlus Seedance ihn, um das Seitenverhältnis automatisch aus den Abmessungen des Eingabebildes zu erkennen). Provider, die ihn nicht deklarieren, geben den Wert über `details.ignoredOverrides` im Tool-Ergebnis aus, damit sichtbar ist, dass er verworfen wurde.
|
||||
|
||||
### Erweitert
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| ---------- | ------ | --------------------------------------------------- |
|
||||
| `action` | string | `"generate"` (Standard), `"status"` oder `"list"` |
|
||||
| `model` | string | Provider-/Modell-Override (z. B. `runway/gen4.5`) |
|
||||
| `filename` | string | Hinweis für den Ausgabedateinamen |
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| ----------------- | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `action` | string | `"generate"` (Standard), `"status"` oder `"list"` |
|
||||
| `model` | string | Provider-/Modell-Override (z. B. `runway/gen4.5`) |
|
||||
| `filename` | string | Hinweis für den Ausgabedateinamen |
|
||||
| `providerOptions` | object | Providerspezifische Optionen als JSON-Objekt (z. B. `{"seed": 42, "draft": true}`). Provider, die ein typisiertes Schema deklarieren, validieren Schlüssel und Typen; unbekannte Schlüssel oder Typabweichungen führen dazu, dass der Kandidat beim Fallback übersprungen wird. Provider ohne deklariertes Schema erhalten die Optionen unverändert. Führen Sie `video_generate action=list` aus, um zu sehen, was jeder Provider akzeptiert |
|
||||
|
||||
Nicht alle Provider unterstützen alle Parameter. OpenClaw normalisiert die Dauer bereits auf den jeweils nächstunterstützten Provider-Wert und ordnet außerdem übersetzte Geometriehinweise wie Größe-zu-Seitenverhältnis um, wenn ein Fallback-Provider eine andere Steueroberfläche bereitstellt. Wirklich nicht unterstützte Overrides werden nach bestem Bemühen ignoriert und als Warnungen im Tool-Ergebnis gemeldet. Harte Capability-Grenzen (zum Beispiel zu viele Referenzeingaben) schlagen vor dem Absenden fehl.
|
||||
Nicht alle Provider unterstützen alle Parameter. OpenClaw normalisiert die Dauer bereits auf den nächstgelegenen vom Provider unterstützten Wert und ordnet außerdem übersetzte Geometriehinweise wie Größen-zu-Seitenverhältnis neu zu, wenn ein Fallback-Provider eine andere Steuerungsoberfläche bereitstellt. Wirklich nicht unterstützte Overrides werden nach bestem Bemühen ignoriert und als Warnungen im Tool-Ergebnis gemeldet. Harte Fähigkeitsgrenzen (wie zu viele Referenzeingaben) schlagen vor dem Absenden fehl.
|
||||
|
||||
Tool-Ergebnisse melden die angewendeten Einstellungen. Wenn OpenClaw während eines Provider-Fallbacks Dauer oder Geometrie umordnet, spiegeln die zurückgegebenen Werte für `durationSeconds`, `size`, `aspectRatio` und `resolution` das wider, was tatsächlich übermittelt wurde, und `details.normalization` erfasst die Übersetzung von angefordert zu angewendet.
|
||||
Tool-Ergebnisse melden die angewendeten Einstellungen. Wenn OpenClaw Dauer oder Geometrie während des Provider-Fallbacks neu zuordnet, spiegeln die zurückgegebenen Werte `durationSeconds`, `size`, `aspectRatio` und `resolution` wider, was tatsächlich übermittelt wurde, und `details.normalization` erfasst die Übersetzung von angefordert zu angewendet.
|
||||
|
||||
Referenzeingaben wählen außerdem den Runtime-Modus:
|
||||
Referenzeingaben wählen auch den Laufzeitmodus aus:
|
||||
|
||||
- Keine Referenzmedien: `generate`
|
||||
- Beliebige Bildreferenz: `imageToVideo`
|
||||
- Beliebige Videoreferenz: `videoToVideo`
|
||||
- Referenz-Audioeingaben ändern den aufgelösten Modus nicht; sie werden zusätzlich zu dem durch Bild-/Videoreferenzen gewählten Modus angewendet und funktionieren nur mit Providern, die `maxInputAudios` deklarieren
|
||||
|
||||
Gemischte Bild- und Videoreferenzen sind keine stabile gemeinsame Capability-Oberfläche.
|
||||
Gemischte Bild- und Videoreferenzen sind keine stabile gemeinsame Fähigkeitsoberfläche.
|
||||
Bevorzugen Sie einen Referenztyp pro Anfrage.
|
||||
|
||||
#### Fallback und typisierte Optionen
|
||||
|
||||
Einige Fähigkeitsprüfungen werden auf der Fallback-Ebene statt an der
|
||||
Tool-Grenze angewendet, damit eine Anfrage, die die Limits des primären
|
||||
Providers überschreitet, trotzdem auf einem geeigneten Fallback ausgeführt
|
||||
werden kann:
|
||||
|
||||
- Wenn der aktive Kandidat kein `maxInputAudios` deklariert (oder es als
|
||||
`0` deklariert), wird er übersprungen, wenn die Anfrage Audio-Referenzen
|
||||
enthält, und der nächste Kandidat wird versucht.
|
||||
- Wenn `maxDurationSeconds` des aktiven Kandidaten unter den angeforderten
|
||||
`durationSeconds` liegt und der Kandidat keine
|
||||
`supportedDurationSeconds`-Liste deklariert, wird er übersprungen.
|
||||
- Wenn die Anfrage `providerOptions` enthält und der aktive Kandidat
|
||||
ausdrücklich ein typisiertes `providerOptions`-Schema deklariert, wird der Kandidat
|
||||
übersprungen, wenn die angegebenen Schlüssel nicht im Schema enthalten sind oder die Werttypen nicht
|
||||
übereinstimmen. Provider, die noch kein Schema deklariert haben, erhalten die
|
||||
Optionen unverändert (rückwärtskompatibles Durchreichen). Ein Provider kann
|
||||
sich ausdrücklich von allen Provider-Optionen abmelden, indem er ein leeres Schema
|
||||
deklariert (`capabilities.providerOptions: {}`), was zum selben Überspringen wie bei einem
|
||||
Typkonflikt führt.
|
||||
|
||||
Der erste Überspringgrund in einer Anfrage wird mit `warn` protokolliert, damit Betreiber sehen,
|
||||
wann ihr primärer Provider übergangen wurde; nachfolgende Überspringungen werden mit
|
||||
`debug` protokolliert, damit lange Fallback-Ketten ruhig bleiben. Wenn jeder Kandidat übersprungen wird,
|
||||
enthält der aggregierte Fehler den Überspringgrund für jeden einzelnen.
|
||||
|
||||
## Aktionen
|
||||
|
||||
- **generate** (Standard) -- ein Video aus dem angegebenen Prompt und optionalen Referenzeingaben erstellen.
|
||||
- **status** -- den Zustand der laufenden Videoaufgabe für die aktuelle Sitzung prüfen, ohne eine weitere Erzeugung zu starten.
|
||||
- **list** -- verfügbare Provider, Modelle und deren Capabilities anzeigen.
|
||||
- **status** -- den Status der laufenden Videoaufgabe für die aktuelle Sitzung prüfen, ohne eine weitere Generierung zu starten.
|
||||
- **list** -- verfügbare Provider, Modelle und deren Fähigkeiten anzeigen.
|
||||
|
||||
## Modellauswahl
|
||||
|
||||
Beim Erzeugen eines Videos löst OpenClaw das Modell in dieser Reihenfolge auf:
|
||||
Beim Generieren eines Videos löst OpenClaw das Modell in dieser Reihenfolge auf:
|
||||
|
||||
1. **Tool-Parameter `model`** -- falls der Agent beim Aufruf einen angibt.
|
||||
1. **`model`-Tool-Parameter** -- wenn der Agent in dem Aufruf einen angibt.
|
||||
2. **`videoGenerationModel.primary`** -- aus der Konfiguration.
|
||||
3. **`videoGenerationModel.fallbacks`** -- werden der Reihe nach versucht.
|
||||
3. **`videoGenerationModel.fallbacks`** -- wird in der angegebenen Reihenfolge versucht.
|
||||
4. **Automatische Erkennung** -- verwendet Provider mit gültiger Authentifizierung, beginnend mit dem aktuellen Standard-Provider, dann die übrigen Provider in alphabetischer Reihenfolge.
|
||||
|
||||
Wenn ein Provider fehlschlägt, wird automatisch der nächste Kandidat versucht. Wenn alle Kandidaten fehlschlagen, enthält der Fehler Details aus jedem Versuch.
|
||||
|
||||
Setzen Sie `agents.defaults.mediaGenerationAutoProviderFallback: false`, wenn Sie möchten,
|
||||
dass die Videoerzeugung nur die expliziten Einträge `model`, `primary` und `fallbacks` verwendet.
|
||||
dass die Videogenerierung nur die expliziten Einträge `model`, `primary` und `fallbacks`
|
||||
verwendet.
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -207,56 +245,30 @@ dass die Videoerzeugung nur die expliziten Einträge `model`, `primary` und `fal
|
||||
}
|
||||
```
|
||||
|
||||
HeyGen video-agent auf fal kann festgelegt werden mit:
|
||||
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
videoGenerationModel: {
|
||||
primary: "fal/fal-ai/heygen/v2/video-agent",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
Seedance 2.0 auf fal kann festgelegt werden mit:
|
||||
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
videoGenerationModel: {
|
||||
primary: "fal/bytedance/seedance-2.0/fast/text-to-video",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
## Hinweise zu Providern
|
||||
|
||||
| Provider | Hinweise |
|
||||
| -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| Alibaba | Verwendet den asynchronen DashScope-/Model-Studio-Endpoint. Referenzbilder und -videos müssen Remote-`http(s)`-URLs sein. |
|
||||
| BytePlus | Nur eine einzelne Bildreferenz. |
|
||||
| ComfyUI | Workflow-gesteuerte lokale oder Cloud-Ausführung. Unterstützt Text-zu-Video und Bild-zu-Video über den konfigurierten Graphen. |
|
||||
| fal | Verwendet einen warteschlangengestützten Ablauf für lang laufende Jobs. Nur eine einzelne Bildreferenz. Enthält HeyGen video-agent und Seedance 2.0 Text-zu-Video- und Bild-zu-Video-Modell-Refs. |
|
||||
| Google | Verwendet Gemini/Veo. Unterstützt ein Bild oder ein Video als Referenz. |
|
||||
| MiniMax | Nur eine einzelne Bildreferenz. |
|
||||
| OpenAI | Nur der Override `size` wird weitergegeben. Andere Stil-Overrides (`aspectRatio`, `resolution`, `audio`, `watermark`) werden mit einer Warnung ignoriert. |
|
||||
| Qwen | Dasselbe DashScope-Backend wie Alibaba. Referenzeingaben müssen Remote-`http(s)`-URLs sein; lokale Dateien werden vorab abgelehnt. |
|
||||
| Runway | Unterstützt lokale Dateien über Data-URIs. Video-zu-Video erfordert `runway/gen4_aleph`. Rein textbasierte Läufe stellen die Seitenverhältnisse `16:9` und `9:16` bereit. |
|
||||
| Together | Nur eine einzelne Bildreferenz. |
|
||||
| Vydra | Verwendet direkt `https://www.vydra.ai/api/v1`, um Redirects zu vermeiden, die Authentifizierung verlieren. `veo3` ist gebündelt nur als Text-zu-Video; `kling` erfordert eine Remote-Bild-URL. |
|
||||
| xAI | Unterstützt Text-zu-Video, Bild-zu-Video und Remote-Workflows zum Bearbeiten/Erweitern von Videos. |
|
||||
| Provider | Hinweise |
|
||||
| --------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| Alibaba | Verwendet den asynchronen DashScope-/Model-Studio-Endpunkt. Referenzbilder und -videos müssen Remote-`http(s)`-URLs sein. |
|
||||
| BytePlus (1.0) | Provider-ID `byteplus`. Modelle: `seedance-1-0-pro-250528` (Standard), `seedance-1-0-pro-t2v-250528`, `seedance-1-0-pro-fast-251015`, `seedance-1-0-lite-t2v-250428`, `seedance-1-0-lite-i2v-250428`. T2V-Modelle (`*-t2v-*`) akzeptieren keine Bildeingaben; I2V-Modelle und allgemeine `*-pro-*`-Modelle unterstützen ein einzelnes Referenzbild (erstes Frame). Übergeben Sie das Bild positionsbezogen oder setzen Sie `role: "first_frame"`. T2V-Modell-IDs werden bei Bereitstellung eines Bildes automatisch auf die entsprechende I2V-Variante umgestellt. Unterstützte `providerOptions`-Schlüssel: `seed` (number), `draft` (boolean, erzwingt 480p), `camera_fixed` (boolean). |
|
||||
| BytePlus Seedance 1.5 | Erfordert das Plugin [`@openclaw/byteplus-modelark`](https://www.npmjs.com/package/@openclaw/byteplus-modelark). Provider-ID `byteplus-seedance15`. Modell: `seedance-1-5-pro-251215`. Verwendet die einheitliche `content[]`-API. Unterstützt höchstens 2 Eingabebilder (first_frame + last_frame). Alle Eingaben müssen Remote-`https://`-URLs sein. Setzen Sie `role: "first_frame"` / `"last_frame"` für jedes Bild oder übergeben Sie Bilder positionsbezogen. `aspectRatio: "adaptive"` erkennt das Verhältnis automatisch aus dem Eingabebild. `audio: true` wird auf `generate_audio` abgebildet. `providerOptions.seed` (number) wird weitergeleitet. |
|
||||
| BytePlus Seedance 2.0 | Erfordert das Plugin [`@openclaw/byteplus-modelark`](https://www.npmjs.com/package/@openclaw/byteplus-modelark). Provider-ID `byteplus-seedance2`. Modelle: `dreamina-seedance-2-0-260128`, `dreamina-seedance-2-0-fast-260128`. Verwendet die einheitliche `content[]`-API. Unterstützt bis zu 9 Referenzbilder, 3 Referenzvideos und 3 Referenz-Audiodateien. Alle Eingaben müssen Remote-`https://`-URLs sein. Setzen Sie `role` für jedes Asset — unterstützte Werte: `"first_frame"`, `"last_frame"`, `"reference_image"`, `"reference_video"`, `"reference_audio"`. `aspectRatio: "adaptive"` erkennt das Verhältnis automatisch aus dem Eingabebild. `audio: true` wird auf `generate_audio` abgebildet. `providerOptions.seed` (number) wird weitergeleitet. |
|
||||
| ComfyUI | Workflow-gesteuerte lokale oder Cloud-Ausführung. Unterstützt Text-zu-Video und Bild-zu-Video über den konfigurierten Graphen. |
|
||||
| fal | Verwendet einen warteschlangenbasierten Ablauf für langlaufende Aufträge. Nur eine einzelne Bildreferenz. |
|
||||
| Google | Verwendet Gemini/Veo. Unterstützt eine Bild- oder eine Videoreferenz. |
|
||||
| MiniMax | Nur eine einzelne Bildreferenz. |
|
||||
| OpenAI | Nur das Override `size` wird weitergeleitet. Andere Stil-Overrides (`aspectRatio`, `resolution`, `audio`, `watermark`) werden mit einer Warnung ignoriert. |
|
||||
| Qwen | Gleiches DashScope-Backend wie Alibaba. Referenzeingaben müssen Remote-`http(s)`-URLs sein; lokale Dateien werden vorab abgelehnt. |
|
||||
| Runway | Unterstützt lokale Dateien über Daten-URIs. Für Video-zu-Video ist `runway/gen4_aleph` erforderlich. Reine Textläufe bieten die Seitenverhältnisse `16:9` und `9:16`. |
|
||||
| Together | Nur eine einzelne Bildreferenz. |
|
||||
| Vydra | Verwendet direkt `https://www.vydra.ai/api/v1`, um Redirects zu vermeiden, bei denen die Authentifizierung verloren geht. `veo3` ist gebündelt nur als Text-zu-Video verfügbar; `kling` erfordert eine Remote-Bild-URL. |
|
||||
| xAI | Unterstützt Text-zu-Video, Bild-zu-Video sowie Remote-Abläufe zum Bearbeiten/Erweitern von Videos. |
|
||||
|
||||
## Provider-Capability-Modi
|
||||
## Provider-Fähigkeitsmodi
|
||||
|
||||
Der gemeinsame Vertrag für Videoerzeugung erlaubt Providern jetzt, modusspezifische
|
||||
Capabilities zu deklarieren, statt nur flache aggregierte Grenzen. Neue Provider-
|
||||
Implementierungen sollten explizite Modusblöcke bevorzugen:
|
||||
Der gemeinsame Vertrag für die Videogenerierung erlaubt es Providern jetzt, modusspezifische
|
||||
Fähigkeiten zu deklarieren, statt nur flache aggregierte Limits. Neue Provider-Implementierungen
|
||||
sollten explizite Modusblöcke bevorzugen:
|
||||
|
||||
```typescript
|
||||
capabilities: {
|
||||
@ -280,15 +292,15 @@ capabilities: {
|
||||
}
|
||||
```
|
||||
|
||||
Flache aggregierte Felder wie `maxInputImages` und `maxInputVideos` reichen nicht
|
||||
aus, um Unterstützung für Transformationsmodi auszuweisen. Provider sollten
|
||||
Flache aggregierte Felder wie `maxInputImages` und `maxInputVideos` reichen
|
||||
nicht aus, um die Unterstützung von Transformationsmodi auszuweisen. Provider sollten
|
||||
`generate`, `imageToVideo` und `videoToVideo` explizit deklarieren, damit Live-Tests,
|
||||
Vertragstests und das gemeinsame Tool `video_generate` die Modusunterstützung
|
||||
deterministisch validieren können.
|
||||
|
||||
## Live-Tests
|
||||
|
||||
Opt-in-Live-Abdeckung für die gemeinsamen gebündelten Provider:
|
||||
Opt-in-Live-Abdeckung für die gemeinsam gebündelten Provider:
|
||||
|
||||
```bash
|
||||
OPENCLAW_LIVE_TEST=1 pnpm test:live -- extensions/video-generation-providers.live.test.ts
|
||||
@ -301,21 +313,21 @@ pnpm test:live:media video
|
||||
```
|
||||
|
||||
Diese Live-Datei lädt fehlende Provider-Umgebungsvariablen aus `~/.profile`, bevorzugt
|
||||
standardmäßig API-Schlüssel aus Live-/Umgebungsvariablen gegenüber gespeicherten Auth-Profilen und führt die
|
||||
deklarierten Modi aus, die sie sicher mit lokalen Medien testen kann:
|
||||
standardmäßig Live-/Umgebungs-API-Schlüssel vor gespeicherten Auth-Profilen und führt die
|
||||
deklarierten Modi aus, die sie mit lokalen Medien sicher testen kann:
|
||||
|
||||
- `generate` für jeden Provider im Sweep
|
||||
- `imageToVideo`, wenn `capabilities.imageToVideo.enabled`
|
||||
- `videoToVideo`, wenn `capabilities.videoToVideo.enabled` und Provider/Modell
|
||||
buffergestützte lokale Videoeingaben im gemeinsamen Sweep akzeptiert
|
||||
- `videoToVideo`, wenn `capabilities.videoToVideo.enabled` und der Provider/das Modell
|
||||
im gemeinsamen Sweep pufferbasierte lokale Videoeingaben akzeptiert
|
||||
|
||||
Heute deckt die gemeinsame `videoToVideo`-Live-Umgebung ab:
|
||||
Heute deckt die gemeinsame `videoToVideo`-Live-Lane Folgendes ab:
|
||||
|
||||
- `runway` nur, wenn Sie `runway/gen4_aleph` auswählen
|
||||
|
||||
## Konfiguration
|
||||
|
||||
Legen Sie das Standardmodell für die Videoerzeugung in Ihrer OpenClaw-Konfiguration fest:
|
||||
Legen Sie das Standardmodell für die Videogenerierung in Ihrer OpenClaw-Konfiguration fest:
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -338,8 +350,8 @@ openclaw config set agents.defaults.videoGenerationModel.primary "qwen/wan2.6-t2
|
||||
|
||||
## Verwandt
|
||||
|
||||
- [Tools Overview](/de/tools)
|
||||
- [Background Tasks](/de/automation/tasks) -- Aufgabenverfolgung für asynchrone Videoerzeugung
|
||||
- [Tool-Übersicht](/de/tools)
|
||||
- [Hintergrundaufgaben](/de/automation/tasks) -- Aufgabenverfolgung für asynchrone Videogenerierung
|
||||
- [Alibaba Model Studio](/de/providers/alibaba)
|
||||
- [BytePlus](/de/concepts/model-providers#byteplus-international)
|
||||
- [ComfyUI](/de/providers/comfy)
|
||||
@ -352,5 +364,5 @@ openclaw config set agents.defaults.videoGenerationModel.primary "qwen/wan2.6-t2
|
||||
- [Together AI](/de/providers/together)
|
||||
- [Vydra](/de/providers/vydra)
|
||||
- [xAI](/de/providers/xai)
|
||||
- [Configuration Reference](/de/gateway/configuration-reference#agent-defaults)
|
||||
- [Models](/de/concepts/models)
|
||||
- [Konfigurationsreferenz](/de/gateway/configuration-reference#agent-defaults)
|
||||
- [Modelle](/de/concepts/models)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user