Gateway
سندباکسسازی
OpenClaw میتواند ابزارها را داخل بکاندهای سندباکس اجرا کند تا دامنه اثرگذاری کاهش یابد. این کار اختیاری است و با پیکربندی (agents.defaults.sandbox یا agents.list[].sandbox) کنترل میشود. اگر سندباکس غیرفعال باشد، ابزارها روی میزبان اجرا میشوند. Gateway روی میزبان باقی میماند؛ اجرای ابزار، در صورت فعال بودن، در یک سندباکس ایزوله اجرا میشود.
چه چیزهایی سندباکس میشوند
- اجرای ابزار (
exec،read،write،edit،apply_patch،processو غیره). - مرورگر سندباکسشده اختیاری (
agents.defaults.sandbox.browser).
Sandboxed browser details
- بهطور پیشفرض، مرورگر سندباکس وقتی ابزار مرورگر به آن نیاز داشته باشد، خودکار شروع میشود (اطمینان میدهد CDP در دسترس است). از طریق
agents.defaults.sandbox.browser.autoStartوagents.defaults.sandbox.browser.autoStartTimeoutMsپیکربندی کنید. - بهطور پیشفرض، کانتینرهای مرورگر سندباکس بهجای شبکه سراسری
bridgeاز یک شبکه Docker اختصاصی (openclaw-sandbox-browser) استفاده میکنند. باagents.defaults.sandbox.browser.networkپیکربندی کنید. - گزینه اختیاری
agents.defaults.sandbox.browser.cdpSourceRangeورودی CDP در لبه کانتینر را با یک فهرست مجاز CIDR محدود میکند (برای مثال172.21.0.1/32). - دسترسی مشاهدهگر noVNC بهطور پیشفرض با گذرواژه محافظت میشود؛ OpenClaw یک URL توکن کوتاهعمر منتشر میکند که یک صفحه راهاندازی محلی ارائه میدهد و noVNC را با گذرواژه در قطعه URL باز میکند (نه در لاگهای query/header).
agents.defaults.sandbox.browser.allowHostControlبه نشستهای سندباکسشده اجازه میدهد مرورگر میزبان را بهصورت صریح هدف بگیرند.- فهرستهای مجاز اختیاری
target: "custom"را کنترل میکنند:allowedControlUrls،allowedControlHosts،allowedControlPorts.
سندباکس نمیشوند:
- خود فرایند Gateway.
- هر ابزاری که صراحتا اجازه داشته باشد خارج از سندباکس اجرا شود (مثلا
tools.elevated).- اجرای ارتقایافته سندباکس را دور میزند و از مسیر خروج پیکربندیشده استفاده میکند (
gatewayبهطور پیشفرض، یاnodeوقتی هدف exec برابرnodeباشد). - اگر سندباکس غیرفعال باشد،
tools.elevatedاجرا را تغییر نمیدهد (همین حالا هم روی میزبان است). حالت ارتقایافته را ببینید.
- اجرای ارتقایافته سندباکس را دور میزند و از مسیر خروج پیکربندیشده استفاده میکند (
حالتها
agents.defaults.sandbox.mode کنترل میکند سندباکس چه زمانی استفاده شود:
off
بدون سندباکس.
non-main
فقط نشستهای غیر اصلی را سندباکس میکند (گزینه پیشفرض اگر گفتوگوهای عادی را روی میزبان میخواهید).
"non-main" بر اساس session.mainKey (پیشفرض "main") است، نه شناسه عامل. نشستهای گروه/کانال کلیدهای خودشان را دارند، بنابراین غیر اصلی محسوب میشوند و سندباکس خواهند شد.
all
هر نشست در یک سندباکس اجرا میشود.
دامنه
agents.defaults.sandbox.scope کنترل میکند چند کانتینر ساخته شود:
"agent"(پیشفرض): یک کانتینر برای هر عامل."session": یک کانتینر برای هر نشست."shared": یک کانتینر مشترک برای همه نشستهای سندباکسشده.
بکاند
agents.defaults.sandbox.backend کنترل میکند کدام runtime سندباکس را فراهم کند:
"docker"(پیشفرض وقتی سندباکس فعال است): runtime سندباکس محلی مبتنی بر Docker."ssh": runtime سندباکس راهدور عمومی مبتنی بر SSH."openshell": runtime سندباکس مبتنی بر OpenShell.
پیکربندی ویژه SSH زیر agents.defaults.sandbox.ssh قرار دارد. پیکربندی ویژه OpenShell زیر plugins.entries.openshell.config قرار دارد.
انتخاب بکاند
| Docker | SSH | OpenShell | |
|---|---|---|---|
| کجا اجرا میشود | کانتینر محلی | هر میزبان قابل دسترسی با SSH | سندباکس مدیریتشده OpenShell |
| راهاندازی | scripts/sandbox-setup.sh |
کلید SSH + میزبان هدف | Plugin OpenShell فعال شده |
| مدل workspace | bind-mount یا کپی | راهدور-مرجع (یک بار seed) | mirror یا remote |
| کنترل شبکه | docker.network (پیشفرض: none) |
وابسته به میزبان راهدور | وابسته به OpenShell |
| سندباکس مرورگر | پشتیبانی میشود | پشتیبانی نمیشود | هنوز پشتیبانی نمیشود |
| Bind mountها | docker.binds |
N/A | N/A |
| بهترین کاربرد | توسعه محلی، ایزولهسازی کامل | واگذاری به یک ماشین راهدور | سندباکسهای راهدور مدیریتشده با همگامسازی دوطرفه اختیاری |
بکاند Docker
سندباکس بهطور پیشفرض غیرفعال است. اگر سندباکس را فعال کنید و بکاندی انتخاب نکنید، OpenClaw از بکاند Docker استفاده میکند. ابزارها و مرورگرهای سندباکس را بهصورت محلی از طریق سوکت daemon Docker (/var/run/docker.sock) اجرا میکند. ایزولهسازی کانتینر سندباکس توسط namespaceهای Docker تعیین میشود.
برای در معرض قرار دادن GPUهای میزبان برای سندباکسهای Docker، agents.defaults.sandbox.docker.gpus یا override ویژه هر عامل agents.list[].sandbox.docker.gpus را تنظیم کنید. مقدار بهعنوان یک آرگومان جداگانه به پرچم --gpus در Docker پاس داده میشود، برای مثال "all" یا "device=GPU-uuid"، و به runtime میزبان سازگار مثل NVIDIA Container Toolkit نیاز دارد.
بکاند SSH
وقتی میخواهید OpenClaw، exec، ابزارهای فایل، و خواندن رسانهها را روی یک ماشین دلخواه قابل دسترسی با SSH سندباکس کند، از backend: "ssh" استفاده کنید.
{ agents: { defaults: { sandbox: { mode: "all", backend: "ssh", scope: "session", workspaceAccess: "rw", ssh: { target: "user@gateway-host:22", workspaceRoot: "/tmp/openclaw-sandboxes", strictHostKeyChecking: true, updateHostKeys: true, identityFile: "~/.ssh/id_ed25519", certificateFile: "~/.ssh/id_ed25519-cert.pub", knownHostsFile: "~/.ssh/known_hosts", // Or use SecretRefs / inline contents instead of local files: // identityData: { source: "env", provider: "default", id: "SSH_IDENTITY" }, // certificateData: { source: "env", provider: "default", id: "SSH_CERTIFICATE" }, // knownHostsData: { source: "env", provider: "default", id: "SSH_KNOWN_HOSTS" }, }, }, }, },}How it works
- OpenClaw یک ریشه راهدور برای هر دامنه زیر
sandbox.ssh.workspaceRootمیسازد. - در اولین استفاده پس از ساخت یا بازسازی، OpenClaw آن workspace راهدور را یک بار از workspace محلی seed میکند.
- پس از آن،
exec،read،write،edit،apply_patch، خواندن رسانه prompt، و staging رسانه ورودی مستقیما از طریق SSH روی workspace راهدور اجرا میشوند. - OpenClaw تغییرات راهدور را بهصورت خودکار به workspace محلی همگام نمیکند.
Authentication material
identityFile،certificateFile،knownHostsFile: از فایلهای محلی موجود استفاده میکنند و آنها را از طریق پیکربندی OpenSSH عبور میدهند.identityData،certificateData،knownHostsData: از رشتههای inline یا SecretRefها استفاده میکنند. OpenClaw آنها را از طریق snapshot معمول runtime اسرار resolve میکند، در فایلهای موقت با0600مینویسد، و وقتی نشست SSH پایان یابد حذفشان میکند.- اگر هر دو
*Fileو*Dataبرای یک مورد تنظیم شده باشند،*Dataبرای آن نشست SSH اولویت دارد.
Remote-canonical consequences
این یک مدل راهدور-مرجع است. workspace راهدور SSH پس از seed اولیه به وضعیت واقعی سندباکس تبدیل میشود.
- ویرایشهای محلی میزبان که بیرون از OpenClaw پس از مرحله seed انجام شوند، تا زمانی که سندباکس را بازسازی نکنید در راهدور دیده نمیشوند.
openclaw sandbox recreateریشه راهدور ویژه دامنه را حذف میکند و در استفاده بعدی دوباره از محلی seed میکند.- سندباکس مرورگر در بکاند SSH پشتیبانی نمیشود.
- تنظیمات
sandbox.docker.*برای بکاند SSH اعمال نمیشوند.
بکاند OpenShell
وقتی میخواهید OpenClaw ابزارها را در یک محیط راهدور مدیریتشده توسط OpenShell سندباکس کند، از backend: "openshell" استفاده کنید. برای راهنمای کامل راهاندازی، مرجع پیکربندی، و مقایسه حالت workspace، صفحه اختصاصی OpenShell را ببینید.
OpenShell از همان انتقال SSH هسته و پل فایلسیستم راهدور مانند بکاند عمومی SSH استفاده میکند، و lifecycle ویژه OpenShell (sandbox create/get/delete، sandbox ssh-config) بههمراه حالت اختیاری workspace به نام mirror را اضافه میکند.
{ agents: { defaults: { sandbox: { mode: "all", backend: "openshell", scope: "session", workspaceAccess: "rw", }, }, }, plugins: { entries: { openshell: { enabled: true, config: { from: "openclaw", mode: "remote", // mirror | remote remoteWorkspaceDir: "/sandbox", remoteAgentWorkspaceDir: "/agent", }, }, }, },}حالتهای OpenShell:
mirror(پیشفرض): workspace محلی مرجع باقی میماند. OpenClaw فایلهای محلی را پیش از exec به OpenShell همگام میکند و workspace راهدور را پس از exec برمیگرداند و همگام میکند.remote: workspace در OpenShell پس از ایجاد سندباکس مرجع است. OpenClaw یک بار workspace راهدور را از workspace محلی seed میکند، سپس ابزارهای فایل و exec مستقیما روی سندباکس راهدور اجرا میشوند، بدون اینکه تغییرات برگردانده و همگام شوند.
Remote transport details
- OpenClaw از OpenShell پیکربندی SSH ویژه سندباکس را از طریق
openshell sandbox ssh-config <name>درخواست میکند. - Core آن پیکربندی SSH را در یک فایل موقت مینویسد، نشست SSH را باز میکند، و از همان پل فایلسیستم راهدور که
backend: "ssh"استفاده میکند دوباره استفاده میکند. - در حالت
mirrorفقط lifecycle متفاوت است: پیش از exec از محلی به راهدور همگام میکند، سپس پس از exec به عقب همگام میکند.
Current OpenShell limitations
- سندباکس مرورگر هنوز پشتیبانی نمیشود
sandbox.docker.bindsدر بکاند OpenShell پشتیبانی نمیشود- گزینههای runtime ویژه Docker زیر
sandbox.docker.*همچنان فقط برای بکاند Docker اعمال میشوند
حالتهای workspace
OpenShell دو مدل workspace دارد. این همان بخشی است که در عمل بیشترین اهمیت را دارد.
mirror (local canonical)
وقتی میخواهید workspace محلی مرجع باقی بماند، از plugins.entries.openshell.config.mode: "mirror" استفاده کنید.
رفتار:
- پیش از
exec، OpenClaw فضای کاری محلی را در sandbox مربوط به OpenShell همگامسازی میکند. - پس از
exec، OpenClaw فضای کاری remote را دوباره با فضای کاری محلی همگامسازی میکند. - ابزارهای فایل همچنان از طریق پل sandbox کار میکنند، اما فضای کاری محلی بین نوبتها منبع حقیقت باقی میماند.
از این حالت زمانی استفاده کنید که:
- فایلها را بهصورت محلی بیرون از OpenClaw ویرایش میکنید و میخواهید آن تغییرات بهطور خودکار در sandbox ظاهر شوند
- میخواهید sandbox مربوط به OpenShell تا حد ممکن شبیه backend مربوط به Docker رفتار کند
- میخواهید فضای کاری میزبان پس از هر نوبت exec نوشتنهای sandbox را منعکس کند
بدهبستان: هزینه همگامسازی اضافی پیش و پس از exec.
remote (OpenShell canonical)
زمانی از plugins.entries.openshell.config.mode: "remote" استفاده کنید که میخواهید فضای کاری OpenShell canonical شود.
رفتار:
- وقتی sandbox برای نخستین بار ساخته میشود، OpenClaw فضای کاری remote را یکبار از فضای کاری محلی مقداردهی اولیه میکند.
- پس از آن،
exec،read،write،edit، وapply_patchمستقیما روی فضای کاری remote مربوط به OpenShell عمل میکنند. - OpenClaw تغییرات remote را پس از exec دوباره با فضای کاری محلی همگامسازی نمیکند.
- خواندن رسانه در زمان prompt همچنان کار میکند، چون ابزارهای فایل و رسانه بهجای فرض کردن یک مسیر میزبان محلی، از طریق پل sandbox میخوانند.
- انتقال از طریق SSH به sandbox مربوط به OpenShell است که
openshell sandbox ssh-configبرمیگرداند.
پیامدهای مهم:
- اگر پس از مرحله مقداردهی اولیه، فایلها را روی میزبان بیرون از OpenClaw ویرایش کنید، sandbox مربوط به remote آن تغییرات را بهطور خودکار نخواهد دید.
- اگر sandbox دوباره ساخته شود، فضای کاری remote دوباره از فضای کاری محلی مقداردهی اولیه میشود.
- با
scope: "agent"یاscope: "shared"، آن فضای کاری remote در همان scope مشترک است.
از این حالت زمانی استفاده کنید که:
- sandbox باید عمدتا در سمت remote مربوط به OpenShell زندگی کند
- میخواهید سربار همگامسازی در هر نوبت کمتر باشد
- نمیخواهید ویرایشهای محلی میزبان بهصورت پنهانی وضعیت sandbox مربوط به remote را بازنویسی کنند
اگر sandbox را یک محیط اجرای موقت میدانید، mirror را انتخاب کنید. اگر sandbox را فضای کاری واقعی میدانید، remote را انتخاب کنید.
چرخه حیات OpenShell
sandboxهای OpenShell همچنان از طریق چرخه حیات عادی sandbox مدیریت میشوند:
openclaw sandbox listruntimeهای OpenShell و همچنین runtimeهای Docker را نشان میدهدopenclaw sandbox recreateruntime فعلی را حذف میکند و اجازه میدهد OpenClaw در استفاده بعدی آن را دوباره بسازد- منطق prune نیز از backend آگاه است
برای حالت remote، بازسازی بهویژه مهم است:
- بازسازی، فضای کاری remote و canonical را برای آن scope حذف میکند
- استفاده بعدی، یک فضای کاری remote تازه را از فضای کاری محلی مقداردهی اولیه میکند
برای حالت mirror، بازسازی عمدتا محیط اجرای remote را بازنشانی میکند، چون فضای کاری محلی در هر صورت canonical باقی میماند.
دسترسی به فضای کاری
agents.defaults.sandbox.workspaceAccess کنترل میکند sandbox چه چیزی را میتواند ببیند:
none (default)
ابزارها یک فضای کاری sandbox را زیر ~/.openclaw/sandboxes میبینند.
ro
فضای کاری agent را بهصورت فقطخواندنی در /agent mount میکند (write/edit/apply_patch را غیرفعال میکند).
rw
فضای کاری agent را بهصورت خواندن/نوشتن در /workspace mount میکند.
با backend مربوط به OpenShell:
- حالت
mirrorهمچنان از فضای کاری محلی بهعنوان منبع canonical بین نوبتهای exec استفاده میکند - حالت
remoteپس از مقداردهی اولیه، از فضای کاری remote مربوط به OpenShell بهعنوان منبع canonical استفاده میکند workspaceAccess: "ro"و"none"همچنان رفتار نوشتن را به همان شکل محدود میکنند
رسانه ورودی در فضای کاری sandbox فعال کپی میشود (media/inbound/*).
bind mountهای سفارشی
agents.defaults.sandbox.docker.binds دایرکتوریهای میزبان اضافی را در container mount میکند. قالب: host:container:mode (برای مثال، "/home/user/source:/source:rw").
bindهای global و هر-agent ادغام میشوند (جایگزین نمیشوند). زیر scope: "shared"، bindهای هر-agent نادیده گرفته میشوند.
agents.defaults.sandbox.browser.binds دایرکتوریهای میزبان اضافی را فقط در container مربوط به مرورگر sandbox mount میکند.
- وقتی تنظیم شود (شامل
[])، برای container مرورگر جایگزینagents.defaults.sandbox.docker.bindsمیشود. - وقتی حذف شود، container مرورگر به
agents.defaults.sandbox.docker.bindsfallback میکند (سازگار با گذشته).
نمونه (source فقطخواندنی + یک دایرکتوری داده اضافی):
{ agents: { defaults: { sandbox: { docker: { binds: ["/home/user/source:/source:ro", "/var/data/myapp:/data:ro"], }, }, }, list: [ { id: "build", sandbox: { docker: { binds: ["/mnt/cache:/cache:rw"], }, }, }, ], },}Imageها و setup
Image پیشفرض Docker: openclaw-sandbox:bookworm-slim
Build the default image
از یک source checkout:
scripts/sandbox-setup.shاز یک نصب npm (بدون نیاز به source checkout):
docker build -t openclaw-sandbox:bookworm-slim - <<'DOCKERFILE'FROM debian:bookworm-slimENV DEBIAN_FRONTEND=noninteractiveRUN apt-get update && apt-get install -y --no-install-recommends \ bash ca-certificates curl git jq python3 ripgrep \ && rm -rf /var/lib/apt/lists/*RUN useradd --create-home --shell /bin/bash sandboxUSER sandboxWORKDIR /home/sandboxCMD ["sleep", "infinity"]DOCKERFILEimage پیشفرض شامل Node نیست. اگر یک skill به Node (یا runtimeهای دیگر) نیاز دارد، یا یک image سفارشی bake کنید یا از طریق sandbox.docker.setupCommand نصب کنید (به خروجی شبکه + ریشه قابل نوشتن + کاربر root نیاز دارد).
وقتی openclaw-sandbox:bookworm-slim موجود نیست، OpenClaw بیصدا debian:bookworm-slim ساده را جایگزین نمیکند. اجرای sandbox که image پیشفرض را هدف میگیرد، با یک دستور ساخت سریع شکست میخورد تا زمانی که آن را بسازید، چون image همراه، python3 را برای helperهای نوشتن/ویرایش sandbox حمل میکند.
Optional: build the common image
برای یک image sandbox کاربردیتر با ابزارهای رایج (برای مثال curl، jq، nodejs، python3، git):
از یک source checkout:
scripts/sandbox-common-setup.shاز یک نصب npm، ابتدا image پیشفرض را بسازید (بالا را ببینید)، سپس image common را روی آن با استفاده از scripts/docker/sandbox/Dockerfile.common از repository بسازید.
سپس agents.defaults.sandbox.docker.image را روی openclaw-sandbox-common:bookworm-slim تنظیم کنید.
Optional: build the sandbox browser image
از یک source checkout:
scripts/sandbox-browser-setup.shاز یک نصب npm، با استفاده از scripts/docker/sandbox/Dockerfile.browser از repository بسازید.
بهصورت پیشفرض، containerهای sandbox مربوط به Docker با بدون شبکه اجرا میشوند. با agents.defaults.sandbox.docker.network بازنویسی کنید.
Sandbox browser Chromium defaults
image مرورگر sandbox همراه، پیشفرضهای شروع محافظهکارانه Chromium را نیز برای workloadهای containerized اعمال میکند. پیشفرضهای فعلی 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-3d-apis--disable-gpu--disable-dev-shm-usage--disable-background-networking--disable-extensions--disable-features=TranslateUI--disable-breakpad--disable-crash-reporter--disable-software-rasterizer--no-zygote--metrics-recording-only--renderer-process-limit=2- وقتی
noSandboxفعال باشد،--no-sandbox. - سه flag سختسازی گرافیکی (
--disable-3d-apis،--disable-software-rasterizer،--disable-gpu) اختیاری هستند و وقتی containerها پشتیبانی GPU ندارند مفیدند. اگر workload شما به WebGL یا ویژگیهای دیگر 3D/مرورگر نیاز دارد،OPENCLAW_BROWSER_DISABLE_GRAPHICS_FLAGS=0را تنظیم کنید. --disable-extensionsبهصورت پیشفرض فعال است و برای flowهای وابسته به extension میتواند باOPENCLAW_BROWSER_DISABLE_EXTENSIONS=0غیرفعال شود.--renderer-process-limit=2توسطOPENCLAW_BROWSER_RENDERER_PROCESS_LIMIT=<N>کنترل میشود، که در آن0پیشفرض Chromium را نگه میدارد.
اگر به پروفایل runtime متفاوتی نیاز دارید، از یک image مرورگر سفارشی استفاده کنید و entrypoint خودتان را ارائه دهید. برای پروفایلهای Chromium محلی (غیر-container)، از browser.extraArgs برای افزودن flagهای شروع اضافی استفاده کنید.
Network security defaults
network: "host"مسدود است.network: "container:<id>"بهصورت پیشفرض مسدود است (خطر دور زدن namespace join).- بازنویسی اضطراری:
agents.defaults.sandbox.docker.dangerouslyAllowContainerNamespaceJoin: true.
نصبهای Docker و Gateway containerized اینجا قرار دارند: Docker
برای استقرارهای Gateway مربوط به Docker، scripts/docker/setup.sh میتواند پیکربندی sandbox را bootstrap کند. برای فعال کردن آن مسیر، OPENCLAW_SANDBOX=1 (یا true/yes/on) را تنظیم کنید. میتوانید مکان socket را با OPENCLAW_DOCKER_SOCKET بازنویسی کنید. راهاندازی کامل و مرجع env: Docker.
setupCommand (راهاندازی یکباره container)
setupCommand پس از ساخته شدن container مربوط به sandbox یکبار اجرا میشود (نه در هر اجرا). این دستور داخل container از طریق sh -lc اجرا میشود.
مسیرها:
- Global:
agents.defaults.sandbox.docker.setupCommand - هر-agent:
agents.list[].sandbox.docker.setupCommand
دامهای رایج
- مقدار پیشفرض
docker.networkبرابر"none"است (بدون خروجی شبکه)، بنابراین نصب بستهها شکست میخورد. docker.network: "container:<id>"بهdangerouslyAllowContainerNamespaceJoin: trueنیاز دارد و فقط برای شرایط اضطراری است.readOnlyRoot: trueمانع نوشتن میشود؛readOnlyRoot: falseرا تنظیم کنید یا یک تصویر سفارشی بسازید.- برای نصب بستهها،
userباید root باشد (userرا حذف کنید یاuser: "0:0"را تنظیم کنید). - اجرای سندباکس،
process.envمیزبان را به ارث نمیبرد. برای کلیدهای API مربوط به skill ازagents.defaults.sandbox.docker.env(یا یک تصویر سفارشی) استفاده کنید.
سیاست ابزار و راههای خروج اضطراری
سیاستهای اجازه/رد ابزار همچنان پیش از قوانین سندباکس اعمال میشوند. اگر ابزاری بهصورت سراسری یا برای هر عامل رد شده باشد، سندباکس کردن آن را بازنمیگرداند.
tools.elevated یک راه خروج اضطراری صریح است که exec را خارج از سندباکس اجرا میکند (بهطور پیشفرض در gateway، یا وقتی هدف اجرای exec برابر node باشد، در node). دستورهای /exec فقط برای فرستندگان مجاز اعمال میشوند و در هر نشست ماندگارند؛ برای غیرفعالسازی قطعی exec، از رد کردن در سیاست ابزار استفاده کنید (نگاه کنید به سندباکس در برابر سیاست ابزار در برابر Elevated).
اشکالزدایی:
- از
openclaw sandbox explainبرای بررسی حالت مؤثر سندباکس، سیاست ابزار، و کلیدهای پیکربندی اصلاح استفاده کنید. - برای مدل ذهنی «چرا این مسدود شده است؟» به سندباکس در برابر سیاست ابزار در برابر Elevated مراجعه کنید.
آن را قفلشده نگه دارید.
بازنویسیهای چندعاملی
هر عامل میتواند سندباکس + ابزارها را بازنویسی کند: agents.list[].sandbox و agents.list[].tools (بهعلاوه agents.list[].tools.sandbox.tools برای سیاست ابزار سندباکس). برای ترتیب تقدم، به سندباکس و ابزارهای چندعاملی مراجعه کنید.
نمونه حداقلی فعالسازی
{ agents: { defaults: { sandbox: { mode: "non-main", scope: "session", workspaceAccess: "none", }, }, },}مرتبط
- سندباکس و ابزارهای چندعاملی — بازنویسیهای هر عامل و ترتیب تقدم
- OpenShell — راهاندازی بکاند سندباکس مدیریتشده، حالتهای فضای کاری، و مرجع پیکربندی
- پیکربندی سندباکس
- سندباکس در برابر سیاست ابزار در برابر Elevated — اشکالزدایی «چرا این مسدود شده است؟»
- امنیت