Agent coordination
Sandbox en tools voor meerdere agents
Elke agent in een multi-agentconfiguratie kan het algemene sandbox- en toolbeleid overschrijven. Deze pagina behandelt configuratie per agent, voorrangsregels en voorbeelden.
Backends en modi — volledige sandboxreferentie.
Problemen oplossen met "waarom wordt dit geblokkeerd?"
Verhoogde uitvoering voor vertrouwde afzenders.
Configuratievoorbeelden
Voorbeeld 1: Persoonlijke agent + beperkte gezinsagent
{ "agents": { "list": [ { "id": "main", "default": true, "name": "Personal Assistant", "workspace": "~/.openclaw/workspace", "sandbox": { "mode": "off" } }, { "id": "family", "name": "Family Bot", "workspace": "~/.openclaw/workspace-family", "sandbox": { "mode": "all", "scope": "agent" }, "tools": { "allow": ["read", "message"], "deny": ["exec", "write", "edit", "apply_patch", "process", "browser"], "message": { "crossContext": { "allowWithinProvider": false, "allowAcrossProviders": false } } } } ] }, "bindings": [ { "agentId": "family", "match": { "provider": "whatsapp", "accountId": "*", "peer": { "kind": "group", "id": "120363424282127706@g.us" } } } ]}Resultaat:
main-agent: draait op de host, volledige toegang tot tools.family-agent: draait in Docker (één container per agent), alleenreaden berichten verzenden binnen het huidige gesprek.
Voorbeeld 2: Werkagent met gedeelde sandbox
{ "agents": { "list": [ { "id": "personal", "workspace": "~/.openclaw/workspace-personal", "sandbox": { "mode": "off" } }, { "id": "work", "workspace": "~/.openclaw/workspace-work", "sandbox": { "mode": "all", "scope": "shared", "workspaceRoot": "/tmp/work-sandboxes" }, "tools": { "allow": ["read", "write", "apply_patch", "exec"], "deny": ["browser", "gateway", "discord"] } } ] }}Voorbeeld 2b: Algemeen programmeerprofiel + agent die alleen berichten verwerkt
{ "tools": { "profile": "coding" }, "agents": { "list": [ { "id": "support", "tools": { "profile": "messaging", "allow": ["slack"] } } ] }}Resultaat:
- standaardagents krijgen programmeertools.
support-agent kan alleen berichten verwerken (+ Slack-tool).
Voorbeeld 3: Verschillende sandboxmodi per agent
{ "agents": { "defaults": { "sandbox": { "mode": "non-main", "scope": "session" } }, "list": [ { "id": "main", "workspace": "~/.openclaw/workspace", "sandbox": { "mode": "off" } }, { "id": "public", "workspace": "~/.openclaw/workspace-public", "sandbox": { "mode": "all", "scope": "agent" }, "tools": { "allow": ["read"], "deny": ["exec", "write", "edit", "apply_patch"] } } ] }}Configuratievoorrang
Wanneer zowel algemene (agents.defaults.*) als agentspecifieke (agents.entries.*.*) configuraties bestaan:
Sandboxconfiguratie
Agentspecifieke instellingen overschrijven de algemene instellingen:
agents.entries.*.sandbox.mode > agents.defaults.sandbox.modeagents.entries.*.sandbox.scope > agents.defaults.sandbox.scopeagents.entries.*.sandbox.workspaceRoot > agents.defaults.sandbox.workspaceRootagents.entries.*.sandbox.workspaceAccess > agents.defaults.sandbox.workspaceAccessagents.entries.*.sandbox.docker.* > agents.defaults.sandbox.docker.*agents.entries.*.sandbox.browser.* > agents.defaults.sandbox.browser.*agents.entries.*.sandbox.prune.* > agents.defaults.sandbox.prune.*Toolbeperkingen
De filtervolgorde is:
Toolprofiel
tools.profile of agents.entries.*.tools.profile.
Toolprofiel van provider
tools.byProvider[provider].profile of agents.entries.*.tools.byProvider[provider].profile.
Algemeen toolbeleid
tools.allow / tools.deny.
Toolbeleid van provider
tools.byProvider[provider].allow/deny.
Agentspecifiek toolbeleid
agents.entries.*.tools.allow/deny.
Providerbeleid van agent
agents.entries.*.tools.byProvider[provider].allow/deny.
Toolbeleid van sandbox
tools.sandbox.tools of agents.entries.*.tools.sandbox.tools.
Toolbeleid van subagent
tools.subagents.tools, indien van toepassing.
Voorrangsregels
- Elk niveau kan tools verder beperken, maar kan op eerdere niveaus geweigerde tools niet opnieuw toestaan.
- Als
agents.entries.*.tools.sandbox.toolsis ingesteld, vervangt dittools.sandbox.toolsvoor die agent. - Als
agents.entries.*.tools.profileis ingesteld, overschrijft dittools.profilevoor die agent. - Providertoolsleutels accepteren zowel
provider(bijvoorbeeldgoogle-antigravity) alsprovider/model(bijvoorbeeldopenai/gpt-5.4).
Gedrag bij een lege toelatingslijst
Als een expliciete toelatingslijst in die keten ervoor zorgt dat er geen aanroepbare tools overblijven, stopt OpenClaw voordat de prompt naar het model wordt verzonden. Dit is opzettelijk: een agent die is geconfigureerd met een ontbrekende tool zoals agents.entries.*.tools.allow: ["query_db"], moet duidelijk mislukken totdat de Plugin die query_db registreert is ingeschakeld, en niet doorgaan als een agent die alleen tekst verwerkt.
Toolbeleid ondersteunt group:*-verkortingen die naar meerdere tools worden uitgebreid. Zie Toolgroepen voor de volledige lijst.
Verhoogde overschrijvingen per agent (agents.entries.*.tools.elevated) kunnen verhoogde uitvoering voor specifieke agents verder beperken. Zie Verhoogde modus voor details.
Migratie vanuit één agent
Voorheen (één agent)
{ "agents": { "defaults": { "workspace": "~/.openclaw/workspace", "sandbox": { "mode": "non-main" } } }, "tools": { "sandbox": { "tools": { "allow": ["read", "write", "apply_patch", "exec"], "deny": [] } } }}Nadien (meerdere agents)
{ "agents": { "list": [ { "id": "main", "default": true, "workspace": "~/.openclaw/workspace", "sandbox": { "mode": "off" } } ] }}Voorbeelden van toolbeperkingen
Alleen-lezenagent
{ "tools": { "allow": ["read"], "deny": ["exec", "write", "edit", "apply_patch", "process"] }}Shelluitvoering met uitgeschakelde bestandssysteemtools
{ "tools": { "allow": ["read", "exec", "process"], "deny": ["write", "edit", "apply_patch", "browser", "gateway"] }}Alleen communicatie
{ "tools": { "sessions": { "visibility": "tree" }, "allow": ["sessions_list", "sessions_send", "sessions_history", "session_status"], "deny": ["exec", "write", "edit", "apply_patch", "read", "browser"] }}sessions_history in dit profiel retourneert nog steeds een begrensde, opgeschoonde herinneringsweergave in plaats van een onbewerkte transcriptdump. Bij het ophalen van assistentgegevens worden denktags, <relevant-memories>-scaffolding, XML-payloads voor toolaanroepen in platte tekst (waaronder <tool_call>...</tool_call>, <function_call>...</function_call>, <tool_calls>...</tool_calls>, <function_calls>...</function_calls> en afgekorte toolaanroepblokken), afgewaardeerde scaffolding voor toolaanroepen, gelekte ASCII-/volledige-breedte-modelbesturingstokens en ongeldige MiniMax-XML voor toolaanroepen verwijderd vóór redactie/afkapping.
Veelvoorkomende valkuil: "non-main"
Testen
Na het configureren van de sandbox en tools voor meerdere agents:
Agentselectie controleren
openclaw agents list --bindingsSandboxcontainers verifiëren
docker ps --filter "name=openclaw-sbx-"Toolbeperkingen testen
- Stuur een bericht waarvoor beperkte tools nodig zijn.
- Controleer of de agent geweigerde tools niet kan gebruiken.
Logboeken bewaken
openclaw logs --follow | grep -E "routing|sandbox|tools"Problemen oplossen
Agent wordt ondanks `mode: 'all'` niet in een sandbox uitgevoerd
- Controleer of er een algemene
agents.defaults.sandbox.modebestaat die dit overschrijft. - Agentspecifieke configuratie heeft voorrang, dus stel
agents.entries.*.sandbox.mode: "all"in.
Tools die ondanks de weigerlijst nog steeds beschikbaar zijn
- Bekijk de volledige filtervolgorde: profiel → providerprofiel → globaal beleid → providerbeleid → agentbeleid → providerbeleid van de agent → sandbox → subagent.
- Elk niveau kan alleen verdere beperkingen opleggen, niet opnieuw toegang verlenen.
- Zie Sandbox versus toolbeleid versus verhoogde modus voor stapsgewijze foutopsporing.
Container niet per agent geïsoleerd
- De standaardwaarde van
scopeis"agent"(één container per agent-id). - Stel
scope: "session"in voor één container per sessie, ofscope: "shared"om één container opnieuw te gebruiken voor meerdere agents.
Gerelateerd
- Verhoogde modus
- Routering met meerdere agents
- Sandboxconfiguratie
- Sandbox versus toolbeleid versus verhoogde modus — foutopsporing voor "waarom wordt dit geblokkeerd?"
- Sandboxing — volledige sandboxreferentie (modi, bereiken, backends, images)
- Sessiebeheer