Skip to main content
Jeder Agent in einer Multi-Agent-Konfiguration kann die globale Sandbox- und Tool-Richtlinie überschreiben. Diese Seite behandelt die agentenspezifische Konfiguration, Vorrangregeln und Beispiele.

Sandboxing

Backends und Modi – vollständige Sandbox-Referenz.

Sandbox vs. Tool-Richtlinie vs. Elevated

Fehlerdiagnose für „Warum wird dies blockiert?“

Elevated-Modus

Elevated-Ausführung für vertrauenswürdige Absender.
Die Authentifizierung ist auf den jeweiligen Agenten beschränkt: Jeder Agent verfügt über einen eigenen agentDir-Authentifizierungsspeicher in ~/.openclaw/agents/<agentId>/agent/openclaw-agent.sqlite. Verwenden Sie agentDir niemals agentenübergreifend. Agenten können auf die Authentifizierungsprofile des standardmäßigen/Hauptagenten zurückgreifen, wenn sie kein lokales Profil besitzen; OAuth-Aktualisierungstoken werden jedoch nicht in die Speicher sekundärer Agenten kopiert. Wenn Sie Anmeldedaten manuell kopieren, kopieren Sie nur übertragbare statische api_key- oder token-Profile.

Konfigurationsbeispiele

Ergebnis:
  • main-Agent: wird auf dem Host ausgeführt und hat vollständigen Tool-Zugriff.
  • family-Agent: wird in Docker ausgeführt (ein Container pro Agent) und kann nur read sowie Nachrichten in der aktuellen Unterhaltung senden.
Ergebnis:
  • Standardagenten erhalten Coding-Tools.
  • Der support-Agent kann ausschließlich Nachrichten verarbeiten (+ Slack-Tool).

Konfigurationsvorrang

Wenn sowohl globale (agents.defaults.*) als auch agentenspezifische (agents.entries.*.*) Konfigurationen vorhanden sind:

Sandbox-Konfiguration

Agentenspezifische Einstellungen überschreiben globale Einstellungen:
agents.entries.*.sandbox.{docker,browser,prune}.* überschreibt agents.defaults.sandbox.{docker,browser,prune}.* für diesen Agenten (wird ignoriert, wenn der Sandbox-Geltungsbereich zu "shared" aufgelöst wird).

Tool-Einschränkungen

Die Filterreihenfolge lautet:
1

Tool-Profil

tools.profile oder agents.entries.*.tools.profile.
2

Provider-Tool-Profil

tools.byProvider[provider].profile oder agents.entries.*.tools.byProvider[provider].profile.
3

Globale Tool-Richtlinie

tools.allow / tools.deny.
4

Provider-Tool-Richtlinie

tools.byProvider[provider].allow/deny.
5

Agentenspezifische Tool-Richtlinie

agents.entries.*.tools.allow/deny.
6

Agenten-Provider-Richtlinie

agents.entries.*.tools.byProvider[provider].allow/deny.
7

Sandbox-Tool-Richtlinie

tools.sandbox.tools oder agents.entries.*.tools.sandbox.tools.
8

Subagenten-Tool-Richtlinie

tools.subagents.tools, falls zutreffend.
  • Jede Ebene kann Tools weiter einschränken, aber keine auf früheren Ebenen verweigerten Tools erneut gewähren.
  • Wenn agents.entries.*.tools.sandbox.tools festgelegt ist, ersetzt es tools.sandbox.tools für diesen Agenten.
  • Wenn agents.entries.*.tools.profile festgelegt ist, überschreibt es tools.profile für diesen Agenten.
  • Provider-Tool-Schlüssel akzeptieren entweder provider (z. B. google-antigravity) oder provider/model (z. B. openai/gpt-5.4).
Wenn eine explizite Zulassungsliste in dieser Kette dazu führt, dass für die Ausführung keine aufrufbaren Tools verbleiben, hält OpenClaw an, bevor der Prompt an das Modell übermittelt wird. Dies ist beabsichtigt: Ein Agent, der mit einem fehlenden Tool wie agents.entries.*.tools.allow: ["query_db"] konfiguriert ist, soll mit einem deutlichen Fehler abbrechen, bis das Plugin aktiviert wird, das query_db registriert, statt als reiner Textagent fortzufahren.
Tool-Richtlinien unterstützen group:*-Kurzformen, die zu mehreren Tools erweitert werden. Die vollständige Liste finden Sie unter Tool-Gruppen. Agentenspezifische Elevated-Überschreibungen (agents.entries.*.tools.elevated) können die Elevated-Ausführung für bestimmte Agenten weiter einschränken. Weitere Informationen finden Sie unter Elevated-Modus.

Migration von einem einzelnen Agenten

Veraltete agents.defaults.*/agents.entries.*.*-Konfigurationsschlüssel (wie sandbox.perSession, agentRuntime, embeddedPi) werden durch openclaw doctor migriert; verwenden Sie künftig vorzugsweise agents.defaults + agents.entries.

Beispiele für Tool-Einschränkungen


Häufiger Fallstrick: „non-main“

agents.defaults.sandbox.mode: "non-main" vergleicht den Sitzungsschlüssel mit dem Hauptsitzungsschlüssel (immer "main"; session.mainKey kann nicht benutzerseitig konfiguriert werden, und OpenClaw warnt bei jedem anderen Wert und ignoriert ihn), nicht mit der Agenten-ID. Gruppen-/Kanalsitzungen erhalten stets eigene Schlüssel, werden daher als Nicht-Hauptsitzungen behandelt und in einer Sandbox ausgeführt. Wenn ein Agent niemals in einer Sandbox ausgeführt werden soll, legen Sie agents.entries.*.sandbox.mode: "off" fest.

Testen

Nach der Konfiguration der Multi-Agent-Sandbox und der Tools:
1

Agentenauflösung prüfen

2

Sandbox-Container überprüfen

3

Tool-Einschränkungen testen

  • Senden Sie eine Nachricht, die eingeschränkte Tools erfordert.
  • Überprüfen Sie, dass der Agent verweigerte Tools nicht verwenden kann.
4

Protokolle überwachen


Fehlerbehebung

  • Prüfen Sie, ob ein globales agents.defaults.sandbox.mode vorhanden ist, das diese Einstellung überschreibt.
  • Die agentenspezifische Konfiguration hat Vorrang; legen Sie daher agents.entries.*.sandbox.mode: "all" fest.
  • Prüfen Sie die vollständige Filterreihenfolge: Profil → Provider-Profil → globale Richtlinie → Provider-Richtlinie → Agentenrichtlinie → Agenten-Provider-Richtlinie → Sandbox → Subagent.
  • Jede Ebene kann nur weitere Einschränkungen vornehmen, nicht jedoch Berechtigungen wieder gewähren.
  • Eine schrittweise Anleitung zur Fehlerbehebung finden Sie unter Sandbox vs. Tool-Richtlinie vs. erhöhter Modus.
  • Der Standardwert für scope ist "agent" (ein Container pro Agenten-ID).
  • Legen Sie scope: "session" für einen Container pro Sitzung oder scope: "shared" fest, um einen Container agentenübergreifend wiederzuverwenden.

Verwandte Themen