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)
Binnenagents.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
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:
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 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
Sturen tijdens streamen
Wanneer de wachtrijmodussteer 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 (bijvoorbeeldagents.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 🦞