OpenClaw verfügt über drei verwandte (aber unterschiedliche) Steuerelemente:Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
- Sandbox (
agents.defaults.sandbox.*/agents.list[].sandbox.*) entscheidet, wo Tools ausgeführt werden (Sandbox-Backend oder Host). - Tool-Richtlinie (
tools.*,tools.sandbox.tools.*,agents.list[].tools.*) entscheidet, welche Tools verfügbar/erlaubt sind. - Erhöhte Ausführung (
tools.elevated.*,agents.list[].tools.elevated.*) ist ein nur für exec vorgesehener Ausweg, um außerhalb der Sandbox auszuführen, wenn Sie sich in einer Sandbox befinden (standardmäßiggatewayodernode, wenn das exec-Ziel aufnodekonfiguriert ist).
Schnelles Debugging
Verwenden Sie den Inspector, um zu sehen, was OpenClaw tatsächlich tut:- effektiver Sandbox-Modus/-Scope/Workspace-Zugriff
- ob die Sitzung derzeit in einer Sandbox ausgeführt wird (main vs. non-main)
- effektives Erlauben/Verweigern von Sandbox-Tools (und ob dies von Agent/global/Standard stammt)
- Gates für erhöhte Ausführung und Fix-it-Schlüsselpfade
Sandbox: Wo Tools ausgeführt werden
Sandboxing wird überagents.defaults.sandbox.mode gesteuert:
"off": alles wird auf dem Host ausgeführt."non-main": nur Nicht-main-Sitzungen werden in einer Sandbox ausgeführt (häufige „Überraschung“ bei Gruppen/Kanälen)."all": alles wird in einer Sandbox ausgeführt.
Bind-Mounts (schneller Sicherheitscheck)
docker.bindsdurchbricht das Sandbox-Dateisystem: Alles, was Sie einhängen, ist im Container mit dem von Ihnen gesetzten Modus sichtbar (:rooder:rw).- Standard ist Lesen/Schreiben, wenn Sie den Modus weglassen; bevorzugen Sie
:rofür Quellcode/Secrets. scope: "shared"ignoriert agentenspezifische Binds (nur globale Binds gelten).- OpenClaw validiert Bind-Quellen zweimal: zuerst auf dem normalisierten Quellpfad, dann erneut nach dem Auflösen über den tiefsten existierenden Vorfahren. Symlink-Parent-Escapes umgehen keine Prüfungen für blockierte Pfade oder erlaubte Roots.
- Nicht vorhandene Blattpfade werden weiterhin sicher geprüft. Wenn
/workspace/alias-out/new-fileüber einen Symlink-Parent zu einem blockierten Pfad oder außerhalb der konfigurierten erlaubten Roots aufgelöst wird, wird der Bind abgelehnt. - Das Einbinden von
/var/run/docker.sockübergibt der Sandbox effektiv die Kontrolle über den Host; tun Sie dies nur absichtlich. - Workspace-Zugriff (
workspaceAccess: "ro"/"rw") ist unabhängig von Bind-Modi.
Tool-Richtlinie: Welche Tools existieren/aufrufbar sind
Zwei Ebenen sind relevant:- Tool-Profil:
tools.profileundagents.list[].tools.profile(Basis-Allowlist) - Provider-Tool-Profil:
tools.byProvider[provider].profileundagents.list[].tools.byProvider[provider].profile - Globale/pro-Agent-Tool-Richtlinie:
tools.allow/tools.denyundagents.list[].tools.allow/agents.list[].tools.deny - Provider-Tool-Richtlinie:
tools.byProvider[provider].allow/denyundagents.list[].tools.byProvider[provider].allow/deny - Sandbox-Tool-Richtlinie (gilt nur in der Sandbox):
tools.sandbox.tools.allow/tools.sandbox.tools.denyundagents.list[].tools.sandbox.tools.*
denygewinnt immer.- Wenn
allownicht leer ist, wird alles andere als blockiert behandelt. - Die Tool-Richtlinie ist der harte Stopp:
/execkann ein verweigertesexec-Tool nicht überschreiben. - Die Tool-Richtlinie filtert die Tool-Verfügbarkeit nach Name; sie prüft keine Seiteneffekte innerhalb von
exec. Wennexecerlaubt ist, machen verweigertewrite-,edit- oderapply_patch-Tools Shell-Befehle nicht schreibgeschützt. /execändert nur Sitzungsvorgaben für autorisierte Absender; es gewährt keinen Tool-Zugriff. Provider-Tool-Schlüssel akzeptieren entwederprovider(z. B.google-antigravity) oderprovider/model(z. B.openai/gpt-5.4).
Tool-Gruppen (Kurzformen)
Tool-Richtlinien (global, Agent, Sandbox) unterstützengroup:*-Einträge, die zu mehreren Tools expandieren:
group:runtime:exec,process,code_execution(bashwird als Alias fürexecakzeptiert)group:fs:read,write,edit,apply_patchVerweigern Sie für schreibgeschützte Agentsgroup:runtimeebenso wie mutierende Dateisystem-Tools, sofern die Sandbox-Dateisystemrichtlinie oder eine separate Host-Grenze die Schreibschutzanforderung nicht erzwingt.group:sessions:sessions_list,sessions_history,sessions_send,sessions_spawn,sessions_yield,subagents,session_statusgroup:memory:memory_search,memory_getgroup:web:web_search,x_search,web_fetchgroup:ui:browser,canvasgroup:automation:heartbeat_respond,cron,gatewaygroup:messaging:messagegroup:nodes:nodesgroup:agents:agents_list,update_plangroup:media:image,image_generate,music_generate,video_generate,ttsgroup:openclaw: alle integrierten OpenClaw-Tools (schließt Provider-Plugins aus)
Erhöhte Ausführung: nur für exec „auf dem Host ausführen“
Erhöhte Ausführung gewährt keine zusätzlichen Tools; sie wirkt sich nur aufexec aus.
- Wenn Sie sich in einer Sandbox befinden, führt
/elevated on(oderexecmitelevated: true) außerhalb der Sandbox aus (Genehmigungen können weiterhin gelten). - Verwenden Sie
/elevated full, um exec-Genehmigungen für die Sitzung zu überspringen. - Wenn Sie bereits direkt ausführen, ist erhöhte Ausführung effektiv ein No-op (weiterhin durch Gates geschützt).
- Erhöhte Ausführung ist nicht auf Skills beschränkt und überschreibt nicht Tool-Erlauben/-Verweigern.
- Erhöhte Ausführung gewährt keine beliebigen hostübergreifenden Überschreibungen aus
host=auto; sie folgt den normalen exec-Zielregeln und behältnodenur bei, wenn das konfigurierte/Sitzungsziel bereitsnodeist. /execist von erhöhter Ausführung getrennt. Es passt nur exec-Vorgaben pro Sitzung für autorisierte Absender an.
- Aktivierung:
tools.elevated.enabled(und optionalagents.list[].tools.elevated.enabled) - Absender-Allowlists:
tools.elevated.allowFrom.<provider>(und optionalagents.list[].tools.elevated.allowFrom.<provider>)
Häufige Korrekturen für das „Sandbox-Gefängnis“
„Tool X durch Sandbox-Tool-Richtlinie blockiert“
Fix-it-Schlüssel (wählen Sie einen):- Sandbox deaktivieren:
agents.defaults.sandbox.mode=off(oder pro Agentagents.list[].sandbox.mode=off) - Tool innerhalb der Sandbox erlauben:
- aus
tools.sandbox.tools.denyentfernen (oder pro Agentagents.list[].tools.sandbox.tools.deny) - oder zu
tools.sandbox.tools.allowhinzufügen (oder pro-Agent-Allow)
- aus
„Ich dachte, dies wäre main, warum ist es in der Sandbox?“
Im Modus"non-main" sind Gruppen-/Kanalschlüssel nicht main. Verwenden Sie den main-Sitzungsschlüssel (angezeigt von sandbox explain) oder wechseln Sie den Modus zu "off".
Verwandte Themen
- Sandboxing — vollständige Sandbox-Referenz (Modi, Scopes, Backends, Images)
- Multi-Agent-Sandbox und Tools — Überschreibungen und Priorität pro Agent
- Erhöhter Modus