Agent-runtime 🤖¶
OpenClaw draait één enkele embedded agent-runtime die is afgeleid van pi-mono.
Werkruimte (vereist)¶
OpenClaw gebruikt één agent-werkruimtemap (agents.defaults.workspace) als de enige werkdirectory (cwd) van de agent voor tools en context.
Aanbevolen: gebruik openclaw setup om ~/.openclaw/openclaw.json aan te maken als deze ontbreekt en initialiseer de werkruimtebestanden.
Volledige werkruimte-indeling + back-uphandleiding: Agent workspace
Als agents.defaults.sandbox is ingeschakeld, kunnen niet-hoofdsessies dit overschrijven met
per-sessie werkruimtes onder agents.defaults.sandbox.workspaceRoot (zie
Gateway configuration).
Bootstrapbestanden (geïnjecteerd)¶
Binnen agents.defaults.workspace verwacht OpenClaw deze door de gebruiker te bewerken bestanden:
AGENTS.md— bedieningsinstructies + “geheugen”SOUL.md— persona, grenzen, toonTOOLS.md— door de gebruiker onderhouden toolnotities (bijv.imsg,sag, conventies)BOOTSTRAP.md— eenmalig first-run-ritueel (verwijderd na voltooiing)IDENTITY.md— agentnaam/vibe/emojiUSER.md— gebruikersprofiel + voorkeursaanspreekvorm
Bij de eerste beurt van een nieuwe sessie injecteert OpenClaw de inhoud van deze bestanden rechtstreeks in de agentcontext.
Lege bestanden worden overgeslagen. Grote bestanden worden ingekort en afgekapt met een markering zodat prompts compact blijven (lees het bestand voor de volledige inhoud).
Als een bestand ontbreekt, injecteert OpenClaw één regel met een “missing file”-markering (en openclaw setup maakt een veilig standaardtemplate aan).
BOOTSTRAP.md wordt alleen aangemaakt voor een gloednieuwe werkruimte (geen andere bootstrapbestanden aanwezig). Als je het na voltooiing van het ritueel verwijdert, zou het bij latere herstarts niet opnieuw moeten worden aangemaakt.
Om het aanmaken van bootstrapbestanden volledig uit te schakelen (voor vooraf gevulde werkruimtes), stel in:
{ agent: { skipBootstrap: true } }
Ingebouwde tools¶
Kern-tools (lezen/uitvoeren/bewerken/schrijven en gerelateerde systeemtools) zijn altijd beschikbaar,
onderhevig aan toolbeleid. apply_patch is optioneel en afgeschermd door
tools.exec.applyPatch. TOOLS.md bepaalt niet welke tools bestaan; het is
richtlijn voor hoe jij ze wilt gebruiken.
Vaardigheden¶
OpenClaw laadt Skills uit drie locaties (werkruimte wint bij naamconflict):
- Gebundeld (meegeleverd met de installatie)
- Beheerd/lokaal:
~/.openclaw/skills - Werkruimte:
<workspace>/skills
Skills kunnen worden afgeschermd via config/env (zie skills in Gateway configuration).
pi-mono-integratie¶
OpenClaw hergebruikt onderdelen van de pi-mono-codebase (modellen/tools), maar sessiebeheer, discovery en tool-wiring zijn eigendom van OpenClaw.
- Geen pi-coding agent-runtime.
- Er worden geen
~/.pi/agent- of<workspace>/.pi-instellingen geraadpleegd.
Sessies¶
Sessietranscripten worden opgeslagen als JSONL op:
~/.openclaw/agents/<agentId>/sessions/<SessionId>.jsonl
De sessie-ID is stabiel en wordt door OpenClaw gekozen. Legacy Pi/Tau-sessiemappen worden niet gelezen.
Sturen tijdens streamen¶
Wanneer de wachtrijmodus steer is, worden inkomende berichten in de huidige run geïnjecteerd.
De wachtrij wordt na elke toolcall gecontroleerd; als er een bericht in de wachtrij staat,
worden resterende toolcalls van het huidige assistant-bericht overgeslagen (fouttoolresultaten met "Skipped due to queued user message."), waarna het bericht van de gebruiker uit de wachtrij wordt geïnjecteerd vóór de volgende assistant-respons.
Wanneer de wachtrijmodus followup of collect is, worden inkomende berichten vastgehouden totdat de
huidige beurt eindigt; daarna start een nieuwe agentbeurt met de payloads uit de wachtrij. Zie
Queue voor modus- en debounce/cap-gedrag.
Blokstreaming verzendt voltooide assistant-blokken zodra ze klaar zijn; dit staat
standaard uit (agents.defaults.blockStreamingDefault: "off").
Stem de grens af via agents.defaults.blockStreamingBreak (text_end vs message_end; standaard text_end).
Beheer zachte blokchunking met agents.defaults.blockStreamingChunk (standaard
800–1200 tekens; geeft de voorkeur aan alinea-einden, daarna nieuwe regels; zinnen als laatste).
Voeg gestreamde chunks samen met agents.defaults.blockStreamingCoalesce om
single-line spam te verminderen (op inactiviteit gebaseerde samenvoeging vóór verzending). Niet-Telegram-kanalen vereisen
expliciete *.blockStreaming: true om blokantwoorden in te schakelen.
Uitgebreide tool-samenvattingen worden uitgezonden bij toolstart (geen debounce); Control UI
streamt tooluitvoer via agent-events wanneer beschikbaar.
Meer details: Streaming + chunking.
Modelrefs¶
Modelrefs in config (bijvoorbeeld agents.defaults.model en agents.defaults.models) worden geparseerd door te splitsen op de eerste /.
- Gebruik
provider/modelbij het configureren van modellen. - Als de model-ID zelf
/bevat (OpenRouter-stijl), neem dan de providerprefix op (voorbeeld:openrouter/moonshotai/kimi-k2). - Als je de provider weglaat, behandelt OpenClaw de invoer als een alias of als een model voor de standaardprovider (werkt alleen wanneer er geen
/in de model-ID staat).
Configuratie (minimaal)¶
Stel minimaal in:
agents.defaults.workspacechannels.whatsapp.allowFrom(sterk aanbevolen)
Volgende: Group Chats 🦞