Chuyển đến nội dung chính
OpenClaw có thể chạy việc thực thi công cụ bên trong một backend sandbox để giảm phạm vi ảnh hưởng. Tính năng sandbox mặc định bị tắt và được điều khiển bởi agents.defaults.sandbox (toàn cục) hoặc agents.list[].sandbox (theo từng agent). Tiến trình Gateway luôn duy trì trên máy chủ; chỉ việc thực thi công cụ được chuyển vào sandbox khi tính năng này được bật.
Đây không phải là một ranh giới bảo mật hoàn hảo, nhưng nó hạn chế đáng kể quyền truy cập vào hệ thống tệp và tiến trình khi mô hình thực hiện hành động thiếu sáng suốt.

Những gì được chạy trong sandbox

  • Thực thi công cụ: exec, read, write, edit, apply_patch, process, v.v.
  • Trình duyệt sandbox tùy chọn (agents.defaults.sandbox.browser).
Không được chạy trong sandbox:
  • Bản thân tiến trình Gateway.
  • Mọi công cụ được cho phép rõ ràng chạy bên ngoài sandbox thông qua tools.elevated. Thực thi nâng cao bỏ qua sandbox và chạy trên đường dẫn thoát đã cấu hình (mặc định là gateway, hoặc node khi đích thực thi là node). Nếu sandbox bị tắt, tools.elevated không thay đổi gì vì việc thực thi đã chạy trên máy chủ. Xem Chế độ nâng cao.

Chế độ, phạm vi và backend

Ba thiết lập độc lập điều khiển hành vi của sandbox: Chế độ kiểm soát thời điểm áp dụng sandbox:
  • off: không sử dụng sandbox.
  • non-main: chạy mọi phiên trong sandbox, ngoại trừ phiên chính của agent. Khóa phiên chính luôn là agent:<agentId>:main (hoặc global khi session.scope"global"); không thể cấu hình khóa này. Các phiên nhóm/kênh sử dụng khóa riêng nên luôn được xem là phiên không chính và được chạy trong sandbox.
  • all: mọi phiên đều chạy trong sandbox.
Phạm vi kiểm soát số lượng container/môi trường được tạo:
  • agent: một container cho mỗi agent.
  • session: một container cho mỗi phiên.
  • shared: một container dùng chung cho tất cả các phiên chạy trong sandbox (các giá trị ghi đè theo từng agent docker/ssh/browser bị bỏ qua trong phạm vi này).
Backend kiểm soát runtime nào thực thi các công cụ trong sandbox. Cấu hình dành riêng cho SSH nằm trong agents.defaults.sandbox.ssh; cấu hình dành riêng cho OpenShell nằm trong plugins.entries.openshell.config.

Backend Docker

Docker là backend mặc định sau khi sandbox được bật. Nó chạy các công cụ và trình duyệt sandbox cục bộ thông qua socket của daemon Docker (/var/run/docker.sock); khả năng cách ly đến từ các namespace của Docker. Giá trị mặc định: network: "none" (không có lưu lượng ra ngoài), readOnlyRoot: true, capDrop: ["ALL"], image openclaw-sandbox:bookworm-slim. Để cho phép truy cập GPU của máy chủ, hãy đặt agents.defaults.sandbox.docker.gpus (hoặc giá trị ghi đè theo từng agent) thành một giá trị như "all" hoặc "device=GPU-uuid". Giá trị này được truyền vào cờ --gpus của Docker và yêu cầu một runtime máy chủ tương thích, chẳng hạn như NVIDIA Container Toolkit.
Các hạn chế của Docker-out-of-Docker (DooD)Nếu bạn triển khai chính OpenClaw Gateway dưới dạng container Docker, nó sẽ điều phối các container sandbox ngang hàng bằng socket Docker của máy chủ (DooD). Điều này tạo ra một hạn chế về ánh xạ đường dẫn:
  • Cấu hình yêu cầu đường dẫn máy chủ: openclaw.json workspace phải chứa đường dẫn tuyệt đối của máy chủ (ví dụ: /home/user/.openclaw/workspaces), không phải đường dẫn bên trong container Gateway. Daemon Docker đánh giá đường dẫn tương đối theo namespace của hệ điều hành máy chủ, không phải namespace riêng của Gateway.
  • Yêu cầu ánh xạ volume tương ứng: Tiến trình Gateway cũng ghi các tệp heartbeat và bridge vào đường dẫn workspace đó. Cung cấp cho container Gateway một ánh xạ volume giống hệt (-v /home/user/.openclaw:/home/user/.openclaw) để cùng một đường dẫn máy chủ cũng được phân giải chính xác từ bên trong container Gateway. Ánh xạ không khớp sẽ xuất hiện dưới dạng EACCES khi Gateway cố ghi heartbeat.
  • Chế độ mã Codex: khi một sandbox OpenClaw đang hoạt động, OpenClaw sẽ vô hiệu hóa Chế độ mã gốc của app-server Codex, các máy chủ MCP của người dùng và việc thực thi plugin được ứng dụng hỗ trợ cho lượt đó (chúng chạy từ tiến trình app-server trên máy chủ Gateway, không phải backend sandbox OpenClaw), trừ khi chính sách công cụ sandbox cung cấp các công cụ cần thiết và bạn chọn sử dụng đường dẫn exec-server sandbox thử nghiệm. Khi đó, quyền truy cập shell được định tuyến qua các công cụ do sandbox OpenClaw hỗ trợ, chẳng hạn như sandbox_execsandbox_process. Không gắn socket Docker của máy chủ vào các container sandbox của agent hoặc các sandbox Codex tùy chỉnh. Xem Bộ khung Codex để biết hành vi đầy đủ.
Trên các máy chủ Ubuntu/AppArmor đã bật chế độ sandbox Docker, việc thực thi shell workspace-write của app-server Codex cần các namespace người dùng không đặc quyền bên trong container sandbox và có thể thất bại trước khi shell khởi động nếu người dùng dịch vụ không thể tạo chúng. Khi lưu lượng ra của sandbox Docker bị vô hiệu hóa (network: "none", mặc định), việc này cũng cần một namespace mạng không đặc quyền. Các triệu chứng thường gặp: bwrap: setting up uid map: Permission deniedbwrap: loopback: Failed RTM_NEWADDR: Operation not permitted. Chạy openclaw doctor; nếu lệnh báo lỗi thăm dò namespace bwrap của Codex, nên dùng một hồ sơ AppArmor cấp các namespace cần thiết cho tiến trình dịch vụ OpenClaw. kernel.apparmor_restrict_unprivileged_userns=0 là phương án dự phòng áp dụng cho toàn máy chủ nhưng có đánh đổi về bảo mật; chỉ sử dụng khi tư thế bảo mật của máy chủ đó chấp nhận được.

Trình duyệt sandbox

  • Trình duyệt sandbox tự động khởi động (đảm bảo có thể kết nối CDP) khi công cụ trình duyệt cần đến. Cấu hình qua agents.defaults.sandbox.browser.autoStart (mặc định true) và autoStartTimeoutMs (mặc định 12 giây).
  • Các container trình duyệt sandbox sử dụng một mạng Docker chuyên dụng (openclaw-sandbox-browser) thay vì mạng bridge toàn cục. Cấu hình bằng agents.defaults.sandbox.browser.network.
  • agents.defaults.sandbox.browser.cdpSourceRange giới hạn lưu lượng CDP đi vào ở biên container bằng danh sách CIDR cho phép (ví dụ: 172.21.0.1/32).
  • Quyền truy cập quan sát noVNC mặc định được bảo vệ bằng mật khẩu; OpenClaw tạo một URL token ngắn hạn để phục vụ trang khởi tạo cục bộ và mở noVNC với mật khẩu trong fragment của URL (không nằm trong chuỗi truy vấn hoặc nhật ký header).
  • agents.defaults.sandbox.browser.allowHostControl (mặc định false) cho phép các phiên trong sandbox nhắm rõ ràng đến trình duyệt của máy chủ.
  • Các danh sách cho phép tùy chọn kiểm soát target: "custom": allowedControlUrls, allowedControlHosts, allowedControlPorts.

Backend SSH

Sử dụng backend: "ssh" để chạy exec, các công cụ tệp và thao tác đọc nội dung đa phương tiện trong sandbox trên một máy bất kỳ có thể truy cập qua SSH.
Giá trị mặc định: command: "ssh", workspaceRoot: "/tmp/openclaw-sandboxes", strictHostKeyChecking: true, updateHostKeys: true.
  • Vòng đời: OpenClaw tạo một thư mục gốc từ xa theo từng phạm vi bên dưới sandbox.ssh.workspaceRoot. Trong lần sử dụng đầu tiên sau khi tạo hoặc tạo lại, nó khởi tạo không gian làm việc từ xa đó từ không gian làm việc cục bộ một lần. Sau đó, exec, read, write, edit, apply_patch, thao tác đọc nội dung đa phương tiện của prompt và việc đưa nội dung đa phương tiện đến vào vùng tạm sẽ chạy trực tiếp trên không gian làm việc từ xa qua SSH. OpenClaw không tự động đồng bộ các thay đổi từ xa trở lại không gian làm việc cục bộ.
  • Dữ liệu xác thực: identityFile/certificateFile/knownHostsFile tham chiếu đến các tệp cục bộ hiện có. identityData/certificateData/knownHostsData chấp nhận chuỗi nội tuyến hoặc SecretRefs, được phân giải thông qua ảnh chụp runtime bí mật thông thường, ghi vào các tệp tạm với chế độ 0600 và xóa khi phiên SSH kết thúc. Nếu cả biến thể *File*Data được đặt cho cùng một mục, *Data sẽ được ưu tiên trong phiên đó.
  • Hệ quả của việc lấy máy chủ từ xa làm chuẩn: không gian làm việc SSH từ xa trở thành trạng thái sandbox thực tế sau lần khởi tạo ban đầu. Các chỉnh sửa cục bộ trên máy chủ được thực hiện bên ngoài OpenClaw sau bước khởi tạo sẽ không hiển thị từ xa cho đến khi bạn tạo lại sandbox. openclaw sandbox recreate xóa thư mục gốc từ xa theo từng phạm vi và khởi tạo lại từ cục bộ trong lần sử dụng tiếp theo. Backend này không hỗ trợ sandbox trình duyệt và các thiết lập sandbox.docker.* không áp dụng cho nó.

Backend OpenShell

Sử dụng backend: "openshell" để chạy các công cụ trong sandbox ở môi trường từ xa do OpenShell quản lý. OpenShell tái sử dụng cùng cơ chế truyền tải SSH và cầu nối hệ thống tệp từ xa như backend SSH thông thường, đồng thời bổ sung vòng đời OpenShell (sandbox create/get/delete/ssh-config) cùng chế độ đồng bộ không gian làm việc mirror tùy chọn.
mode: "mirror" (mặc định) giữ không gian làm việc cục bộ làm nguồn chuẩn: OpenClaw đồng bộ dữ liệu cục bộ vào sandbox trước exec và đồng bộ trở lại sau đó. mode: "remote" khởi tạo không gian làm việc từ xa một lần từ dữ liệu cục bộ, sau đó chạy exec/read/write/edit/apply_patch trực tiếp trên không gian làm việc từ xa mà không đồng bộ trở lại; các chỉnh sửa cục bộ sau khi khởi tạo sẽ không hiển thị cho đến khi bạn openclaw sandbox recreate. Trong scope: "agent" hoặc scope: "shared", không gian làm việc từ xa đó được dùng chung trong cùng phạm vi. Các hạn chế hiện tại: trình duyệt sandbox chưa được hỗ trợ và sandbox.docker.binds không áp dụng cho backend này. openclaw sandbox list/recreate/prune đều xử lý runtime OpenShell giống như runtime Docker; logic dọn dẹp nhận biết backend. Để xem đầy đủ các điều kiện tiên quyết, tham chiếu cấu hình, so sánh chế độ không gian làm việc và chi tiết vòng đời, hãy xem OpenShell.

Quyền truy cập không gian làm việc

agents.defaults.sandbox.workspaceAccess kiểm soát những gì sandbox có thể thấy: Với backend OpenShell, chế độ mirror vẫn sử dụng không gian làm việc cục bộ làm nguồn chuẩn giữa các lượt thực thi, chế độ remote sử dụng không gian làm việc OpenShell từ xa làm nguồn chuẩn sau lần khởi tạo ban đầu, còn workspaceAccess: "ro"/"none" vẫn hạn chế hành vi ghi theo cùng cách. Nội dung đa phương tiện gửi đến được sao chép vào không gian làm việc sandbox đang hoạt động (media/inbound/*).
Skills: công cụ read lấy gốc tại sandbox. Với workspaceAccess: "none", OpenClaw phản chiếu các skill đủ điều kiện vào không gian làm việc sandbox (.../skills) để có thể đọc chúng. Với "rw", có thể đọc các skill của không gian làm việc từ /workspace/skills, còn các skill được quản lý, đi kèm hoặc thuộc plugin đủ điều kiện được hiện thực hóa trong đường dẫn chỉ đọc được tạo /workspace/.openclaw/sandbox-skills/skills.

Nhiều thư mục cho một agent

Sử dụng bind mount Docker khi một agent trong sandbox cần nhiều hơn không gian làm việc chính. Mỗi mục ánh xạ một thư mục máy chủ tới một đường dẫn container với chế độ truy cập rõ ràng:
  • ro đặt thư mục được gắn thành chỉ đọc bên trong sandbox.
  • rw cho phép các công cụ và tiến trình trong sandbox thay đổi thư mục máy chủ.
  • Đường dẫn container là đường dẫn mà agent sử dụng. Các đường dẫn máy chủ không tự động được hiển thị.
Ví dụ này cấp cho agent research một không gian làm việc chính có thể ghi, tài liệu tham khảo chỉ đọc tại /reference và một thư mục đầu ra có thể ghi riêng tại /drafts:
workspaceAccess và các chế độ bind độc lập với nhau: Việc thay đổi workspaceAccess không thay đổi một bind bổ sung từ ro thành rw, hoặc ngược lại. Các docker.binds toàn cục và theo từng agent được hợp nhất. Giữ scope: "agent" hoặc "session" cho các bind theo từng agent; scope: "shared" bỏ qua mọi thiết lập ghi đè Docker theo từng agent và chỉ sử dụng các bind toàn cục. Bind mount là ranh giới nhiều thư mục được hỗ trợ vì Docker xây dựng khung nhìn hệ thống tệp của container bằng khả năng cô lập mount, và chế độ ro/rw áp dụng cho mọi tiến trình trong sandbox. Ranh giới đó bao phủ exec, các công cụ hệ thống tệp, tiến trình con và thư viện mà không cần sao chép các bước kiểm tra ủy quyền đường dẫn trên từng đường dẫn mã OpenClaw. Danh sách cho phép đường dẫn phía máy chủ không thể cung cấp cùng một ranh giới đầy đủ khi một shell hoặc phần phụ thuộc được cho phép có thể truy cập trực tiếp vào tệp. Tùy chọn chủ động dangerouslyAllowExternalBindSources chỉ cho phép các nguồn nằm ngoài các gốc không gian làm việc. Tùy chọn này không vô hiệu hóa các bước kiểm tra của OpenClaw đối với hệ thống bị chặn, thông tin xác thực, socket Docker, thư mục cha là liên kết tượng trưng hoặc đích dành riêng. Ưu tiên thư mục nhỏ nhất, sử dụng ro trừ khi bắt buộc phải ghi và tạo lại sandbox sau khi thay đổi các mount:

Hành vi bind khác

agents.defaults.sandbox.docker.binds cấu hình các mount toàn cục. Định dạng là cùng dạng host:container:mode (ví dụ: "/home/user/source:/source:rw"). agents.defaults.sandbox.browser.binds chỉ gắn các thư mục máy chủ bổ sung vào container trình duyệt sandbox. Khi được đặt (bao gồm []), tùy chọn này thay thế docker.binds cho container trình duyệt; khi bị bỏ qua, container trình duyệt quay về sử dụng docker.binds.
Bảo mật bind
  • Bind bỏ qua hệ thống tệp sandbox: chúng hiển thị các đường dẫn máy chủ với bất kỳ chế độ nào bạn đặt (:ro hoặc :rw).
  • Theo mặc định, OpenClaw chặn các nguồn bind nguy hiểm: đường dẫn hệ thống (/etc, /proc, /sys, /dev, /root, /boot), thư mục socket Docker (/run, /var/run và các biến thể docker.sock của chúng) và các gốc thông tin xác thực phổ biến trong thư mục chính (~/.aws, ~/.cargo, ~/.config, ~/.docker, ~/.gnupg, ~/.netrc, ~/.npm, ~/.ssh).
  • Quá trình xác thực chuẩn hóa đường dẫn nguồn, sau đó phân giải lại thông qua tổ tiên sâu nhất hiện có trước khi kiểm tra lại các đường dẫn bị chặn và các gốc được phép; vì vậy, các trường hợp thoát qua thư mục cha là liên kết tượng trưng sẽ bị từ chối theo hướng an toàn ngay cả khi nút lá cuối cùng chưa tồn tại (ví dụ: /workspace/run-link/new-file vẫn được phân giải thành /var/run/... nếu run-link trỏ đến đó).
  • Các đích bind che khuất những điểm gắn container dành riêng (/workspace, /agent) cũng bị chặn theo mặc định; ghi đè bằng agents.defaults.sandbox.docker.dangerouslyAllowReservedContainerTargets: true.
  • Các nguồn bind nằm ngoài những gốc trong danh sách cho phép của không gian làm việc/không gian làm việc agent bị chặn theo mặc định; ghi đè bằng agents.defaults.sandbox.docker.dangerouslyAllowExternalBindSources: true. Các gốc được phép được chuẩn hóa theo cùng cách, vì vậy một đường dẫn chỉ có vẻ nằm trong danh sách cho phép trước khi phân giải liên kết tượng trưng vẫn bị từ chối vì nằm ngoài các gốc được phép.
  • Các mount nhạy cảm (bí mật, khóa SSH, thông tin xác thực dịch vụ) nên là :ro trừ khi thực sự bắt buộc.
  • Kết hợp với workspaceAccess: "ro" nếu bạn chỉ cần quyền đọc không gian làm việc; các chế độ bind vẫn độc lập.
  • Xem Sandbox so với chính sách công cụ so với quyền nâng cao để biết cách bind tương tác với chính sách công cụ và thao tác thực thi nâng cao.

Image và thiết lập

Image Docker mặc định: openclaw-sandbox:bookworm-slim
Checkout mã nguồn so với cài đặt npmCác script trợ giúp scripts/sandbox-setup.sh, scripts/sandbox-common-setup.shscripts/sandbox-browser-setup.sh chỉ khả dụng khi chạy từ một checkout mã nguồn. Chúng không có trong gói npm.Nếu bạn đã cài đặt OpenClaw qua npm install -g openclaw, hãy sử dụng các lệnh docker build nội tuyến được hiển thị bên dưới.
1

Xây dựng image mặc định

Từ một checkout mã nguồn:
Từ bản cài đặt npm (không cần checkout mã nguồn):
Image mặc định không bao gồm Node. Nếu một skill cần Node (hoặc các runtime khác), hãy tích hợp sẵn vào một image tùy chỉnh hoặc cài đặt qua sandbox.docker.setupCommand (yêu cầu truy cập mạng ra ngoài + thư mục gốc có thể ghi + người dùng root).OpenClaw không âm thầm thay thế bằng debian:bookworm-slim thuần túy khi thiếu openclaw-sandbox:bookworm-slim. Các lượt chạy sandbox nhắm đến image mặc định sẽ dừng ngay với hướng dẫn xây dựng cho đến khi bạn xây dựng image đó, vì image đi kèm chứa python3 dành cho các trình trợ giúp ghi/chỉnh sửa sandbox.
2

Tùy chọn: xây dựng image thông dụng

Để có một image sandbox nhiều chức năng hơn với các công cụ thông dụng (ví dụ: curl, jq, Node 24, pnpm, python3git):Từ một checkout mã nguồn:
Từ bản cài đặt npm, trước tiên hãy xây dựng image mặc định (xem phía trên), sau đó xây dựng image thông dụng dựa trên image đó bằng scripts/docker/sandbox/Dockerfile.common từ kho lưu trữ.Sau đó đặt agents.defaults.sandbox.docker.image thành openclaw-sandbox-common:bookworm-slim.
3

Tùy chọn: xây dựng image trình duyệt sandbox

Từ một checkout mã nguồn:
Từ bản cài đặt npm, hãy xây dựng bằng scripts/docker/sandbox/Dockerfile.browser từ kho lưu trữ.
Theo mặc định, các container sandbox Docker chạy không có mạng. Ghi đè bằng agents.defaults.sandbox.docker.network.
Image trình duyệt sandbox đi kèm áp dụng các cờ khởi động Chromium thận trọng cho khối lượng công việc chạy trong container:
  • --remote-debugging-address=127.0.0.1
  • --remote-debugging-port=<derived from OPENCLAW_BROWSER_CDP_PORT>
  • --user-data-dir=${HOME}/.chrome
  • --no-first-run
  • --no-default-browser-check
  • --disable-dev-shm-usage
  • --disable-background-networking
  • --disable-breakpad
  • --disable-crash-reporter
  • --no-zygote
  • --metrics-recording-only
  • --password-store=basic
  • --use-mock-keychain
  • --headless=new khi browser.headless được bật.
  • --no-sandbox --disable-setuid-sandbox khi browser.noSandbox được bật.
  • --disable-3d-apis, --disable-gpu, --disable-software-rasterizer theo mặc định; các cờ tăng cường bảo mật đồ họa này hỗ trợ những container không có khả năng hỗ trợ GPU. Đặt OPENCLAW_BROWSER_DISABLE_GRAPHICS_FLAGS=0 nếu khối lượng công việc cần WebGL hoặc các tính năng 3D khác.
  • --disable-extensions theo mặc định; đặt OPENCLAW_BROWSER_DISABLE_EXTENSIONS=0 cho các luồng phụ thuộc vào tiện ích mở rộng.
  • --renderer-process-limit=2 theo mặc định; được kiểm soát bởi OPENCLAW_BROWSER_RENDERER_PROCESS_LIMIT=<N>, trong đó 0 giữ nguyên giá trị mặc định của Chromium.
Nếu cần một hồ sơ runtime khác, hãy dùng image trình duyệt tùy chỉnh và cung cấp entrypoint riêng. Đối với các hồ sơ Chromium cục bộ (không phải container), hãy dùng browser.extraArgs để nối thêm các cờ khởi động.
  • network: "host" bị chặn.
  • network: "container:<id>" bị chặn theo mặc định (nguy cơ vượt qua bằng cách tham gia namespace).
  • Ghi đè khẩn cấp: agents.defaults.sandbox.docker.dangerouslyAllowContainerNamespaceJoin: true.
Các bản cài đặt Docker và gateway được container hóa nằm tại đây: Docker Đối với các triển khai gateway Docker, scripts/docker/setup.sh có thể khởi tạo cấu hình sandbox. Đặt OPENCLAW_SANDBOX=1 (hoặc true/yes/on) để bật đường dẫn đó. Ghi đè vị trí socket bằng OPENCLAW_DOCKER_SOCKET. Tài liệu thiết lập đầy đủ và tham chiếu biến môi trường: Docker.

setupCommand (thiết lập container một lần)

setupCommand chạy một lần sau khi container sandbox được tạo (không chạy trong mỗi lượt). Lệnh này thực thi bên trong container thông qua sh -lc. Đường dẫn:
  • Toàn cục: agents.defaults.sandbox.docker.setupCommand
  • Theo agent: agents.list[].sandbox.docker.setupCommand
  • docker.network mặc định là "none" (không có lưu lượng ra ngoài), vì vậy việc cài đặt gói sẽ thất bại.
  • docker.network: "container:<id>" yêu cầu dangerouslyAllowContainerNamespaceJoin: true và chỉ dành cho trường hợp khẩn cấp.
  • readOnlyRoot: true ngăn thao tác ghi; hãy đặt readOnlyRoot: false hoặc tạo sẵn một image tùy chỉnh.
  • user phải là root để cài đặt gói (bỏ user hoặc đặt user: "0:0").
  • Thao tác thực thi trong sandbox không kế thừa process.env của máy chủ. Hãy dùng agents.defaults.sandbox.docker.env (hoặc image tùy chỉnh) cho các khóa API của skill.
  • Các giá trị trong agents.defaults.sandbox.docker.env được truyền dưới dạng biến môi trường tường minh của container Docker. Bất kỳ ai có quyền truy cập daemon Docker đều có thể kiểm tra chúng bằng các lệnh siêu dữ liệu Docker như docker inspect. Hãy dùng image tùy chỉnh, tệp bí mật được gắn kết hoặc một phương thức phân phối bí mật khác nếu việc lộ siêu dữ liệu đó không thể chấp nhận được.

Chính sách công cụ và cơ chế thoát

Các chính sách cho phép/từ chối công cụ vẫn được áp dụng trước các quy tắc sandbox. Nếu một công cụ bị từ chối trên toàn cục hoặc theo agent, sandbox không thể khôi phục công cụ đó. tools.elevated là một cơ chế thoát tường minh, chạy exec bên ngoài sandbox (gateway theo mặc định, hoặc node khi đích thực thi là node). Các chỉ thị /exec chỉ áp dụng cho người gửi được ủy quyền và được duy trì theo từng phiên; để vô hiệu hóa hoàn toàn exec, hãy dùng chính sách công cụ để từ chối (xem Sandbox, chính sách công cụ và chế độ nâng quyền). Gỡ lỗi:
  • openclaw sandbox list hiển thị các container sandbox, trạng thái, mức độ khớp image, tuổi, thời gian nhàn rỗi và phiên/agent liên kết.
  • openclaw sandbox explain [--session <key>] [--agent <id>] kiểm tra chế độ sandbox có hiệu lực, workspace máy chủ, thư mục làm việc runtime, các điểm gắn kết Docker, chính sách công cụ và các khóa cấu hình cần sửa. Trường workspaceRoot vẫn là thư mục gốc sandbox đã cấu hình; effectiveHostWorkspaceRoot cho biết workspace đang hoạt động thực sự nằm ở đâu.
  • openclaw sandbox recreate [--all | --session <key> | --agent <id>] [--browser] [--force] xóa các container/môi trường để chúng được tạo lại với cấu hình hiện tại trong lần sử dụng tiếp theo.
  • Xem Sandbox, chính sách công cụ và chế độ nâng quyền để hiểu mô hình tư duy về câu hỏi “tại sao nội dung này bị chặn?”.

Ghi đè đa agent

Mỗi agent có thể ghi đè sandbox và công cụ: agents.list[].sandboxagents.list[].tools (cộng thêm agents.list[].tools.sandbox.tools cho chính sách công cụ sandbox). Xem Sandbox và công cụ đa agent để biết thứ tự ưu tiên.

Ví dụ bật tối thiểu

Liên quan