OpenClaw có ba cơ chế kiểm soát liên quan (nhưng khác nhau):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.
- Môi trường cách ly (
agents.defaults.sandbox.*/agents.list[].sandbox.*) quyết định công cụ chạy ở đâu (backend cách ly hay máy chủ). - Chính sách công cụ (
tools.*,tools.sandbox.tools.*,agents.list[].tools.*) quyết định công cụ nào có sẵn/được phép dùng. - Nâng quyền (
tools.elevated.*,agents.list[].tools.elevated.*) là lối thoát chỉ dành cho exec để chạy bên ngoài môi trường cách ly khi bạn đang bị cách ly (gatewaytheo mặc định, hoặcnodekhi đích exec được cấu hình lànode).
Gỡ lỗi nhanh
Dùng trình kiểm tra để xem OpenClaw thực sự đang làm gì:- chế độ/phạm vi/quyền truy cập workspace cách ly hiệu dụng
- phiên hiện có đang bị cách ly hay không (main so với non-main)
- allow/deny công cụ trong môi trường cách ly hiệu dụng (và đến từ agent/global/default hay không)
- các cổng nâng quyền và đường dẫn khóa để sửa
Môi trường cách ly: nơi công cụ chạy
Cách ly được kiểm soát bởiagents.defaults.sandbox.mode:
"off": mọi thứ chạy trên máy chủ."non-main": chỉ các phiên non-main bị cách ly (điểm “bất ngờ” thường gặp với nhóm/kênh)."all": mọi thứ đều bị cách ly.
Bind mount (kiểm tra nhanh về bảo mật)
docker.bindsxuyên qua hệ thống tệp của môi trường cách ly: bất cứ thứ gì bạn mount đều hiển thị bên trong container với chế độ bạn đặt (:rohoặc:rw).- Mặc định là đọc-ghi nếu bạn bỏ qua chế độ; ưu tiên
:rocho mã nguồn/bí mật. scope: "shared"bỏ qua bind theo từng agent (chỉ áp dụng bind toàn cục).- OpenClaw xác thực nguồn bind hai lần: trước tiên trên đường dẫn nguồn đã chuẩn hóa, sau đó xác thực lại sau khi phân giải qua tổ tiên sâu nhất đang tồn tại. Việc thoát qua symlink ở thư mục cha không vượt qua được kiểm tra đường dẫn bị chặn hoặc gốc được phép.
- Các đường dẫn lá không tồn tại vẫn được kiểm tra an toàn. Nếu
/workspace/alias-out/new-filephân giải qua một thư mục cha là symlink tới đường dẫn bị chặn hoặc nằm ngoài các gốc được phép đã cấu hình, bind sẽ bị từ chối. - Bind
/var/run/docker.sockvề thực chất trao quyền điều khiển máy chủ cho môi trường cách ly; chỉ làm việc này khi có chủ ý. - Quyền truy cập workspace (
workspaceAccess: "ro"/"rw") độc lập với chế độ bind.
Chính sách công cụ: công cụ nào tồn tại/có thể được gọi
Có hai lớp quan trọng:- Hồ sơ công cụ:
tools.profilevàagents.list[].tools.profile(allowlist nền) - Hồ sơ công cụ của nhà cung cấp:
tools.byProvider[provider].profilevàagents.list[].tools.byProvider[provider].profile - Chính sách công cụ toàn cục/theo agent:
tools.allow/tools.denyvàagents.list[].tools.allow/agents.list[].tools.deny - Chính sách công cụ của nhà cung cấp:
tools.byProvider[provider].allow/denyvàagents.list[].tools.byProvider[provider].allow/deny - Chính sách công cụ trong môi trường cách ly (chỉ áp dụng khi bị cách ly):
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 công cụ là điểm chặn cứng:
/execkhông thể ghi đè một công cụexecđã bị từ chối. /execchỉ thay đổi mặc định phiên cho người 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ậnprovider(ví dụgoogle-antigravity) hoặcprovider/model(ví dụopenai/gpt-5.4).
Nhóm công cụ (viết tắt)
Chính sách công cụ (toàn cục, agent, môi trường cách ly) hỗ trợ các mụcgroup:* mở rộng thành nhiều công cụ:
group:runtime:exec,process,code_execution(bashđược chấp nhận làm bí danh choexec)group:fs:read,write,edit,apply_patchgroup: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:cron,gatewaygroup:messaging:messagegroup:nodes:nodesgroup:agents:agents_listgroup:media:image,image_generate,video_generate,ttsgroup:openclaw: tất cả công cụ tích hợp sẵn của OpenClaw (không bao gồm Plugin của nhà cung cấp)
Nâng quyền: “chạy trên máy chủ” chỉ dành cho exec
Nâng quyền không cấp thêm công cụ; nó chỉ ảnh hưởng đếnexec.
- Nếu bạn đang bị cách ly,
/elevated on(hoặcexecvớielevated: true) chạy bên ngoài môi trường cách ly (phê duyệt vẫn có thể được áp dụng). - Dùng
/elevated fullđể bỏ qua phê duyệt exec cho phiên. - Nếu bạn đã chạy trực tiếp, nâng quyền về thực chất không làm gì (vẫn bị chặn bởi cổng).
- Nâng quyền không theo phạm vi skill và không ghi đè allow/deny công cụ.
- Nâng quyền không cấp quyền ghi đè xuyên máy chủ tùy ý từ
host=auto; nó tuân theo các quy tắc đích exec thông thường và chỉ giữ nguyênnodekhi đích đã cấu hình/đích của phiên đã lànode. /exectách biệt với nâng quyền. Nó chỉ điều chỉnh mặc định exec theo từng phiên cho người gửi được ủy quyền.
- Bật tính năng:
tools.elevated.enabled(và tùy chọnagents.list[].tools.elevated.enabled) - Allowlist người gửi:
tools.elevated.allowFrom.<provider>(và tùy chọnagents.list[].tools.elevated.allowFrom.<provider>)
Các cách sửa lỗi “bị nhốt trong môi trường cách ly” thường gặp
”Tool X blocked by sandbox tool policy”
Khóa để sửa (chọn một):- Tắt môi trường cách ly:
agents.defaults.sandbox.mode=off(hoặc theo từng agentagents.list[].sandbox.mode=off) - Cho phép công cụ bên trong môi trường cách ly:
- xóa công cụ khỏi
tools.sandbox.tools.deny(hoặc theo từng agentagents.list[].tools.sandbox.tools.deny) - hoặc thêm công cụ vào
tools.sandbox.tools.allow(hoặc allow theo từng agent)
- xóa công cụ khỏi
“I thought this was main, why is it sandboxed?”
Trong chế độ"non-main", khóa nhóm/kênh không phải là main. Dùng khóa phiên main (được hiển thị bởi sandbox explain) hoặc chuyển chế độ sang "off".
Liên quan
- Cách ly bằng sandbox — tham chiếu đầy đủ về môi trường cách ly (chế độ, phạm vi, backend, image)
- Môi trường cách ly & công cụ đa agent — ghi đè và thứ tự ưu tiên theo từng agent
- Chế độ nâng quyền