Sandbox so với Chính sách Tool so với Elevated
OpenClaw có ba cơ chế liên quan (nhưng khác nhau):- Sandbox (
agents.defaults.sandbox.*/agents.list[].sandbox.*) quyết định tool chạy ở đâu (Docker hay host). - Chính sách tool (
tools.*,tools.sandbox.tools.*,agents.list[].tools.*) quyết định tool nào có sẵn/được phép. - Elevated (
tools.elevated.*,agents.list[].tools.elevated.*) là lối thoát chỉ dành cho exec để chạy trên host khi bạn đang ở trong sandbox.
Gỡ lỗi nhanh
Dùng inspector để xem OpenClaw thực sự đang làm gì:- chế độ/phạm vi sandbox/quyền truy cập workspace đang áp dụng
- phiên hiện tại có đang bị sandbox hay không (main so với không-main)
- allow/deny tool của sandbox đang áp dụng (và nó đến từ agent/toàn cục/mặc định)
- các cổng elevated và đường dẫn khóa cấu hình để sửa
Sandbox: nơi tool chạy
Sandboxing được điều khiển bởiagents.defaults.sandbox.mode:
"off": mọi thứ chạy trên host."non-main": chỉ các phiên không-main bị sandbox (nguồn “bất ngờ” phổ biến với group/kênh)."all": mọi thứ đều bị sandbox.
Bind mount (kiểm tra nhanh về bảo mật)
docker.bindsxuyên thủng filesystem của sandbox: bất cứ thứ gì bạn mount sẽ hiển thị trong container với chế độ bạn đặt (:rohoặc:rw).- Mặc định là đọc-ghi nếu bạn bỏ qua chế độ; nên ưu tiên
:rocho mã nguồn/bí mật. scope: "shared"bỏ qua bind theo từng tác tử (chỉ áp dụng bind toàn cục).- Bind
/var/run/docker.sockvề cơ bản trao quyền kiểm soát host cho sandbox; chỉ làm điều này khi có chủ đích. - Quyền truy cập workspace (
workspaceAccess: "ro"/"rw") độc lập với chế độ bind.
Chính sách tool: tool nào tồn tại/có thể gọi
Hai lớp chính cần quan tâm:- Hồ sơ tool:
tools.profilevàagents.list[].tools.profile(allowlist cơ sở) - Hồ sơ tool của provider:
tools.byProvider[provider].profilevàagents.list[].tools.byProvider[provider].profile - Chính sách tool toàn cục/theo tác tử:
tools.allow/tools.denyvàagents.list[].tools.allow/agents.list[].tools.deny - Chính sách tool của provider:
tools.byProvider[provider].allow/denyvàagents.list[].tools.byProvider[provider].allow/deny - Chính sách tool của sandbox (chỉ áp dụng khi bị sandbox):
tools.sandbox.tools.allow/tools.sandbox.tools.denyvàagents.list[].tools.sandbox.tools.*
denyluôn thắng.- Nếu
allowkhông rỗng, mọi thứ khác được xem là bị chặn. - Chính sách tool là điểm dừng cứng:
/execkhông thể ghi đè một toolexecđã bị từ chối. /execchỉ thay đổi các mặc định của phiên cho các bên gửi được ủy quyền; nó không cấp quyền truy cập công cụ. Khóa công cụ của nhà cung cấp chấp nhận либоprovider(ví dụ:google-antigravity) hoặcprovider/model(ví dụ:openai/gpt-5.2).
Nhóm tool (viết tắt)
Chính sách tool (toàn cục, theo tác tử, sandbox) hỗ trợ các mụcgroup:* mở rộng thành nhiều tool:
group:runtime:exec,bash,processgroup:fs:read,write,edit,apply_patchgroup:sessions:sessions_list,sessions_history,sessions_send,sessions_spawn,session_statusgroup:memory:memory_search,memory_getgroup:ui:browser,canvasgroup:automation:cron,gatewaygroup:messaging:messagegroup:nodes:nodesgroup:openclaw: tất cả tool tích hợp sẵn của OpenClaw (không bao gồm plugin provider)
Elevated: exec-only “chạy trên host”
Elevated không cấp thêm tool; nó chỉ ảnh hưởng đếnexec.
- Nếu bạn đang bị sandbox,
/elevated on(hoặcexecvớielevated: true) sẽ chạy trên host (vẫn có thể cần phê duyệt). - Dùng
/elevated fullđể bỏ qua phê duyệt exec cho phiên. - Nếu bạn đã chạy trực tiếp, elevated về cơ bản không có tác dụng (vẫn bị chặn bởi cổng).
- Elevated không theo phạm vi skill và không ghi đè allow/deny của tool.
/exectách biệt với elevated. Nó chỉ điều chỉnh các mặc định exec theo từng phiên cho các bên gửi được ủy quyền.
- Bật/tắt:
tools.elevated.enabled(và tùy chọnagents.list[].tools.elevated.enabled) - Danh sách cho phép người gửi:
tools.elevated.allowFrom.<provider>`` (và tùy chọnagents.list[].tools.elevated.allowFrom.<provider>“)
Các cách sửa “sandbox jail” thường gặp
“Tool X bị chặn bởi chính sách tool của sandbox”
Khóa để sửa (chọn một):- Tắt sandbox:
agents.defaults.sandbox.mode=off(hoặc theo tác tửagents.list[].sandbox.mode=off) - Cho phép tool bên trong sandbox:
- gỡ nó khỏi
tools.sandbox.tools.deny(hoặc theo tác tửagents.list[].tools.sandbox.tools.deny) - hoặc thêm nó vào
tools.sandbox.tools.allow(hoặc allow theo tác tử)
- gỡ nó khỏi
“Tôi tưởng đây là main, sao lại bị sandbox?”
Trong chế độ"non-main", các khóa nhóm/kênh không phải là main. Sử dụng khóa phiên main (hiển thị bởi sandbox explain) hoặc chuyển chế độ sang "off".