Konfigurasi Sandbox & Tools Multi-Agent
Setiap agen dalam pengaturan multi-agent dapat menimpa kebijakan sandbox dan tool global. Halaman ini membahas konfigurasi per agen, aturan prioritas, dan contoh.- Backend dan mode sandbox: lihat Sandboxing.
- Men-debug tool yang diblokir: lihat Sandbox vs Tool Policy vs Elevated dan
openclaw sandbox explain. - Exec elevated: lihat Elevated Mode.
agentDir miliknya sendiri di
~/.openclaw/agents/<agentId>/agent/auth-profiles.json.
Kredensial tidak dibagikan antar agen. Jangan pernah menggunakan ulang agentDir antar agen.
Jika Anda ingin berbagi kredensial, salin auth-profiles.json ke agentDir agen lainnya.
Contoh Konfigurasi
Contoh 1: Agen Pribadi + Agen Keluarga yang Dibatasi
- agen
main: Berjalan di host, akses tool penuh - agen
family: Berjalan di Docker (satu container per agen), hanya toolread
Contoh 2: Agen Kerja dengan Sandbox Bersama
Contoh 2b: Profil coding global + agen khusus pesan
- agen default mendapatkan tool coding
- agen
supporthanya untuk pesan (+ tool Slack)
Contoh 3: Mode Sandbox Berbeda per Agen
Prioritas Konfigurasi
Saat config global (agents.defaults.*) dan config khusus agen (agents.list[].*) sama-sama ada:
Config Sandbox
Pengaturan khusus agen menimpa pengaturan global:agents.list[].sandbox.{docker,browser,prune}.*menimpaagents.defaults.sandbox.{docker,browser,prune}.*untuk agen tersebut (diabaikan saat cakupan sandbox teresolusi menjadi"shared").
Pembatasan Tool
Urutan pemfilterannya adalah:- Profil tool (
tools.profileatauagents.list[].tools.profile) - Profil tool provider (
tools.byProvider[provider].profileatauagents.list[].tools.byProvider[provider].profile) - Kebijakan tool global (
tools.allow/tools.deny) - Kebijakan tool provider (
tools.byProvider[provider].allow/deny) - Kebijakan tool khusus agen (
agents.list[].tools.allow/deny) - Kebijakan provider agen (
agents.list[].tools.byProvider[provider].allow/deny) - Kebijakan tool sandbox (
tools.sandbox.toolsatauagents.list[].tools.sandbox.tools) - Kebijakan tool subagen (
tools.subagents.tools, jika berlaku)
agents.list[].tools.sandbox.tools disetel, nilainya menggantikan tools.sandbox.tools untuk agen tersebut.
Jika agents.list[].tools.profile disetel, nilainya menimpa tools.profile untuk agen tersebut.
Kunci tool provider menerima provider (misalnya google-antigravity) atau provider/model (misalnya openai/gpt-5.4).
Kebijakan tool mendukung shorthand group:* yang berkembang menjadi beberapa tool. Lihat Kelompok tool untuk daftar lengkapnya.
Override elevated per agen (agents.list[].tools.elevated) dapat makin membatasi exec elevated untuk agen tertentu. Lihat Elevated Mode untuk detailnya.
Migrasi dari Single Agent
Sebelum (single agent):agent.* dimigrasikan oleh openclaw doctor; ke depannya, utamakan agents.defaults + agents.list.
Contoh Pembatasan Tool
Agen Hanya-Baca
Agen Eksekusi Aman (tanpa modifikasi file)
Agen Khusus Komunikasi
sessions_history dalam profil ini tetap mengembalikan tampilan recall
yang dibatasi dan disanitasi, bukan dump transkrip mentah. Recall asisten menghapus tag thinking,
scaffolding <relevant-memories>, payload XML tool-call teks biasa
(termasuk <tool_call>...</tool_call>,
<function_call>...</function_call>, <tool_calls>...</tool_calls>,
<function_calls>...</function_calls>, dan blok tool-call yang terpotong),
scaffolding tool-call yang diturunkan, token kontrol model ASCII/full-width
yang bocor, dan XML tool-call MiniMax yang cacat sebelum redaksi/trunkasi.
Jebakan Umum: “non-main”
agents.defaults.sandbox.mode: "non-main" didasarkan pada session.mainKey (default "main"),
bukan id agen. Sesi grup/channel selalu mendapatkan key-nya sendiri, jadi
mereka diperlakukan sebagai non-main dan akan disandbox. Jika Anda ingin suatu agen tidak pernah
disandbox, setel agents.list[].sandbox.mode: "off".
Pengujian
Setelah mengonfigurasi sandbox dan tool multi-agent:-
Periksa resolusi agen:
-
Verifikasi container sandbox:
-
Uji pembatasan tool:
- Kirim pesan yang memerlukan tool yang dibatasi
- Verifikasi bahwa agen tidak dapat menggunakan tool yang ditolak
-
Pantau log:
Pemecahan Masalah
Agen tidak disandbox meskipun mode: "all"
- Periksa apakah ada
agents.defaults.sandbox.modeglobal yang menimpanya - Config khusus agen memiliki prioritas lebih tinggi, jadi setel
agents.list[].sandbox.mode: "all"
Tool masih tersedia meskipun ada deny list
- Periksa urutan pemfilteran tool: global → agen → sandbox → subagen
- Setiap level hanya dapat makin membatasi, bukan mengembalikan akses
- Verifikasi dengan log:
[tools] filtering tools for agent:${agentId}
Container tidak terisolasi per agen
- Setel
scope: "agent"dalam config sandbox khusus agen - Default-nya adalah
"session"yang membuat satu container per sesi
Lihat juga
- Sandboxing — referensi sandbox lengkap (mode, cakupan, backend, image)
- Sandbox vs Tool Policy vs Elevated — debugging “mengapa ini diblokir?”
- Elevated Mode
- Routing Multi-Agent
- Konfigurasi Sandbox
- Manajemen Sesi