CLI-backendplugins laten OpenClaw een lokale AI-CLI aanroepen als tekstinferentiebackend. De backend verschijnt als een providerprefix in modelverwijzingen: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.
Als de upstreamservice een normale HTTP-model-API beschikbaar stelt, schrijf dan in plaats daarvan een
providerplugin. Als de upstreamruntime volledige agentsessies, toolgebeurtenissen, Compaction of achtergrondtaakstatus beheert, gebruik dan een agentharness.
Wat de plugin beheert
Een CLI-backendplugin heeft drie contracten:| Contract | Bestand | Doel |
|---|---|---|
| Pakketinvoer | package.json | Wijst OpenClaw naar de runtime-module van de plugin |
| Manifesteigenaarschap | openclaw.plugin.json | Declareert de backend-id voordat de runtime wordt geladen |
| Runtimeregistratie | index.ts | Roept api.registerCliBackend(...) aan met opdrachtstandaarden |
api.registerCliBackend(...) aanroept.
Minimale backendplugin
Create package metadata
package.json
./src/index.ts is, voeg dan openclaw.runtimeExtensions toe die naar de gebouwde JavaScript-tegenhanger wijst. Zie Invoerpunten.Declare backend ownership
openclaw.plugin.json
cliBackends is de runtime-eigenaarschapslijst. Hiermee kan OpenClaw de plugin automatisch laden wanneer configuratie of modelselectie acme-cli/... vermeldt.setup.cliBackends is het descriptor-first setup-oppervlak. Voeg het toe wanneer modeldiscovery, onboarding of status de backend moet herkennen zonder pluginruntime te laden. Gebruik requiresRuntime: false alleen wanneer die statische descriptors voldoende zijn voor setup.Configuratievorm
CliBackendConfig beschrijft hoe OpenClaw de CLI moet starten en parsen:
| Veld | Gebruik |
|---|---|
command | Binaire naam of absoluut opdrachtpad |
args | Basis-argv voor nieuwe runs |
resumeArgs | Alternatieve argv voor hervatte sessies; ondersteunt {sessionId} |
output / resumeOutput | Parser: json, jsonl of text |
input | Prompttransport: arg of stdin |
modelArg | Vlag die voor de model-id wordt gebruikt |
modelAliases | Koppelt OpenClaw-model-id’s aan CLI-native id’s |
sessionArg / sessionArgs | Hoe een sessie-id wordt doorgegeven |
sessionMode | always, existing of none |
sessionIdFields | JSON-velden die OpenClaw uit CLI-uitvoer leest |
systemPromptArg / systemPromptFileArg | Systeemprompttransport |
systemPromptWhen | first, always of never |
imageArg / imageMode | Ondersteuning voor afbeeldingspaden |
serialize | Houd runs op dezelfde backend geordend |
reliability.watchdog | Afstelling van time-out zonder uitvoer |
Geavanceerde backendhooks
CliBackendPlugin kan ook definiëren:
| Hook | Gebruik |
|---|---|
normalizeConfig(config, context) | Herschrijf verouderde gebruikersconfiguratie na samenvoegen |
resolveExecutionArgs(ctx) | Voeg aanvraaggebonden vlaggen toe, zoals denkintensiteit |
prepareExecution(ctx) | Maak tijdelijke auth- of configuratiebruggen vóór het starten |
transformSystemPrompt(ctx) | Pas een laatste CLI-specifieke systeemprompttransformatie toe |
textTransforms | Bidirectionele prompt-/uitvoervervangingen |
defaultAuthProfileId | Geef voorkeur aan een specifiek OpenClaw-auth-profiel |
authEpochMode | Bepaal hoe authwijzigingen opgeslagen CLI-sessies ongeldig maken |
nativeToolMode | Declareer of de CLI altijd ingeschakelde native tools heeft |
bundleMcp / bundleMcpMode | Kies voor OpenClaw’s loopback-MCP-toolbrug |
MCP-toolbrug
CLI-backends ontvangen standaard geen OpenClaw-tools. Als de CLI een MCP-configuratie kan gebruiken, kies daar dan expliciet voor:| Modus | Gebruik |
|---|---|
claude-config-file | CLI’s die een MCP-configuratiebestand accepteren |
codex-config-overrides | CLI’s die configuratie-overschrijvingen op argv accepteren |
gemini-system-settings | CLI’s die MCP-instellingen lezen uit hun systeeminstellingenmap |
nativeToolMode: "always-on" in zodat OpenClaw gesloten kan falen wanneer een aanroeper geen native tools vereist.
Gebruikersconfiguratie
Gebruikers kunnen elke backendstandaard overschrijven:command wanneer de binary buiten PATH staat.
Verificatie
Voor gebundelde plugins voeg je een gerichte test toe rond de builder en setupregistratie, en voer je daarna de gerichte testlane van de plugin uit:Checklist
package.json heeft openclaw.extensions en gebouwde runtime-invoerpunten voor gepubliceerde pakkettenopenclaw.plugin.json declareert cliBackends en intentionele activation.onStartupsetup.cliBackends is aanwezig wanneer setup/modeldiscovery de backend koud moet zienapi.registerCliBackend(...) gebruikt dezelfde backend-id als het manifestGebruikersoverschrijvingen onder
agents.defaults.cliBackends.<id> winnen nog steedsSessie-, systeemprompt-, afbeeldings- en uitvoerparserinstellingen komen overeen met het echte CLI-contract
Gerichte tests en ten minste één live CLI-smoke bewijzen het backendpad
Gerelateerd
- CLI-backends - gebruikersconfiguratie en runtimegedrag
- Plugins bouwen - basisprincipes van pakket en manifest
- Overzicht van Plugin SDK - referentie voor registratie-API
- Pluginmanifest -
cliBackendsen setupdescriptors - Agentharness - volledige externe agentruntimes