Gateway
CLI-backends
OpenClaw kan een lokale AI-CLI uitvoeren als een uitsluitend tekstuele fallback wanneer API-providers niet beschikbaar zijn, rate limits toepassen of zich onjuist gedragen. Dit is bewust conservatief:
- OpenClaw-tools worden niet rechtstreeks geïnjecteerd, maar een backend met
bundleMcp: truekan Gateway-tools ontvangen via een loopback-MCP-bridge. - JSONL-streaming voor CLI's die dit ondersteunen.
- Sessies worden ondersteund, zodat vervolgbeurten coherent blijven.
- Afbeeldingen worden doorgegeven als de CLI afbeeldingspaden accepteert.
Gebruik dit als vangnet voor tekstreacties die 'altijd werken', niet als primair pad. Gebruik in plaats daarvan ACP-agents voor een volledige harness-runtime met ACP-sessiebediening, achtergrondtaken, koppeling aan threads/gesprekken en persistente externe codeersessies; CLI-backends zijn geen ACP.
Snel aan de slag
De gebundelde Anthropic-plugin registreert een standaardbackend claude-cli, zodat deze zonder configuratie werkt, afgezien van de vereiste dat Claude Code geïnstalleerd is en je bent ingelogd:
openclaw agent --agent main --message "hi" --model claude-cli/claude-sonnet-4-6main is de standaard-agent-id wanneer geen expliciete lijst met agents is geconfigureerd; gebruik anders je eigen agent-id.
De Gateway-service moet de CLI in zijn PATH hebben. Als een implementatie een
niet-standaardpad naar het uitvoerbare bestand of niet-standaardargumenten nodig heeft, registreer die adapter dan in een
CLI-backendplugin in plaats van de startmechanismen
in openclaw.json te plaatsen.
OpenClaw laadt automatisch een gebundelde eigenaarplugin wanneer de modelselectie of een
modelgebonden agentRuntime.id naar de backend ervan verwijst.
Gebruiken als fallback
Voeg de CLI-backend toe aan je lijst met fallbacks, zodat deze alleen wordt uitgevoerd wanneer primaire modellen mislukken:
{ agents: { defaults: { model: { primary: "anthropic/claude-opus-4-6", fallbacks: ["claude-cli/claude-sonnet-4-6"], }, models: { "anthropic/claude-opus-4-6": { alias: "Opus" }, "claude-cli/claude-sonnet-4-6": {}, }, }, },}Geconfigureerde fallbacks blijven beschikbaar wanneer de primaire provider mislukt (authenticatie, rate limits, time-outs), zelfs wanneer ze niet in agents.defaults.modelPolicy.allow staan. Voeg een CLI-backendmodel alleen aan dat beleid toe wanneer gebruikers het ook rechtstreeks moeten kunnen selecteren via /model, een sessie-override of --model. agents.defaults.models beheert alleen aliassen, parameters en metadata per model.
Configuratie
Gebruikers kiezen een geregistreerde backend via het model- en runtimebeleid. Houd de modelverwijzing canoniek en selecteer de CLI-runtime per model:
{ agents: { defaults: { model: "anthropic/claude-opus-5", models: { "anthropic/claude-opus-5": { agentRuntime: { id: "claude-cli" }, }, }, }, },}Referenties blijven in OpenClaw-authenticatieprofielen of de configuratie van de eigenaarplugin.
Mechanismen voor opdrachten, argv, omgeving, parsing, sessies, afbeeldingen en watchdogs zijn
plugincode die met api.registerCliBackend(...) is geregistreerd.
Hoe het werkt
- Selecteert een backend op basis van het providerprefix (
claude-cli/...). - Bouwt een systeemprompt met dezelfde OpenClaw-prompt en werkruimtecontext.
- Voert de CLI uit met een sessie-id (indien ondersteund), zodat de geschiedenis consistent blijft. De gebundelde backend
claude-clihoudt per OpenClaw-sessie een Claude-stdio-proces actief en verzendt vervolgbeurten via stream-json-stdin. - Verwerkt de uitvoer (JSON of platte tekst) en retourneert de uiteindelijke tekst.
- Slaat sessie-id's per backend persistent op, zodat vervolgbeurten dezelfde CLI-sessie hergebruiken.
Time-outs en langdurige taken
CLI-backends hebben twee onafhankelijke limieten:
agents.defaults.timeoutSecondsbeperkt de volledige agentbeurt. Normale Gateway-beurten nemen de standaardwaarde van 48 uur over;0maakt het budget voor de beurt onbeperkt. Een opgeslagen override zoals600vervangt die standaardwaarde.- De watchdog voor ontbrekende CLI-uitvoer stopt een subproces dat stil blijft. Elke backendplugin beheert afzonderlijke profielen voor nieuwe en hervatte sessies, en de watchdog blijft actief, zelfs wanneer het totale budget voor de beurt onbeperkt is.
Verwijder een override voor een korte totale time-out om terug te keren naar de standaardwaarde van 48 uur, of stel een expliciet budget in, zoals 12 uur:
# Terugkeren naar de standaardwaarde van 48 uur:openclaw config unset agents.defaults.timeoutSeconds # Of een expliciete limiet van 12 uur kiezen:openclaw config set agents.defaults.timeoutSeconds 43200Achtergrondwerk dat binnen een CLI wordt gestart, blijft onderdeel van dat CLI-subproces. Als de bovenliggende beurt zijn totale limiet bereikt, stopt OpenClaw het subproces en de interne achtergrondtaken van de CLI gezamenlijk. Gebruik voor duurzaam langdurig werk een losgekoppelde OpenClaw-sub-agent of ACP-agent; losgekoppelde sub-agents hebben standaard geen uitvoeringstime-out.
De opdracht openclaw agent heeft ook een eigen aanvraagdeadline. De fallbackstandaard van 600 seconden geldt voor die opdrachtaanroep, niet voor gewone Gateway-beurten; zie openclaw agent.
Bijzonderheden van Claude CLI
De gebundelde backend claude-cli geeft de voorkeur aan de systeemeigen skillresolver van Claude Code. Wanneer de huidige Skills-snapshot ten minste één geselecteerde skill met een gematerialiseerd pad bevat, geeft OpenClaw een tijdelijke Claude Code-plugin door via --plugin-dir en laat het de dubbele OpenClaw-skillscatalogus weg uit de toegevoegde systeemprompt. Zonder een gematerialiseerde pluginskill behoudt OpenClaw de promptcatalogus als fallback. Overrides voor skillomgevingsvariabelen/API-sleutels blijven tijdens de uitvoering van toepassing op de omgeving van het onderliggende proces.
Claude CLI heeft een eigen niet-interactieve machtigingsmodus; OpenClaw koppelt deze aan het bestaande uitvoeringsbeleid in plaats van Claude-specifieke configuratie toe te voegen. Voor door OpenClaw beheerde live Claude-sessies is het effectieve uitvoeringsbeleid leidend: YOLO (tools.exec.mode: "full") start Claude normaal gesproken met --permission-mode bypassPermissions, terwijl een restrictief beleid Claude start met --permission-mode default. Gateways die als root worden uitgevoerd, gebruiken ook default, omdat Claude Code de bypassmodus voor root weigert. Instellingen per agent in agents.entries.*.tools.exec overschrijven voor die agent de globale tools.exec. De Anthropic-plugin normaliseert de machtigingsvlaggen van Claude zodat ze overeenkomen met het effectieve beleid en de hostbeperking.
Onder een restrictief beleid vraagt Claude OpenClaw via stdio om toestemming voordat het een van zijn systeemeigen tools of extensietools gebruikt (zijn eigen Bash-, WebFetch- of Claude in Chrome-browsertools). Wanneer de effectieve vraaginstelling voor uitvoering on-miss of always is, stuurt OpenClaw elk verzoek als interactieve goedkeuring door naar het kanaal van de sessie: Allow once staat de afzonderlijke aanroep toe, Allow always staat die toolnaam toe voor de rest van de live Claude-sessie (alleen in het geheugen, nooit persistent opgeslagen) en Deny, een time-out of een onbereikbare goedkeuringsroute weigeren allemaal de aanroep. Beleid dat nooit om toestemming vraagt, behoudt het oude gedrag: security: "deny" weigert elk verzoek, en vragen met off en minder dan volledige beveiliging (uitvoeringsmodus allowlist) weigert zonder het te vragen.
Claude-browsertools en aanmelden bij 1Password
Claude Code kan een Chrome-browser besturen via de Claude in Chrome-extensie, inclusief het automatisch invullen van referenties door 1Password for Claude. De gebundelde backend schakelt dit niet in; registreer een CLI-backendplugin die --chrome toevoegt aan de startargumenten van een backend met het dialect claude-stream-json. OpenClaw behoudt een geconfigureerde --chrome bij normale uitvoeringen en dwingt altijd --no-chrome af bij uitvoeringen met een restrictief toolbeleid, zoals zijvragen. Het Chrome-venster, de extensie en eventuele goedkeuringsprompts van 1Password bevinden zich op de Gateway-host, dus er moet iemand bij die machine aanwezig zijn om het gebruik van referenties goed te keuren.
De backend koppelt ook OpenClaw-niveaus voor /think aan de systeemeigen vlag --effort van Claude Code: minimal/low -> low, medium -> medium, en high/xhigh/max worden rechtstreeks doorgegeven. Hierdoor blijven de ondersteunde inspanningsniveaus van Fable 5 gelijk voor Claude CLI met een abonnement en routes met een API-sleutel. adaptive verwijdert geconfigureerde vlaggen voor --effort en levert geen vervanging, zodat Claude Code de effectieve inspanning bepaalt aan de hand van zijn eigen omgeving, instellingen en modelstandaarden. Andere CLI-backends vereisen dat hun eigenaarplugin een gelijkwaardige argv-mapper declareert voordat /think invloed heeft op de gestarte CLI.
Voordat OpenClaw claude-cli kan gebruiken, moet Claude Code zelf op dezelfde host zijn aangemeld:
claude auth loginclaude auth status --textopenclaw models auth login --provider anthropic --method cli --set-defaultVoor Docker-installaties moet Claude Code geïnstalleerd zijn en moet je zijn aangemeld binnen de persistente thuismap van de container, niet alleen op de host; zie Claude CLI-backend in Docker.
De Gateway-service moet claude kunnen vinden via PATH. Registreer voor een niet-standaardpad
een kleine wrapper-backendplugin.
Sessies
- Als de CLI sessies ondersteunt, stel je
sessionArgsin met een tijdelijke aanduiding{sessionId}(bijvoorbeeld["--session-id", "{sessionId}"]). - Als de CLI een subopdracht voor hervatten met andere vlaggen gebruikt, stel je
resumeArgsin (vervangtargsbij het hervatten) en eventueelresumeOutputvoor hervattingen zonder JSON. sessionMode:always: altijd een sessie-id verzenden (een nieuwe UUID als er geen is opgeslagen).existing: alleen een sessie-id verzenden als er eerder een is opgeslagen.none: nooit een sessie-id verzenden.
claude-cligebruikt standaardliveSession: "claude-stdio",output: "jsonl"eninput: "stdin", zodat vervolgbeurten het actieve Claude-proces hergebruiken zolang dit actief is, ook voor aangepaste configuraties waarin transportvelden ontbreken. Als de Gateway opnieuw wordt gestart of het inactieve proces wordt afgesloten, hervat OpenClaw vanaf de opgeslagen Claude-sessie-id. Opgeslagen sessie-id's worden vóór hervatting gecontroleerd aan de hand van een leesbaar projecttranscript; bij een ontbrekend transcript wordt de koppeling verwijderd (geregistreerd alsreason=transcript-missing) in plaats van stilzwijgend een nieuwe sessie te starten onder--resume.- Live Claude-sessies gebruiken begrensde beveiligingen voor JSONL-uitvoer: 8 MiB en 20.000 onbewerkte JSONL-regels per beurt.
- Opgeslagen CLI-sessies vormen door de provider beheerde continuïteit. Automatisch resetten is standaard uitgeschakeld;
/reseten expliciet dagelijks of bij inactiviteit toegepastsession.reset-beleid beëindigen ze nog steeds. - Nieuwe CLI-sessies worden normaal gesproken alleen opnieuw gevuld vanuit de Compaction-samenvatting van OpenClaw plus het deel na de Compaction. Om korte sessies te herstellen die vóór Compaction ongeldig zijn geworden, kan een backend zich aanmelden met
reseedFromRawTranscriptWhenUncompacted: true. Het opnieuw vullen vanuit het onbewerkte transcript blijft begrensd en beperkt tot veilige ongeldigverklaringen, zoals een ontbrekend CLI-transcript, een verweesd uiteinde met toolgebruik, wijzigingen in berichtenbeleid/systeemprompt/cwd/MCP of een nieuwe poging na het verlopen van een sessie; wijzigingen in het authenticatieprofiel of credentialtijdperk vullen de onbewerkte transcriptgeschiedenis nooit opnieuw.
Serialisatie: serialize: true houdt uitvoeringen in dezelfde baan op volgorde (de meeste CLI's serialiseren binnen één providerbaan). OpenClaw stopt ook met het hergebruiken van opgeslagen CLI-sessies wanneer de geselecteerde authenticatie-identiteit verandert, waaronder een gewijzigd authenticatieprofiel-id, statische API-sleutel, statisch token of OAuth-accountidentiteit wanneer de CLI er een beschikbaar stelt; alleen rotatie van OAuth-toegangs-/vernieuwingstokens beëindigt de sessie niet. Als een CLI geen stabiele OAuth-account-id heeft, laat OpenClaw die CLI zijn eigen hervattingsmachtigingen afdwingen.
Fallbackvoorwoord uit claude-cli-sessies
Wanneer een claude-cli-poging uitwijkt naar een niet-CLI-kandidaat in agents.defaults.model.fallbacks, voorziet OpenClaw de volgende poging van een contextpreambule die uit het lokale JSONL-transcript van Claude Code is opgehaald (onder ~/.claude/projects/, per werkruimte geïndexeerd). Zonder deze aanvangscontext begint de fallbackprovider zonder context, omdat het eigen sessietranscript van OpenClaw leeg is voor claude-cli-uitvoeringen.
- De preambule geeft de voorkeur aan de meest recente
/compact-samenvatting ofcompact_boundary-markering en voegt vervolgens de meest recente beurten na de grens toe tot aan een tekenbudget. Beurten van vóór de grens worden weggelaten omdat de samenvatting ze al vertegenwoordigt. - Toolblokken worden samengevoegd tot compacte
(tool call: name)- en(tool result: …)-aanwijzingen om het promptbudget realistisch te houden; een te grote samenvatting wordt afgekapt en gelabeld als(truncated). - Fallbacks van dezelfde provider van
claude-clinaarclaude-clivertrouwen op Claude's eigen--resumeen slaan de preambule over. - De aanvangscontext hergebruikt de bestaande validatie van het Claude-sessiebestandspad, zodat willekeurige paden niet kunnen worden gelezen.
Afbeeldingen
Pluginauteurs declareren ondersteuning voor afbeeldingspaden met imageArg:
imageArg: "--image",imageMode: "repeat"OpenClaw schrijft base64-afbeeldingen naar tijdelijke bestanden. Als imageArg is ingesteld, worden die paden doorgegeven als CLI-argumenten; zo niet, dan voegt OpenClaw de bestandspaden toe aan de prompt (padinjectie), wat werkt voor CLI's die lokale bestanden automatisch vanuit platte paden laden.
Invoer en uitvoer
output: "text"(standaard) behandelt stdout als het definitieve antwoord.output: "json"probeert JSON te parseren en tekst plus een sessie-ID te extraheren.output: "jsonl"parseert een JSONL-stream en extraheert het definitieve agentbericht plus sessie-ID's wanneer die aanwezig zijn.- Voor JSON-uitvoer van Gemini CLI leest OpenClaw de antwoordtekst uit
responseen het gebruik uitstatswanneerusageontbreekt of leeg is. De gebundelde Gemini CLI-adapter gebruiktstream-json.
Invoermodi:
input: "arg"(standaard) geeft de prompt door als het laatste CLI-argument.input: "stdin"verzendt de prompt via stdin.- Als de prompt zeer lang is en
maxPromptArgCharsis ingesteld, wordt in plaats daarvan stdin gebruikt.
Standaardwaarden van de Plugin
Standaardwaarden voor CLI-backends maken deel uit van het Plugin-oppervlak:
- Plugins registreren ze met
api.registerCliBackend(...). - De backend-
idwordt het providervoorvoegsel in modelverwijzingen. - Het gedrag van opdracht, argv, omgeving, parser, sessie en watchdog blijft in de Plugincode.
- Backendspecifieke normalisatie blijft eigendom van de Plugin via de optionele
normalizeConfig-hook.
Anthropic beheert claude-cli en Google beheert google-gemini-cli. Uitvoeringen van OpenAI Codex-agenten gebruiken de Codex-app-serverharness via openai/*; OpenClaw registreert niet langer een gebundelde codex-cli-backend.
De gebundelde Anthropic-Plugin registreert voor claude-cli:
| Sleutel | Waarde |
|---|---|
command |
claude |
args |
-p --output-format stream-json --include-partial-messages --verbose --setting-sources user --allowedTools mcp__openclaw__* --disallowedTools ScheduleWakeup,CronCreate,Bash(run_in_background:true),Monitor |
output |
jsonl |
input |
stdin |
modelArg |
--model |
sessionArgs |
["--session-id", "{sessionId}"] |
sessionMode |
always |
imageArg |
@ |
imagePathScope |
workspace |
systemPromptFileArg |
--append-system-prompt-file |
systemPromptMode |
append |
De gebundelde Google-Plugin registreert voor google-gemini-cli:
| Sleutel | Waarde |
|---|---|
command |
gemini |
args |
--skip-trust --approval-mode auto_edit --output-format stream-json --prompt {prompt} |
resumeArgs |
hetzelfde, met --resume {sessionId} |
output / resumeOutput |
jsonl |
jsonlDialect |
gemini-stream-json |
imageArg |
@ |
imagePathScope |
workspace |
modelArg |
--model |
sessionMode |
existing |
sessionIdFields |
["session_id", "sessionId"] |
Vereiste: de lokale Gemini CLI moet zijn geïnstalleerd en zich op PATH bevinden als gemini (brew install gemini-cli of npm install -g @google/gemini-cli).
Opmerkingen over Gemini CLI-uitvoer:
- De standaard
stream-json-parser leest assistent-message-gebeurtenissen, toolgebeurtenissen, het definitieveresult-gebruik en fatale Gemini-foutgebeurtenissen. - Het gebruik valt terug op
statswanneerusageontbreekt of leeg is;stats.cachedwordt genormaliseerd naar OpenClaw-cacheRead, en alsstats.inputontbreekt, worden invoertokens afgeleid vanstats.input_tokens - stats.cached.
Teksttransformatie-overlays
Plugins die kleine compatibiliteitsshims voor prompts of berichten nodig hebben, kunnen bidirectionele teksttransformaties declareren zonder een provider of CLI-backend te vervangen:
api.registerTextTransforms({ input: [{ from: /red basket/g, to: "blue basket" }], output: [{ from: /blue basket/g, to: "red basket" }],});input herschrijft de systeemprompt en gebruikersprompt die aan de CLI worden doorgegeven. output herschrijft gestreamde assistenttekst en geparseerde definitieve tekst voordat OpenClaw zijn eigen besturingsmarkeringen en kanaalbezorging afhandelt; voor providergebaseerde modelaanroepen herstelt dit ook tekenreekswaarden in gestructureerde toolaanroepargumenten na streamherstel en vóór de tooluitvoering. Ruwe JSON-fragmenten van providers blijven ongewijzigd; consumenten moeten de gestructureerde gedeeltelijke, eind- of resultaatpayload gebruiken.
Stel voor CLI's die providerspecifieke JSONL-gebeurtenissen uitsturen jsonlDialect in bij de configuratie van die backend: claude-stream-json voor Claude Code-compatibele streams, gemini-stream-json voor Gemini CLI-stream-json-gebeurtenissen.
Eigendom van native Compaction
Sommige CLI-backends voeren een agent uit die zijn eigen transcript compacter maakt, zodat OpenClaw zijn beveiligende samenvatter er niet op mag uitvoeren — dat zou de eigen Compaction van de backend tegenwerken en kan de beurt onherstelbaar laten mislukken.
claude-cli heeft geen harness-eindpunt (Claude Code voert intern Compaction uit), dus declareert deze ownsNativeCompaction: true en retourneert het Compaction-pad van OpenClaw de sessievermelding ongewijzigd. OpenClaw geeft het effectieve contextbudget van de uitvoering door via de gedocumenteerde CLAUDE_CODE_AUTO_COMPACT_WINDOW van Claude Code, zodat native automatische Compaction blijft afgestemd op de geconfigureerde Anthropic-contextTokens-limieten. Sessies met een native harness, zoals Codex, blijven in plaats daarvan naar het Compaction-eindpunt van hun harness worden gerouteerd.
api.registerCliBackend({ id: "my-cli", ownsNativeCompaction: true /* ... */ });Declareer ownsNativeCompaction alleen voor een backend die daadwerkelijk eigenaar is van Compaction: deze moet zijn eigen transcript betrouwbaar begrenzen nabij het contextvenster en een hervatbare sessie opslaan (bijvoorbeeld --resume / --session-id), anders kan een uitgestelde sessie boven het budget blijven.
MCP-overlays bundelen
CLI-backends ontvangen OpenClaw-toolaanroepen niet rechtstreeks, maar een backend kan zich met bundleMcp: true aanmelden voor een gegenereerde MCP-configuratie-overlay. Huidig gebundeld gedrag:
claude-cli: gegenereerd strikt MCP-configuratiebestand.google-gemini-cli: gegenereerd Gemini-systeeminstellingenbestand.
Wanneer bundel-MCP is ingeschakeld, doet OpenClaw het volgende:
- start een loopback HTTP MCP-server die Gateway-tools beschikbaar stelt aan het CLI-proces, geverifieerd met een contexttoekenning per uitvoering (
OPENCLAW_MCP_TOKEN) die alleen actief is voor de huidige uitvoeringspoging; - koppelt tooltoegang aan de door de Gateway geselecteerde sessie-, account- en kanaalcontext in plaats van headers van het onderliggende proces te vertrouwen;
- laadt ingeschakelde bundel-MCP-servers voor de huidige werkruimte en voegt ze samen met elke bestaande MCP-configuratie- of instellingenstructuur van de backend;
- herschrijft de startconfiguratie met de integratiemodus van de backend die door de beherende Plugin wordt bepaald.
Beperkte uitvoeringen, zoals cron-taken met toolsAllow, vereisen een exacte
vertaling die door de backend wordt beheerd. De gebundelde backend claude-cli schakelt de
native tools en aanpassingen van Claude op gebruikers-, project- en lokaal niveau uit, waaronder hooks,
plugins, agents, skills en CLAUDE.md. Vervolgens stelt deze elke toegestane
OpenClaw-tool beschikbaar via de MCP-server met een tot de toekenning beperkt bereik. Hierdoor blijft het beleid voor het bestandssysteem,
processen, exec, goedkeuringen en de sandbox binnen OpenClaw, in plaats van de
bevoegdheden uit te breiden naar de native tools of aanpassingsprocessen van Claude. Dezelfde MCP-
lijst wordt afgedwongen in de gegenereerde configuratie van Claude en opnieuw door de Gateway bij het
weergeven en uitvoeren van tools. Voordat de toekenning wordt aangemaakt, weigert de kern
backendvertalingen die een MCP-machtiging noemen die buiten de oorspronkelijke lijst met toegestane items valt.
Backends zonder exacte vertaling blijven gesloten bij fouten.
Als er geen MCP-servers zijn ingeschakeld, injecteert OpenClaw nog steeds een strikte configuratie wanneer een backend gebundelde MCP inschakelt, zodat uitvoeringen op de achtergrond geïsoleerd blijven.
Gebundelde MCP-runtimes met sessiebereik worden tijdens een sessie in de cache opgeslagen voor hergebruik en vervolgens na 10 minuten inactiviteit opgeruimd. Eenmalige ingebedde uitvoeringen, zoals authenticatiecontroles, het genereren van slugs en het ophalen van Active Memory, vragen aan het einde van de uitvoering om opschoning, zodat stdio-subprocessen en Streamable HTTP/SSE-streams niet langer blijven bestaan dan de uitvoering.
Voor claude-cli wordt een compatibel geselecteerd of geordend OpenClaw OAuth-/tokenprofiel
doorgestuurd naar dat Claude-subproces. Hierdoor zijn profielen per agent bepalend
voor de beurt, terwijl de native hostaanmelding van Claude behouden blijft wanneer er geen compatibel
profiel bestaat.
Limiet voor opnieuw ingezaaide geschiedenis
Wanneer een nieuwe CLI-sessie wordt ingezaaid vanuit een eerder OpenClaw-transcript (bijvoorbeeld na een nieuwe poging met session_expired), wordt het gerenderde blok <conversation_history> begrensd om te voorkomen dat prompts voor opnieuw inzaaien explosief groeien. De standaard is 12,288 tekens (ongeveer 3,000 tokens).
Claude CLI-backends schalen deze limiet in plaats daarvan met het bepaalde Claude-contextvenster: grotere contextvensters krijgen een groter fragment van de eerdere geschiedenis, tot een vaste bovengrens; andere CLI-backends behouden de conservatieve standaard. Deze limiet geldt alleen voor het blok met eerdere geschiedenis in de prompt voor opnieuw inzaaien.
Beperkingen
- OpenClaw injecteert geen toolaanroepen in het CLI-backendprotocol. Backends zien Gateway-tools alleen wanneer ze
bundleMcp: trueinschakelen. - Streaming is backendspecifiek: sommige backends streamen JSONL, andere bufferen tot het proces wordt afgesloten.
- Gestructureerde uitvoer is afhankelijk van de eigen JSON-indeling van de CLI.
Probleemoplossing
| Symptoom | Oplossing |
|---|---|
| CLI niet gevonden | Plaats de CLI in PATH van de Gateway-service of werk de geregistreerde opdracht van de beherende Plugin bij. |
| Verkeerde modelnaam | Werk de toewijzing modelAliases van de Plugin bij. |
| Geen sessiecontinuïteit | Controleer sessionArgs en sessionMode van de Plugin. |
| Afbeeldingen genegeerd | Controleer imageArg van de Plugin en de ondersteuning van de CLI voor bestandspaden. |