Chuyển đến nội dung chính
Mỗi agent trong cấu hình đa agent có thể ghi đè chính sách sandbox và công cụ toàn cục. Trang này trình bày cấu hình theo từng agent, quy tắc ưu tiên và các ví dụ.

Sandbox

Backend và chế độ — tài liệu tham khảo đầy đủ về sandbox.

Sandbox so với chính sách công cụ so với chế độ nâng quyền

Gỡ lỗi “tại sao thao tác này bị chặn?”

Chế độ nâng quyền

Thực thi nâng quyền cho người gửi đáng tin cậy.
Xác thực được giới hạn theo agent: mỗi agent có kho lưu trữ xác thực agentDir riêng tại ~/.openclaw/agents/<agentId>/agent/openclaw-agent.sqlite. Tuyệt đối không dùng lại agentDir cho nhiều agent. Agent có thể đọc các hồ sơ xác thực của agent mặc định/chính khi không có hồ sơ cục bộ, nhưng token làm mới OAuth không được sao chép vào kho lưu trữ của agent phụ. Nếu sao chép thông tin xác thực theo cách thủ công, chỉ sao chép các hồ sơ api_key hoặc token tĩnh có tính di động.

Ví dụ cấu hình

Kết quả:
  • Agent main: chạy trên máy chủ, có toàn quyền truy cập công cụ.
  • Agent family: chạy trong Docker (mỗi agent một container), chỉ có thể dùng read và gửi tin nhắn trong cuộc trò chuyện hiện tại.
Kết quả:
  • Các agent mặc định nhận công cụ lập trình.
  • Agent support chỉ có thể nhắn tin (+ công cụ Slack).

Thứ tự ưu tiên cấu hình

Khi đồng thời tồn tại cấu hình toàn cục (agents.defaults.*) và cấu hình riêng cho agent (agents.list[].*):

Cấu hình sandbox

Thiết lập riêng cho agent ghi đè thiết lập toàn cục:
agents.list[].sandbox.{docker,browser,prune}.* ghi đè agents.defaults.sandbox.{docker,browser,prune}.* cho agent đó (bị bỏ qua khi phạm vi sandbox được xác định là "shared").

Hạn chế công cụ

Thứ tự lọc như sau:
1

Hồ sơ công cụ

tools.profile hoặc agents.list[].tools.profile.
2

Hồ sơ công cụ của nhà cung cấp

tools.byProvider[provider].profile hoặc agents.list[].tools.byProvider[provider].profile.
3

Chính sách công cụ toàn cục

tools.allow / tools.deny.
4

Chính sách công cụ của nhà cung cấp

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

Chính sách công cụ riêng cho agent

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

Chính sách nhà cung cấp của agent

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

Chính sách công cụ sandbox

tools.sandbox.tools hoặc agents.list[].tools.sandbox.tools.
8

Chính sách công cụ của agent phụ

tools.subagents.tools, nếu áp dụng.
  • Mỗi cấp có thể hạn chế thêm các công cụ, nhưng không thể cấp lại những công cụ đã bị từ chối ở các cấp trước.
  • Nếu đặt agents.list[].tools.sandbox.tools, giá trị này sẽ thay thế tools.sandbox.tools cho agent đó.
  • Nếu đặt agents.list[].tools.profile, giá trị này sẽ ghi đè tools.profile cho agent đó.
  • Khóa công cụ của nhà cung cấp chấp nhận cả provider (ví dụ: google-antigravity) hoặc provider/model (ví dụ: openai/gpt-5.4).
Nếu bất kỳ danh sách cho phép tường minh nào trong chuỗi đó khiến lượt chạy không còn công cụ nào có thể gọi, OpenClaw sẽ dừng trước khi gửi lời nhắc đến mô hình. Đây là hành vi có chủ đích: một agent được cấu hình với công cụ không tồn tại, chẳng hạn agents.list[].tools.allow: ["query_db"], phải báo lỗi rõ ràng cho đến khi Plugin đăng ký query_db được bật, thay vì tiếp tục hoạt động như một agent chỉ xử lý văn bản.
Chính sách công cụ hỗ trợ các dạng viết tắt group:*, được mở rộng thành nhiều công cụ. Xem Nhóm công cụ để biết danh sách đầy đủ. Các ghi đè nâng quyền theo từng agent (agents.list[].tools.elevated) có thể hạn chế thêm quyền thực thi nâng quyền cho những agent cụ thể. Xem Chế độ nâng quyền để biết chi tiết.

Di chuyển từ một agent

Các khóa cấu hình agents.defaults.*/agents.list[].* cũ (chẳng hạn sandbox.perSession, agentRuntime, embeddedPi) được openclaw doctor di chuyển; từ nay nên ưu tiên dùng agents.defaults + agents.list.

Ví dụ hạn chế công cụ


Lỗi thường gặp: “non-main”

agents.defaults.sandbox.mode: "non-main" kiểm tra khóa phiên dựa trên khóa phiên chính (luôn là "main"; người dùng không thể cấu hình session.mainKey, đồng thời OpenClaw sẽ cảnh báo và bỏ qua mọi giá trị khác), chứ không phải mã định danh agent. Các phiên nhóm/kênh luôn có khóa riêng, vì vậy chúng được coi là không phải phiên chính và sẽ chạy trong sandbox. Nếu muốn một agent không bao giờ chạy trong sandbox, hãy đặt agents.list[].sandbox.mode: "off".

Kiểm thử

Sau khi cấu hình sandbox và công cụ cho nhiều agent:
1

Kiểm tra việc phân giải agent

2

Xác minh các container sandbox

3

Kiểm thử các hạn chế công cụ

  • Gửi một tin nhắn yêu cầu các công cụ bị hạn chế.
  • Xác minh rằng agent không thể sử dụng các công cụ bị từ chối.
4

Theo dõi nhật ký


Khắc phục sự cố

  • Kiểm tra xem có agents.defaults.sandbox.mode toàn cục ghi đè thiết lập này hay không.
  • Cấu hình riêng cho agent được ưu tiên, vì vậy hãy đặt agents.list[].sandbox.mode: "all".
  • scope mặc định là "agent" (mỗi mã định danh tác tử có một vùng chứa).
  • Đặt scope: "session" để mỗi phiên có một vùng chứa, hoặc scope: "shared" để dùng lại một vùng chứa cho nhiều tác tử.

Liên quan