CLI-backends (reservruntime)
OpenClaw kan köra lokala AI CLI:er som en text-only fallback när API-leverantörer är nere, hastighetsbegränsade, eller tillfälligt missköter sig. Detta är avsiktligt konservativt:- Verktyg är inaktiverade (inga verktygsanrop).
- Text in → text ut (pålitligt).
- Sessioner stöds (så att uppföljande turer förblir sammanhängande).
- Bilder kan skickas vidare om CLI:t accepterar bildsökvägar.
Nybörjarvänlig snabbstart
Du kan använda Claude Code CLI utan någon konfig (OpenClaw levereras med ett inbyggt standardval):Använda det som reserv
Lägg till en CLI-backend i din reservlista så att den bara körs när primära modeller fallerar:- Om du använder
agents.defaults.models(tillåtelselista) måste du inkluderaclaude-cli/.... - Om den primära leverantören fallerar (autentisering, rate limits, timeouts) kommer OpenClaw att prova CLI-backenden härnäst.
Översikt över konfiguration
Alla CLI-backends finns under:claude-cli, my-cli).
Leverantörs-id blir den vänstra sidan av din modell ref:
Exempelkonfiguration
Hur det fungerar
- Väljer en backend baserat på leverantörsprefixet (
claude-cli/...). - Bygger en systemprompt med samma OpenClaw-prompt + arbetsytekontext.
- Kör CLI:t med ett sessions-id (om det stöds) så att historiken förblir konsekvent.
- Tolkar utdata (JSON eller ren text) och returnerar den slutliga texten.
- Består sessions-id:n per backend, så att uppföljningar återanvänder samma CLI-session.
Sessioner
- Om CLI stöder sessioner, ange
sessionArg(t.ex.--session-id) ellersessionArgs(platshållare{sessionId}) när ID måste infogas i flera flaggor. - Om CLI:t använder ett resume-underkommando med andra flaggor, sätt
resumeArgs(ersätterargsvid återupptagning) och valfrittresumeOutput(för icke-JSON-återupptagningar). sessionMode:always: skicka alltid ett sessions-id (ny UUID om ingen är lagrad).existing: skicka bara ett sessions-id om ett tidigare har lagrats.none: skicka aldrig ett sessions-id.
Bilder (vidarebefordran)
Om ditt CLI accepterar bildsökvägar, sättimageArg:
imageArg är satt, dessa
vägar skickas som CLI args. Om imageArg saknas, lägger OpenClaw till filsökvägarna
till prompten (sökvägsinjektion), vilket är tillräckligt för CLIs som auto-
ladda lokala filer från vanliga sökvägar (Claude Code CLI beteende).
In- / utdata
output: "json"(standard) försöker tolka JSON och extrahera text + sessions-id.output: "jsonl"tolkar JSONL-strömmar (Codex CLI--json) och extraherar det sista agentmeddelandet plusthread_idnär det finns.output: "text"behandlar stdout som det slutliga svaret.
input: "arg"(standard) skickar prompten som sista CLI-argument.input: "stdin"skickar prompten via stdin.- Om prompten är mycket lång och
maxPromptArgCharsär satt används stdin.
Standardvärden (inbyggda)
OpenClaw levereras med ett standardval förclaude-cli:
command: "claude"args: ["-p", "--output-format", "json", "--dangerously-skip-permissions"]resumeArgs: ["-p", "--output-format", "json", "--dangerously-skip-permissions", "--resume", "{sessionId}"]modelArg: "--model"systemPromptArg: "--append-system-prompt"sessionArg: "--session-id"systemPromptWhen: "first"sessionMode: "always"
codex-cli:
command: "codex"args: ["exec","--json","--color","never","--sandbox","read-only","--skip-git-repo-check"]resumeArgs: ["exec","resume","{sessionId}","--color","never","--sandbox","read-only","--skip-git-repo-check"]output: "jsonl"resumeOutput: "text"modelArg: "--model"imageArg: "--image"sessionMode: "existing"
command-sökväg).
Begränsningar
- Inga OpenClaw-verktyg (CLI-backend tar aldrig emot verktygssamtal). Vissa CLI:er kan fortfarande köra sin egen agent verktyg.
- Ingen streaming (CLI-utdata samlas in och returneras sedan).
- Strukturerade utdata beror på CLI:ts JSON-format.
- Codex CLI-sessioner återupptas via textutmatning (ingen JSONL), vilket är mindre
strukturerat än den initiala
--jsonkörningen. OpenClaw-sessioner fungerar fortfarande normalt.
Felsökning
- CLI hittas inte: sätt
commandtill en fullständig sökväg. - Fel modellnamn: använd
modelAliasesför att mappaprovider/model→ CLI-modell. - Ingen sessionskontinuitet: säkerställ att
sessionArgär satt och attsessionModeinte ärnone(Codex CLI kan för närvarande inte återuppta med JSON-utdata). - Bilder ignoreras: sätt
imageArg(och verifiera att CLI:t stöder filsökvägar).