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. - افتراضيًا، تستخدم حاويات متصفح العزل شبكة Docker مخصصة (
openclaw-sandbox-browser) بدلًا من شبكةbridgeالعامة. اضبط ذلك باستخدامagents.defaults.sandbox.browser.network. - يقيّد
agents.defaults.sandbox.browser.cdpSourceRangeالاختياري دخول CDP عند حافة الحاوية بقائمة سماح CIDR (على سبيل المثال172.21.0.1/32). - يكون وصول مراقب noVNC محميًا بكلمة مرور افتراضيًا؛ يصدر OpenClaw عنوان URL قصير الأجل برمز مميز يعرض صفحة تمهيد محلية ويفتح noVNC مع كلمة المرور في جزء عنوان URL (وليس في سجلات الاستعلام/الرؤوس).
- يتيح
agents.defaults.sandbox.browser.allowHostControlللجلسات المعزولة استهداف متصفح المضيف صراحةً. - تضبط قوائم السماح الاختيارية
target: "custom": allowedControlUrls، وallowedControlHosts، وallowedControlPorts.
غير معزول:
- عملية Gateway نفسها.
- أي أداة يُسمح لها صراحةً بالعمل خارج العزل (مثل
tools.elevated).- يتجاوز exec المرتفع العزل ويستخدم مسار الخروج المضبوط (
gatewayافتراضيًا، أوnodeعندما يكون هدف exec هوnode). - إذا كان العزل متوقفًا، فلا يغيّر
tools.elevatedالتنفيذ (لأنه يعمل بالفعل على المضيف). راجع الوضع المرتفع.
- يتجاوز exec المرتفع العزل ويستخدم مسار الخروج المضبوط (
الأوضاع
يتحكم agents.defaults.sandbox.mode في متى يُستخدم العزل:
off
لا يوجد عزل.
non-main
اعزل جلسات غير الرئيسية فقط (الافتراضي إذا كنت تريد أن تبقى المحادثات العادية على المضيف).
يستند "non-main" إلى session.mainKey (الافتراضي "main")، وليس إلى معرّف الوكيل. تستخدم جلسات المجموعة/القناة مفاتيحها الخاصة، لذلك تُعد غير رئيسية وستُعزل.
all
تعمل كل جلسة داخل عزل.
النطاق
يتحكم agents.defaults.sandbox.scope في عدد الحاويات التي تُنشأ:
"agent"(افتراضي): حاوية واحدة لكل وكيل."session": حاوية واحدة لكل جلسة."shared": حاوية واحدة مشتركة بين كل الجلسات المعزولة.
الخلفية
يتحكم agents.defaults.sandbox.backend في بيئة التشغيل التي توفر العزل:
"docker"(الافتراضي عند تمكين العزل): بيئة تشغيل عزل محلية مدعومة بـ Docker."ssh": بيئة تشغيل عزل بعيدة عامة مدعومة بـ SSH."openshell": بيئة تشغيل عزل مدعومة بـ OpenShell.
توجد إعدادات SSH الخاصة ضمن agents.defaults.sandbox.ssh. توجد إعدادات OpenShell الخاصة ضمن plugins.entries.openshell.config.
اختيار خلفية
| Docker | SSH | OpenShell | |
|---|---|---|---|
| مكان التشغيل | حاوية محلية | أي مضيف يمكن الوصول إليه عبر SSH | عزل مُدار بواسطة OpenShell |
| الإعداد | scripts/sandbox-setup.sh |
مفتاح SSH + المضيف الهدف | Plugin OpenShell مفعّل |
| نموذج مساحة العمل | ربط تحميل أو نسخ | المرجع البعيد (بذر مرة واحدة) | mirror أو remote |
| التحكم في الشبكة | docker.network (الافتراضي: لا شيء) |
يعتمد على المضيف البعيد | يعتمد على OpenShell |
| عزل المتصفح | مدعوم | غير مدعوم | غير مدعوم بعد |
| ربط التحميلات | docker.binds |
غير منطبق | غير منطبق |
| الأفضل لـ | التطوير المحلي، عزل كامل | نقل الحمل إلى جهاز بعيد | عزلات بعيدة مُدارة مع مزامنة ثنائية اختيارية |
خلفية Docker
العزل متوقف افتراضيًا. إذا مكّنت العزل ولم تختر خلفية، يستخدم OpenClaw خلفية Docker. ينفّذ الأدوات ومتصفحات العزل محليًا عبر مقبس عفريت Docker (/var/run/docker.sock). يتحدد عزل حاوية العزل بواسطة نطاقات أسماء Docker.
لإتاحة وحدات GPU الخاصة بالمضيف لعزلات Docker، اضبط agents.defaults.sandbox.docker.gpus أو تجاوز كل وكيل agents.list[].sandbox.docker.gpus. تُمرر القيمة إلى علم Docker --gpus كوسيط منفصل، مثل "all" أو "device=GPU-uuid"، وتتطلب بيئة تشغيل مضيف متوافقة مثل NVIDIA Container Toolkit.
خلفية SSH
استخدم backend: "ssh" عندما تريد من OpenClaw عزل exec وأدوات الملفات وقراءات الوسائط على أي جهاز يمكن الوصول إليه عبر 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 مساحة العمل البعيدة تلك من مساحة العمل المحلية مرة واحدة.
- بعد ذلك، تعمل
execوreadوwriteوeditوapply_patchوقراءات وسائط الموجّه وتجهيز الوسائط الواردة مباشرةً على مساحة العمل البعيدة عبر SSH. - لا يزامن OpenClaw التغييرات البعيدة تلقائيًا إلى مساحة العمل المحلية.
Authentication material
-
identityFile، وcertificateFile، وknownHostsFile: استخدم الملفات المحلية الحالية ومرّرها عبر إعدادات OpenSSH. -
identityData، وcertificateData، وknownHostsData: استخدم سلاسل مضمنة أو SecretRefs. يحلّها OpenClaw عبر لقطة بيئة تشغيل الأسرار العادية، ويكتبها إلى ملفات مؤقتة بصلاحيات0600، ثم يحذفها عند انتهاء جلسة SSH. - إذا عُيّن كل من
*Fileو*Dataللعنصر نفسه، فإن*Dataيفوز في جلسة SSH تلك.
Remote-canonical consequences
هذا نموذج بمرجع بعيد. تصبح مساحة عمل SSH البعيدة حالة العزل الحقيقية بعد البذر الأولي.
- لا تظهر التعديلات المحلية على المضيف التي تُجرى خارج OpenClaw بعد خطوة البذر عن بُعد حتى تعيد إنشاء العزل.
- يحذف
openclaw sandbox recreateالجذر البعيد لكل نطاق ويعيد البذر من المحلي عند الاستخدام التالي. - عزل المتصفح غير مدعوم على خلفية SSH.
- لا تنطبق إعدادات
sandbox.docker.*على خلفية SSH.
خلفية OpenShell
استخدم backend: "openshell" عندما تريد من OpenClaw عزل الأدوات في بيئة بعيدة مُدارة بواسطة OpenShell. للاطلاع على دليل الإعداد الكامل ومرجع الإعدادات ومقارنة أوضاع مساحة العمل، راجع صفحة OpenShell المخصصة.
يعيد OpenShell استخدام نقل SSH الأساسي نفسه وجسر نظام الملفات البعيد نفسه مثل خلفية SSH العامة، ويضيف دورة حياة خاصة بـ OpenShell (sandbox create/get/delete، وsandbox ssh-config) بالإضافة إلى وضع مساحة العمل 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(افتراضي): تبقى مساحة العمل المحلية هي المرجع. يزامن OpenClaw الملفات المحلية إلى OpenShell قبل exec ويزامن مساحة العمل البعيدة مرة أخرى بعد exec.remote: تكون مساحة عمل OpenShell هي المرجع بعد إنشاء العزل. يبذر OpenClaw مساحة العمل البعيدة مرة واحدة من مساحة العمل المحلية، ثم تعمل أدوات الملفات وexec مباشرةً على العزل البعيد دون مزامنة التغييرات مرة أخرى.
Remote transport details
- يطلب OpenClaw من OpenShell إعدادات SSH خاصة بالعزل عبر
openshell sandbox ssh-config <name>. - يكتب النواة إعدادات SSH تلك إلى ملف مؤقت، ويفتح جلسة SSH، ويعيد استخدام جسر نظام الملفات البعيد نفسه المستخدم بواسطة
backend: "ssh". - في وضع
mirrorيختلف مسار دورة الحياة فقط: مزامنة المحلي إلى البعيد قبل exec، ثم المزامنة مرة أخرى بعد exec.
Current OpenShell limitations
- متصفح العزل غير مدعوم بعد
sandbox.docker.bindsغير مدعوم على خلفية OpenShell- لا تزال مقابض بيئة التشغيل الخاصة بـ Docker ضمن
sandbox.docker.*تنطبق فقط على خلفية Docker
أوضاع مساحة العمل
لدى OpenShell نموذجان لمساحة العمل. هذا هو الجزء الأهم عمليًا.
mirror (local canonical)
استخدم plugins.entries.openshell.config.mode: "mirror" عندما تريد أن تبقى مساحة العمل المحلية هي المرجع.
السلوك:
- قبل
exec، يزامن OpenClaw مساحة العمل المحلية إلى عزل OpenShell. - بعد
exec، يزامن OpenClaw مساحة العمل البعيدة مرة أخرى إلى مساحة العمل المحلية. - لا تزال أدوات الملفات تعمل عبر جسر العزل، لكن مساحة العمل المحلية تظل مصدر الحقيقة بين الأدوار.
استخدم هذا عندما:
- تعدّل الملفات محليًا خارج OpenClaw وتريد أن تظهر هذه التغييرات في الصندوق الرمل تلقائيًا
- تريد أن يتصرف صندوق OpenShell الرملي بأكبر قدر ممكن مثل واجهة Docker الخلفية
- تريد أن تعكس مساحة عمل المضيف كتابات الصندوق الرملي بعد كل دور تنفيذ
المفاضلة: تكلفة مزامنة إضافية قبل التنفيذ وبعده.
remote (OpenShell canonical)
استخدم plugins.entries.openshell.config.mode: "remote" عندما تريد أن تصبح مساحة عمل OpenShell هي المرجع الأساسي.
السلوك:
- عند إنشاء الصندوق الرملي لأول مرة، يزرع OpenClaw مساحة العمل البعيدة من مساحة العمل المحلية مرة واحدة.
- بعد ذلك، تعمل
execوreadوwriteوeditوapply_patchمباشرة على مساحة عمل OpenShell البعيدة. - لا يزامن OpenClaw التغييرات البعيدة مرة أخرى إلى مساحة العمل المحلية بعد التنفيذ.
- تظل قراءات الوسائط وقت الموجه تعمل لأن أدوات الملفات والوسائط تقرأ عبر جسر الصندوق الرملي بدلًا من افتراض مسار مضيف محلي.
- يتم النقل عبر SSH إلى صندوق OpenShell الرملي الذي يعيده
openshell sandbox ssh-config.
عواقب مهمة:
- إذا عدّلت ملفات على المضيف خارج OpenClaw بعد خطوة الزرع، فلن يرى الصندوق الرملي البعيد تلك التغييرات تلقائيًا.
- إذا أُعيد إنشاء الصندوق الرملي، فستُزرع مساحة العمل البعيدة من مساحة العمل المحلية مرة أخرى.
- مع
scope: "agent"أوscope: "shared"، تُشارك مساحة العمل البعيدة هذه ضمن النطاق نفسه.
استخدم هذا عندما:
- ينبغي أن يعيش الصندوق الرملي أساسًا في جانب OpenShell البعيد
- تريد تقليل عبء المزامنة لكل دور
- لا تريد أن تستبدل تعديلات المضيف المحلية حالة الصندوق الرملي البعيد بصمت
اختر mirror إذا كنت تفكر في الصندوق الرملي كبيئة تنفيذ مؤقتة. اختر remote إذا كنت تفكر في الصندوق الرملي كمساحة العمل الحقيقية.
دورة حياة OpenShell
لا تزال صناديق OpenShell الرملية تُدار عبر دورة حياة الصندوق الرملي العادية:
- يعرض
openclaw sandbox listأزمنة تشغيل OpenShell بالإضافة إلى أزمنة تشغيل Docker - يحذف
openclaw sandbox recreateزمن التشغيل الحالي ويتيح لـ OpenClaw إعادة إنشائه عند الاستخدام التالي - منطق التنظيف واعٍ بواجهة الخلفية أيضًا
بالنسبة إلى وضع remote، تكون إعادة الإنشاء مهمة بشكل خاص:
- تحذف إعادة الإنشاء مساحة العمل البعيدة المرجعية لذلك النطاق
- يزرع الاستخدام التالي مساحة عمل بعيدة جديدة من مساحة العمل المحلية
بالنسبة إلى وضع mirror، تعيد إعادة الإنشاء أساسًا ضبط بيئة التنفيذ البعيدة لأن مساحة العمل المحلية تبقى مرجعية في كل الأحوال.
الوصول إلى مساحة العمل
يتحكم agents.defaults.sandbox.workspaceAccess في ما يمكن للصندوق الرملي رؤيته:
none (default)
ترى الأدوات مساحة عمل صندوق رملي ضمن ~/.openclaw/sandboxes.
ro
يركّب مساحة عمل الوكيل للقراءة فقط عند /agent (يعطّل write/edit/apply_patch).
rw
يركّب مساحة عمل الوكيل للقراءة/الكتابة عند /workspace.
مع واجهة OpenShell الخلفية:
- لا يزال وضع
mirrorيستخدم مساحة العمل المحلية كمصدر مرجعي بين أدوار التنفيذ - يستخدم وضع
remoteمساحة عمل OpenShell البعيدة كمصدر مرجعي بعد الزرع الأولي - لا يزال
workspaceAccess: "ro"و"none"يقيّدان سلوك الكتابة بالطريقة نفسها
تُنسخ الوسائط الواردة إلى مساحة عمل الصندوق الرملي النشطة (media/inbound/*).
عمليات تركيب الربط المخصصة
يركّب agents.defaults.sandbox.docker.binds أدلة مضيف إضافية داخل الحاوية. الصيغة: host:container:mode (مثل "/home/user/source:/source:rw").
تُدمج عمليات الربط العامة والخاصة بكل وكيل ولا تُستبدل. ضمن scope: "shared"، تُتجاهل عمليات الربط الخاصة بكل وكيل.
يركّب agents.defaults.sandbox.browser.binds أدلة مضيف إضافية داخل حاوية متصفح الصندوق الرملي فقط.
- عند ضبطه (بما في ذلك
[])، فإنه يستبدلagents.defaults.sandbox.docker.bindsلحاوية المتصفح. - عند إغفاله، تعود حاوية المتصفح إلى
agents.defaults.sandbox.docker.binds(متوافق مع الإصدارات السابقة).
مثال (مصدر للقراءة فقط + دليل بيانات إضافي):
{
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"],
},
},
},
],
},
}
الصور والإعداد
صورة Docker الافتراضية: openclaw-sandbox:bookworm-slim
Build the default image
من سحب مصدر:
scripts/sandbox-setup.sh
من تثبيت npm (لا حاجة إلى سحب مصدر):
docker build -t openclaw-sandbox:bookworm-slim - <<'DOCKERFILE'
FROM debian:bookworm-slim
ENV DEBIAN_FRONTEND=noninteractive
RUN 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 sandbox
USER sandbox
WORKDIR /home/sandbox
CMD ["sleep", "infinity"]
DOCKERFILE
لا تتضمن الصورة الافتراضية Node. إذا احتاجت Skills إلى Node (أو أزمنة تشغيل أخرى)، فإما أن تخبز صورة مخصصة أو تثبّت عبر sandbox.docker.setupCommand (يتطلب خروجًا شبكيًا + جذرًا قابلًا للكتابة + مستخدم root).
لا يستبدل OpenClaw بصمت debian:bookworm-slim العادي عندما تكون openclaw-sandbox:bookworm-slim مفقودة. تفشل تشغيلات الصندوق الرملي التي تستهدف الصورة الافتراضية سريعًا مع تعليمة بناء إلى أن تبنيها، لأن الصورة المرفقة تحمل python3 لمساعدات الكتابة/التحرير في الصندوق الرملي.
Optional: build the common image
للحصول على صورة صندوق رملي أكثر وظيفية مع أدوات شائعة (على سبيل المثال curl وjq وnodejs وpython3 وgit):
من سحب مصدر:
scripts/sandbox-common-setup.sh
من تثبيت npm، ابنِ الصورة الافتراضية أولًا (انظر أعلاه)، ثم ابنِ الصورة الشائعة فوقها باستخدام scripts/docker/sandbox/Dockerfile.common من المستودع.
ثم اضبط agents.defaults.sandbox.docker.image على openclaw-sandbox-common:bookworm-slim.
Optional: build the sandbox browser image
من سحب مصدر:
scripts/sandbox-browser-setup.sh
من تثبيت npm، ابنِ باستخدام scripts/docker/sandbox/Dockerfile.browser من المستودع.
افتراضيًا، تعمل حاويات صندوق Docker الرملي بلا شبكة. يمكنك التجاوز باستخدام agents.defaults.sandbox.docker.network.
Sandbox browser Chromium defaults
تطبّق صورة متصفح الصندوق الرملي المرفقة أيضًا إعدادات بدء Chromium محافظة لأحمال العمل المحواة. تشمل الإعدادات الافتراضية الحالية للحاوية:
--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--no-sandboxعندما يكونnoSandboxمفعّلًا.- أعلام تقوية الرسوميات الثلاثة (
--disable-3d-apisو--disable-software-rasterizerو--disable-gpu) اختيارية ومفيدة عندما تفتقر الحاويات إلى دعم GPU. اضبطOPENCLAW_BROWSER_DISABLE_GRAPHICS_FLAGS=0إذا كان حمل عملك يتطلب WebGL أو ميزات متصفح/ثلاثية الأبعاد أخرى. - يُفعّل
--disable-extensionsافتراضيًا ويمكن تعطيله باستخدامOPENCLAW_BROWSER_DISABLE_EXTENSIONS=0للتدفقات المعتمدة على الإضافات. - يتحكم
OPENCLAW_BROWSER_RENDERER_PROCESS_LIMIT=<N>في--renderer-process-limit=2، حيث يُبقي0الإعداد الافتراضي في Chromium.
إذا احتجت إلى ملف تشغيل مختلف، فاستخدم صورة متصفح مخصصة وقدّم نقطة دخولك الخاصة. بالنسبة إلى ملفات Chromium المحلية (غير المحواة)، استخدم browser.extraArgs لإلحاق أعلام بدء إضافية.
Network security defaults
- يتم حظر
network: "host". - يتم حظر
network: "container:<id>"افتراضيًا (خطر تجاوز الانضمام إلى مساحة الأسماء). - تجاوز كسر الزجاج:
agents.defaults.sandbox.docker.dangerouslyAllowContainerNamespaceJoin: true.
توجد تثبيتات Docker والـ Gateway المحوّى هنا: Docker
بالنسبة إلى نشرات Docker Gateway، يمكن لـ scripts/docker/setup.sh تمهيد إعدادات الصندوق الرملي. اضبط OPENCLAW_SANDBOX=1 (أو true/yes/on) لتفعيل ذلك المسار. يمكنك تجاوز موقع المقبس باستخدام OPENCLAW_DOCKER_SOCKET. مرجع الإعداد الكامل والبيئة: Docker.
setupCommand (إعداد الحاوية لمرة واحدة)
يعمل setupCommand مرة واحدة بعد إنشاء حاوية الصندوق الرملي (وليس عند كل تشغيل). ينفذ داخل الحاوية عبر sh -lc.
المسارات:
- عام:
agents.defaults.sandbox.docker.setupCommand - لكل وكيل:
agents.list[].sandbox.docker.setupCommand
المزالق الشائعة
- القيمة الافتراضية لـ
docker.networkهي"none"(بلا خروج إلى الشبكة)، لذلك ستفشل عمليات تثبيت الحزم. - يتطلب
docker.network: "container:<id>"ضبطdangerouslyAllowContainerNamespaceJoin: trueوهو للاستخدام الطارئ فقط. - يمنع
readOnlyRoot: trueعمليات الكتابة؛ اضبطreadOnlyRoot: falseأو ابنِ صورة مخصصة. - يجب أن يكون
userهو الجذر لتثبيت الحزم (احذفuserأو اضبطuser: "0:0"). - لا يرث تنفيذ بيئة العزل
process.envالخاص بالمضيف. استخدمagents.defaults.sandbox.docker.env(أو صورة مخصصة) لمفاتيح API الخاصة بالمهارات.
سياسة الأدوات ومخارج التجاوز
تظل سياسات السماح/المنع للأدوات سارية قبل قواعد بيئة العزل. إذا كانت أداة ما ممنوعة عمومًا أو لكل وكيل، فلن تعيدها بيئة العزل.
tools.elevated هو مخرج تجاوز صريح يشغّل exec خارج بيئة العزل (gateway افتراضيًا، أو node عندما يكون هدف التنفيذ هو node). لا تنطبق توجيهات /exec إلا على المرسلين المصرّح لهم وتستمر لكل جلسة؛ لتعطيل exec بشكل صارم، استخدم منع سياسة الأدوات (راجع بيئة العزل مقابل سياسة الأدوات مقابل الصلاحيات المرتفعة).
تصحيح الأخطاء:
- استخدم
openclaw sandbox explainلفحص وضع بيئة العزل الفعّال، وسياسة الأدوات، ومفاتيح إعداد الإصلاح. - راجع بيئة العزل مقابل سياسة الأدوات مقابل الصلاحيات المرتفعة لفهم نموذج "لماذا تم حظر هذا؟".
أبقِه مقفلًا بإحكام.
تجاوزات الوكلاء المتعددين
يمكن لكل وكيل تجاوز بيئة العزل + الأدوات: agents.list[].sandbox وagents.list[].tools (بالإضافة إلى agents.list[].tools.sandbox.tools لسياسة أدوات بيئة العزل). راجع بيئة عزل وأدوات الوكلاء المتعددين للأسبقية.
مثال تمكين بسيط
{
agents: {
defaults: {
sandbox: {
mode: "non-main",
scope: "session",
workspaceAccess: "none",
},
},
},
}
ذات صلة
- بيئة عزل وأدوات الوكلاء المتعددين — تجاوزات وأسبقية لكل وكيل
- OpenShell — إعداد خلفية بيئة العزل المُدارة، وأوضاع مساحة العمل، ومرجع الإعداد
- إعداد بيئة العزل
- بيئة العزل مقابل سياسة الأدوات مقابل الصلاحيات المرتفعة — تصحيح "لماذا تم حظر هذا؟"
- الأمان