Skip to main content
Każdy agent w konfiguracji wieloagentowej może nadpisać globalną politykę piaskownicy i narzędzi. Ta strona opisuje konfigurację poszczególnych agentów, reguły pierwszeństwa i przykłady.

Piaskownica

Mechanizmy wykonawcze i tryby — pełna dokumentacja piaskownicy.

Piaskownica a polityka narzędzi a tryb podwyższony

Diagnozowanie problemu „dlaczego jest to zablokowane?”

Tryb podwyższony

Wykonywanie poleceń z podwyższonymi uprawnieniami dla zaufanych nadawców.
Uwierzytelnianie jest ograniczone do agenta: każdy agent ma własny magazyn uwierzytelniania agentDir w ~/.openclaw/agents/<agentId>/agent/openclaw-agent.sqlite. Nigdy nie używaj tego samego agentDir dla wielu agentów. Agenci mogą korzystać z profili uwierzytelniania domyślnego/głównego agenta, jeśli nie mają profilu lokalnego, ale tokeny odświeżania OAuth nie są klonowane do magazynów agentów dodatkowych. Jeśli kopiujesz dane uwierzytelniające ręcznie, kopiuj wyłącznie przenośne, statyczne profile api_key lub token.

Przykłady konfiguracji

Wynik:
  • Agent main: działa na hoście i ma pełny dostęp do narzędzi.
  • Agent family: działa w Dockerze (jeden kontener na agenta) i może wyłącznie odczytywać oraz wysyłać wiadomości w bieżącej rozmowie.
Wynik:
  • Domyślni agenci otrzymują narzędzia programistyczne.
  • Agent support obsługuje wyłącznie wiadomości (oraz narzędzie Slack).

Pierwszeństwo konfiguracji

Gdy istnieje zarówno konfiguracja globalna (agents.defaults.*), jak i konfiguracja właściwa dla agenta (agents.list[].*):

Konfiguracja piaskownicy

Ustawienia właściwe dla agenta zastępują ustawienia globalne:
agents.list[].sandbox.{docker,browser,prune}.* zastępuje agents.defaults.sandbox.{docker,browser,prune}.* dla danego agenta (jest ignorowane, gdy wynikowy zakres piaskownicy to "shared").

Ograniczenia narzędzi

Kolejność filtrowania jest następująca:
1

Profil narzędzi

tools.profile lub agents.list[].tools.profile.
2

Profil narzędzi dostawcy

tools.byProvider[provider].profile lub agents.list[].tools.byProvider[provider].profile.
3

Globalna polityka narzędzi

tools.allow / tools.deny.
4

Polityka narzędzi dostawcy

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

Polityka narzędzi właściwa dla agenta

agents.list[].tools.allow/deny.
6

Polityka dostawcy właściwa dla agenta

agents.list[].tools.byProvider[provider].allow/deny.
7

Polityka narzędzi piaskownicy

tools.sandbox.tools lub agents.list[].tools.sandbox.tools.
8

Polityka narzędzi podagentów

tools.subagents.tools, jeśli ma zastosowanie.
  • Każdy poziom może dodatkowo ograniczać narzędzia, ale nie może ponownie przyznać dostępu do narzędzi zablokowanych na wcześniejszych poziomach.
  • Jeśli ustawiono agents.list[].tools.sandbox.tools, zastępuje ono tools.sandbox.tools dla danego agenta.
  • Jeśli ustawiono agents.list[].tools.profile, zastępuje ono tools.profile dla danego agenta.
  • Klucze narzędzi dostawcy przyjmują wartość provider (np. google-antigravity) albo provider/model (np. openai/gpt-5.4).
Jeśli którakolwiek jawna lista dozwolonych narzędzi w tym łańcuchu sprawi, że podczas wykonania nie będzie można wywołać żadnego narzędzia, OpenClaw zatrzyma się przed przesłaniem monitu do modelu. Jest to zamierzone: agent skonfigurowany z brakującym narzędziem, takim jak agents.list[].tools.allow: ["query_db"], powinien zgłaszać wyraźny błąd do czasu włączenia pluginu rejestrującego query_db, zamiast kontynuować pracę jako agent obsługujący wyłącznie tekst.
Polityki narzędzi obsługują skróty group:*, które rozwijają się do wielu narzędzi. Pełną listę zawiera sekcja Grupy narzędzi. Nadpisania trybu podwyższonego dla poszczególnych agentów (agents.list[].tools.elevated) mogą dodatkowo ograniczać wykonywanie poleceń z podwyższonymi uprawnieniami przez określonych agentów. Szczegółowe informacje zawiera sekcja Tryb podwyższony.

Migracja z pojedynczego agenta

Starsze klucze konfiguracji agents.defaults.*/agents.list[].* (takie jak sandbox.perSession, agentRuntime, embeddedPi) są migrowane przez openclaw doctor; w przyszłości używaj agents.defaults i agents.list.

Przykłady ograniczeń narzędzi


Częsta pułapka: „non-main”

agents.defaults.sandbox.mode: "non-main" porównuje klucz sesji z kluczem sesji głównej (zawsze "main"; session.mainKey nie może być konfigurowany przez użytkownika, a OpenClaw ostrzega o każdej innej wartości i ją ignoruje), a nie z identyfikatorem agenta. Sesje grupowe i kanałowe zawsze otrzymują własne klucze, dlatego są traktowane jako inne niż główna i uruchamiane w piaskownicy. Jeśli agent nigdy nie powinien korzystać z piaskownicy, ustaw agents.list[].sandbox.mode: "off".

Testowanie

Po skonfigurowaniu piaskownicy i narzędzi dla wielu agentów:
1

Sprawdź rozpoznawanie agentów

2

Zweryfikuj kontenery piaskownicy

3

Przetestuj ograniczenia narzędzi

  • Wyślij wiadomość wymagającą użycia ograniczonych narzędzi.
  • Sprawdź, czy agent nie może używać zablokowanych narzędzi.
4

Monitoruj dzienniki


Rozwiązywanie problemów

  • Sprawdź, czy istnieje globalne ustawienie agents.defaults.sandbox.mode, które je zastępuje.
  • Konfiguracja właściwa dla agenta ma pierwszeństwo, dlatego ustaw agents.list[].sandbox.mode: "all".
  • Domyślna wartość scope to "agent" (jeden kontener na identyfikator agenta).
  • Ustaw scope: "session", aby używać jednego kontenera na sesję, lub scope: "shared", aby ponownie wykorzystywać jeden kontener przez wielu agentów.

Powiązane