CLI-backends (fallback-runtime)
OpenClaw kan lokale AI-CLI’s uitvoeren als een tekst-only fallback wanneer API-providers uitvallen, rate-limited zijn of tijdelijk verkeerd functioneren. Dit is bewust conservatief:- Tools zijn uitgeschakeld (geen tool-calls).
- Tekst in → tekst uit (betrouwbaar).
- Sessies worden ondersteund (zodat vervolgbeurten coherent blijven).
- Afbeeldingen kunnen worden doorgegeven als de CLI afbeeldingspaden accepteert.
Beginner-vriendelijke snelle start
Je kunt Claude Code CLI zonder enige configuratie gebruiken (OpenClaw levert een ingebouwde standaard):Gebruik als fallback
Voeg een CLI-backend toe aan je fallbacklijst zodat deze alleen draait wanneer primaire modellen falen:- Als je
agents.defaults.models(allowlist) gebruikt, moet jeclaude-cli/...opnemen. - Als de primaire provider faalt (authenticatie, rate limits, time-outs), zal OpenClaw vervolgens de CLI-backend proberen.
Configuratie-overzicht
Alle CLI-backends staan onder:claude-cli, my-cli).
De provider-id wordt de linkerkant van je modelref:
Voorbeeldconfiguratie
Hoe het werkt
- Selecteert een backend op basis van de provider-prefix (
claude-cli/...). - Bouwt een systeemprompt met dezelfde OpenClaw-prompt + werkruimtecontext.
- Voert de CLI uit met een sessie-id (indien ondersteund) zodat de geschiedenis consistent blijft.
- Parseert de uitvoer (JSON of platte tekst) en retourneert de uiteindelijke tekst.
- Bewaar sessie-id’s per backend, zodat vervolgaanvragen dezelfde CLI-sessie hergebruiken.
Sessies
- Als de CLI sessies ondersteunt, stel
sessionArgin (bijv.--session-id) ofsessionArgs(placeholder{sessionId}) wanneer de ID in meerdere flags moet worden ingevoegd. - Als de CLI een resume-subcommand gebruikt met andere flags, stel
resumeArgsin (vervangtargsbij hervatten) en optioneelresumeOutput(voor niet-JSON hervattingen). sessionMode:always: stuur altijd een sessie-id (nieuwe UUID als er geen is opgeslagen).existing: stuur alleen een sessie-id als er eerder één was opgeslagen.none: stuur nooit een sessie-id.
Afbeeldingen (pass-through)
Als je CLI afbeeldingspaden accepteert, stelimageArg in:
imageArg is ingesteld, worden die
paden als CLI-argumenten doorgegeven. Als imageArg ontbreekt, voegt OpenClaw de
bestandspaden toe aan de prompt (padinjectie), wat voldoende is voor CLI’s die lokale bestanden
automatisch laden vanaf platte paden (gedrag van Claude Code CLI).
Invoer / uitvoer
output: "json"(standaard) probeert JSON te parsen en tekst + sessie-id te extraheren.output: "jsonl"parseert JSONL-streams (Codex CLI--json) en extraheert het laatste agent-bericht plusthread_idwanneer aanwezig.output: "text"behandelt stdout als de uiteindelijke respons.
input: "arg"(standaard) geeft de prompt door als het laatste CLI-argument.input: "stdin"verstuurt de prompt via stdin.- Als de prompt erg lang is en
maxPromptArgCharsis ingesteld, wordt stdin gebruikt.
Standaardwaarden (ingebouwd)
OpenClaw levert een standaard voorclaude-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-pad).
Beperkingen
- Geen OpenClaw-tools (de CLI-backend ontvangt nooit tool-calls). Sommige CLI’s kunnen nog steeds hun eigen agent-tooling uitvoeren.
- Geen streaming (CLI-uitvoer wordt verzameld en daarna geretourneerd).
- Gestructureerde uitvoer is afhankelijk van het JSON-formaat van de CLI.
- Codex CLI-sessies worden hervat via tekstuitvoer (geen JSONL), wat minder
gestructureerd is dan de initiële
--json-run. OpenClaw-sessies blijven normaal werken.
Problemen oplossen
- CLI niet gevonden: stel
commandin op een volledig pad. - Verkeerde modelnaam: gebruik
modelAliasesomprovider/model→ CLI-model te mappen. - Geen sessiecontinuïteit: zorg dat
sessionArgis ingesteld ensessionModenietnoneis (Codex CLI kan momenteel niet hervatten met JSON-uitvoer). - Afbeeldingen genegeerd: stel
imageArgin (en verifieer dat de CLI bestandspaden ondersteunt).