Sandbox
Sandbox so với chính sách công cụ so với chế độ nâng quyền
Chế độ nâng quyền
Ví dụ cấu hình
Ví dụ 1: Agent cá nhân + agent gia đình bị hạn chế
Ví dụ 1: Agent cá nhân + agent gia đình bị hạn chế
- 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ùngreadvà gửi tin nhắn trong cuộc trò chuyện hiện tại.
Ví dụ 2: Agent công việc dùng sandbox chung
Ví dụ 2: Agent công việc dùng sandbox chung
Ví dụ 2b: Hồ sơ lập trình toàn cục + agent chỉ nhắn tin
Ví dụ 2b: Hồ sơ lập trình toàn cục + agent chỉ nhắn tin
- Các agent mặc định nhận công cụ lập trình.
- Agent
supportchỉ có thể nhắn tin (+ công cụ Slack).
Ví dụ 3: Chế độ sandbox khác nhau cho từng agent
Ví dụ 3: Chế độ sandbox khác nhau cho từng agent
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:Hồ sơ công cụ
tools.profile hoặc agents.list[].tools.profile.Hồ sơ công cụ của nhà cung cấp
tools.byProvider[provider].profile hoặc agents.list[].tools.byProvider[provider].profile.Chính sách công cụ toàn cục
tools.allow / tools.deny.Chính sách công cụ của nhà cung cấp
tools.byProvider[provider].allow/deny.Chính sách công cụ riêng cho agent
agents.list[].tools.allow/deny.Chính sách nhà cung cấp của agent
agents.list[].tools.byProvider[provider].allow/deny.Chính sách công cụ sandbox
tools.sandbox.tools hoặc agents.list[].tools.sandbox.tools.Chính sách công cụ của agent phụ
tools.subagents.tools, nếu áp dụng.Quy tắc ưu tiên
Quy tắc ưu tiên
- 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.toolscho agent đó. - Nếu đặt
agents.list[].tools.profile, giá trị này sẽ ghi đètools.profilecho agent đó. - Khóa công cụ của nhà cung cấp chấp nhận cả
provider(ví dụ:google-antigravity) hoặcprovider/model(ví dụ:openai/gpt-5.4).
Hành vi khi danh sách cho phép trống
Hành vi khi danh sách cho phép trống
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.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
- Trước đây (một agent)
- Sau khi chuyển đổi (đa agent)
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ụ
- Agent chỉ đọc
- Thực thi shell khi các công cụ hệ thống tệp bị vô hiệu hóa
- Chỉ giao tiếp
Lỗi thường gặp: “non-main”
Kiểm thử
Sau khi cấu hình sandbox và công cụ cho nhiều agent:Kiểm tra việc phân giải agent
Xác minh các container sandbox
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.
Theo dõi nhật ký
Khắc phục sự cố
Agent không chạy trong sandbox dù đã đặt `mode: 'all'`
Agent không chạy trong sandbox dù đã đặt `mode: 'all'`
- Kiểm tra xem có
agents.defaults.sandbox.modetoà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".
Các công cụ vẫn khả dụng dù có trong danh sách từ chối
Các công cụ vẫn khả dụng dù có trong danh sách từ chối
- Kiểm tra toàn bộ thứ tự lọc: hồ sơ → hồ sơ nhà cung cấp → chính sách toàn cục → chính sách nhà cung cấp → chính sách tác tử → chính sách nhà cung cấp của tác tử → sandbox → tác tử con.
- Mỗi cấp chỉ có thể hạn chế thêm, không thể cấp lại quyền.
- Xem Sandbox so với chính sách công cụ và chế độ đặc quyền để gỡ lỗi từng bước.
Vùng chứa không được cô lập theo từng tác tử
Vùng chứa không được cô lập theo từng tác tử
scopemặ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ặcscope: "shared"để dùng lại một vùng chứa cho nhiều tác tử.
Liên quan
- Chế độ đặc quyền
- Định tuyến đa tác tử
- Cấu hình sandbox
- Sandbox so với chính sách công cụ và chế độ đặc quyền — gỡ lỗi “tại sao thao tác này bị chặn?”
- Cơ chế sandbox — tài liệu tham khảo đầy đủ về sandbox (chế độ, phạm vi, phần phụ trợ, ảnh)
- Quản lý phiên