CLI-Backend-Plugins ermöglichen OpenClaw, eine lokale KI-CLI als Textinferenz-Backend aufzurufen. Das Backend erscheint als Provider-Präfix in Modellreferenzen:Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
Wenn der Upstream-Dienst eine normale HTTP-Modell-API bereitstellt, schreiben Sie stattdessen ein Provider-Plugin. Wenn die Upstream-Laufzeit vollständige Agent-Sitzungen, Tool-Ereignisse, Compaction oder den Status von Hintergrundaufgaben verwaltet, verwenden Sie ein Agent-Harness.
Was das Plugin verwaltet
Ein CLI-Backend-Plugin hat drei Verträge:| Vertrag | Datei | Zweck |
|---|---|---|
| Paketeinstieg | package.json | Verweist OpenClaw auf das Laufzeitmodul des Plugins |
| Manifest-Zuständigkeit | openclaw.plugin.json | Deklariert die Backend-ID, bevor die Laufzeit geladen wird |
| Laufzeitregistrierung | index.ts | Ruft api.registerCliBackend(...) mit Befehlsvorgaben auf |
api.registerCliBackend(...) aufruft.
Minimales Backend-Plugin
Paketmetadaten erstellen
package.json
./src/index.ts ist, fügen Sie openclaw.runtimeExtensions hinzu, das auf das gebaute JavaScript-Peer verweist. Siehe Einstiegspunkte.Backend-Zuständigkeit deklarieren
openclaw.plugin.json
cliBackends ist die Liste der Laufzeit-Zuständigkeiten. Sie ermöglicht OpenClaw, das Plugin automatisch zu laden, wenn die Konfiguration oder Modellauswahl acme-cli/... erwähnt.setup.cliBackends ist die deskriptorbasierte Setup-Oberfläche. Fügen Sie sie hinzu, wenn Modellerkennung, Onboarding oder Status das Backend erkennen sollen, ohne die Plugin-Laufzeit zu laden. Verwenden Sie requiresRuntime: false nur, wenn diese statischen Deskriptoren für das Setup ausreichen.Konfigurationsform
CliBackendConfig beschreibt, wie OpenClaw die CLI starten und parsen soll:
| Feld | Verwendung |
|---|---|
command | Binärname oder absoluter Befehlspfad |
args | Basis-argv für neue Ausführungen |
resumeArgs | Alternatives argv für fortgesetzte Sitzungen; unterstützt {sessionId} |
output / resumeOutput | Parser: json, jsonl oder text |
input | Prompt-Transport: arg oder stdin |
modelArg | Flag vor der Modell-ID |
modelAliases | OpenClaw-Modell-IDs CLI-nativen IDs zuordnen |
sessionArg / sessionArgs | Wie eine Sitzungs-ID übergeben wird |
sessionMode | always, existing oder none |
sessionIdFields | JSON-Felder, die OpenClaw aus der CLI-Ausgabe liest |
systemPromptArg / systemPromptFileArg | System-Prompt-Transport |
systemPromptWhen | first, always oder never |
imageArg / imageMode | Unterstützung für Bildpfade |
serialize | Ausführungen desselben Backends geordnet halten |
reliability.watchdog | Abstimmung des Timeouts ohne Ausgabe |
Erweiterte Backend-Hooks
CliBackendPlugin kann außerdem Folgendes definieren:
| Hook | Verwendung |
|---|---|
normalizeConfig(config, context) | Veraltete Benutzerkonfiguration nach dem Zusammenführen umschreiben |
resolveExecutionArgs(ctx) | Anfragebezogene Flags wie Thinking-Aufwand hinzufügen |
prepareExecution(ctx) | Temporäre Auth- oder Konfigurationsbrücken vor dem Start erstellen |
transformSystemPrompt(ctx) | Eine letzte CLI-spezifische System-Prompt-Transformation anwenden |
textTransforms | Bidirektionale Prompt-/Ausgabe-Ersetzungen |
defaultAuthProfileId | Ein bestimmtes OpenClaw-Auth-Profil bevorzugen |
authEpochMode | Festlegen, wie Auth-Änderungen gespeicherte CLI-Sitzungen ungültig machen |
nativeToolMode | Deklarieren, ob die CLI immer aktive native Tools hat |
bundleMcp / bundleMcpMode | In OpenClaws loopback-MCP-Tool-Bridge einsteigen |
MCP-Tool-Bridge
CLI-Backends erhalten OpenClaw-Tools standardmäßig nicht. Wenn die CLI eine MCP-Konfiguration nutzen kann, aktivieren Sie dies ausdrücklich:| Modus | Verwendung |
|---|---|
claude-config-file | CLIs, die eine MCP-Konfigurationsdatei akzeptieren |
codex-config-overrides | CLIs, die Konfigurations-Overrides auf argv akzeptieren |
gemini-system-settings | CLIs, die MCP-Einstellungen aus ihrem System-Einstellungsverzeichnis lesen |
nativeToolMode: "always-on", damit OpenClaw geschlossen fehlschlagen kann, wenn ein Aufrufer keine nativen Tools verlangt.
Benutzerkonfiguration
Benutzer können jede Backend-Vorgabe überschreiben:command, wenn sich die Binärdatei außerhalb von PATH befindet.
Verifizierung
Fügen Sie für gebündelte Plugins einen fokussierten Test rund um den Builder und die Setup-Registrierung hinzu und führen Sie dann die gezielte Test-Lane des Plugins aus:Checkliste
package.json hat openclaw.extensions und gebaute Laufzeiteinträge für veröffentlichte Paketeopenclaw.plugin.json deklariert cliBackends und bewusstes activation.onStartupsetup.cliBackends ist vorhanden, wenn Setup/Modellerkennung das Backend kalt sehen sollapi.registerCliBackend(...) verwendet dieselbe Backend-ID wie das ManifestBenutzer-Overrides unter
agents.defaults.cliBackends.<id> gewinnen weiterhinSitzungs-, System-Prompt-, Bild- und Ausgabeparser-Einstellungen entsprechen dem echten CLI-Vertrag
Gezielte Tests und mindestens ein Live-CLI-Smoke weisen den Backend-Pfad nach
Verwandte Themen
- CLI-Backends - Benutzerkonfiguration und Laufzeitverhalten
- Plugins erstellen - Paket- und Manifest-Grundlagen
- Plugin SDK-Übersicht - Referenz zur Registrierungs-API
- Plugin-Manifest -
cliBackendsund Setup-Deskriptoren - Agent-Harness - vollständige externe Agent-Laufzeiten