Skip to main content
يمكن لـ OpenClaw تنفيذ الأدوات داخل بيئة خلفية معزولة لتقليل نطاق الضرر. يكون العزل معطّلًا افتراضيًا، ويُتحكَّم فيه عبر agents.defaults.sandbox (عام) أو agents.list[].sandbox (لكل وكيل). تظل عملية Gateway دائمًا على المضيف؛ ولا ينتقل إلى البيئة المعزولة عند تمكينها سوى تنفيذ الأدوات.
لا يشكّل هذا حدًا أمنيًا مثاليًا، لكنه يقيّد بدرجة كبيرة الوصول إلى نظام الملفات والعمليات عندما يقوم النموذج بتصرف غير سليم.

ما الذي يخضع للعزل

  • تنفيذ الأدوات: exec وread وwrite وedit وapply_patch وprocess وغيرها.
  • متصفح البيئة المعزولة الاختياري (agents.defaults.sandbox.browser).
ما لا يخضع للعزل:
  • عملية Gateway نفسها.
  • أي أداة يُسمح لها صراحةً بالعمل خارج البيئة المعزولة عبر tools.elevated. يتجاوز التنفيذ بصلاحيات مرتفعة العزل ويعمل على مسار الخروج المضبوط (gateway افتراضيًا، أو node عندما يكون هدف التنفيذ هو node). إذا كان العزل معطّلًا، فلن يغيّر tools.elevated شيئًا لأن التنفيذ يعمل بالفعل على المضيف. راجع وضع الصلاحيات المرتفعة.

الأوضاع والنطاق والبيئة الخلفية

تتحكم ثلاثة إعدادات مستقلة في سلوك العزل: يتحكم الوضع في وقت تطبيق العزل:
  • off: لا يوجد عزل.
  • non-main: اعزل كل جلسة باستثناء الجلسة الرئيسية للوكيل. يكون مفتاح الجلسة الرئيسية دائمًا agent:<agentId>:main (أو global عندما تكون قيمة session.scope هي "global")، ولا يمكن ضبطه. تستخدم جلسات المجموعات/القنوات مفاتيحها الخاصة، لذا تُعد دائمًا غير رئيسية وتخضع للعزل.
  • all: تعمل كل جلسة داخل بيئة معزولة.
يتحكم النطاق في عدد الحاويات/البيئات التي تُنشأ:
  • agent: حاوية واحدة لكل وكيل.
  • session: حاوية واحدة لكل جلسة.
  • shared: حاوية واحدة مشتركة بين جميع الجلسات المعزولة (يتم تجاهل تجاوزات docker وssh وbrowser الخاصة بكل وكيل ضمن هذا النطاق).
تتحكم البيئة الخلفية في بيئة التشغيل التي تنفّذ الأدوات المعزولة. يوجد الضبط الخاص بـ SSH ضمن agents.defaults.sandbox.ssh، ويوجد الضبط الخاص بـ OpenShell ضمن plugins.entries.openshell.config.

البيئة الخلفية Docker

تكون Docker البيئة الخلفية الافتراضية عند تمكين العزل. وهي تشغّل الأدوات ومتصفحات البيئة المعزولة محليًا عبر مقبس عفريت Docker ‏(/var/run/docker.sock)؛ ويأتي العزل من نطاقات أسماء Docker. الإعدادات الافتراضية: network: "none" (لا اتصال صادر)، وreadOnlyRoot: true، وcapDrop: ["ALL"]، والصورة openclaw-sandbox:bookworm-slim. لإتاحة وحدات معالجة الرسومات على المضيف، اضبط agents.defaults.sandbox.docker.gpus (أو التجاوز الخاص بكل وكيل) على قيمة مثل "all" أو "device=GPU-uuid". تُمرَّر هذه القيمة إلى علامة Docker‏ --gpus وتتطلب بيئة تشغيل مضيف متوافقة مثل NVIDIA Container Toolkit.
قيود Docker خارج Docker ‏(DooD)إذا نشرت Gateway الخاص بـ OpenClaw نفسه كحاوية Docker، فإنه ينسّق حاويات العزل الشقيقة باستخدام مقبس Docker الخاص بالمضيف (DooD). يفرض ذلك قيدًا على تعيين المسارات:
  • يتطلب الضبط مسارات المضيف: يجب أن يحتوي workspace في openclaw.json على المسار المطلق للمضيف (مثل /home/user/.openclaw/workspaces)، وليس المسار الداخلي لحاوية Gateway. يقيّم عفريت Docker المسارات بالنسبة إلى نطاق أسماء نظام تشغيل المضيف، وليس نطاق أسماء Gateway نفسه.
  • يلزم تعيين وحدة تخزين مطابق: تكتب عملية Gateway أيضًا ملفات Heartbeat والجسر في مسار workspace هذا. امنح حاوية Gateway تعيين وحدة تخزين مطابقًا (-v /home/user/.openclaw:/home/user/.openclaw) لكي يُحل مسار المضيف نفسه بصورة صحيحة من داخل حاوية Gateway أيضًا. تظهر التعيينات غير المتطابقة كخطأ EACCES عندما يحاول Gateway كتابة Heartbeat الخاص به.
  • وضع شيفرة Codex: عندما تكون بيئة OpenClaw المعزولة نشطة، يعطّل OpenClaw وضع الشيفرة الأصلي لخادم تطبيق Codex، وخوادم MCP الخاصة بالمستخدم، وتنفيذ Plugin المدعوم بالتطبيق في تلك الجولة (إذ تعمل هذه من عملية خادم التطبيق الموجودة على مضيف Gateway، لا من البيئة الخلفية المعزولة لـ OpenClaw)، ما لم تكشف سياسة أدوات البيئة المعزولة الأدوات المطلوبة وتفعّل مسار خادم التنفيذ التجريبي للبيئة المعزولة. عندئذٍ يُوجَّه الوصول إلى الصدفة عبر أدوات OpenClaw المدعومة بالبيئة المعزولة، مثل sandbox_exec وsandbox_process. لا تربط مقبس Docker الخاص بالمضيف داخل حاويات عزل الوكلاء أو بيئات Codex المعزولة المخصصة. راجع حاضنة Codex للاطلاع على السلوك الكامل.
على مضيفي Ubuntu/AppArmor مع تمكين وضع عزل Docker، يحتاج تنفيذ الصدفة workspace-write في خادم تطبيق Codex إلى نطاقات أسماء مستخدمين بلا امتيازات داخل حاوية العزل، وقد يفشل ذلك قبل بدء تشغيل الصدفة عندما يتعذر على مستخدم الخدمة إنشاؤها. ويتطلب ذلك أيضًا نطاق أسماء شبكة بلا امتيازات عندما يكون الاتصال الصادر لعزل Docker معطّلًا (network: "none"، وهو الإعداد الافتراضي). تشمل الأعراض الشائعة: bwrap: setting up uid map: Permission denied وbwrap: loopback: Failed RTM_NEWADDR: Operation not permitted. شغّل openclaw doctor؛ وإذا أبلغ عن فشل فحص نطاق أسماء bwrap الخاص بـ Codex، ففضّل ملف تعريف AppArmor يمنح نطاقات الأسماء المطلوبة لعملية خدمة OpenClaw. يُعد kernel.apparmor_restrict_unprivileged_userns=0 حلًا احتياطيًا على مستوى المضيف كله مع تنازلات أمنية؛ فلا تستخدمه إلا عندما يكون هذا الوضع الأمني للمضيف مقبولًا.

المتصفح المعزول

  • يبدأ متصفح البيئة المعزولة تلقائيًا (لضمان إمكانية الوصول إلى CDP) عندما تحتاج إليه أداة المتصفح. اضبطه عبر agents.defaults.sandbox.browser.autoStart (الافتراضي true) وautoStartTimeoutMs (الافتراضي 12 ثانية).
  • تستخدم حاويات متصفح البيئة المعزولة شبكة 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 (الافتراضي false) للجلسات المعزولة باستهداف متصفح المضيف صراحةً.
  • تتحكم قوائم السماح الاختيارية في target: "custom":‏ allowedControlUrls وallowedControlHosts وallowedControlPorts.

البيئة الخلفية SSH

استخدم backend: "ssh" لعزل exec وأدوات الملفات وقراءة الوسائط على أي جهاز يمكن الوصول إليه عبر SSH.
الإعدادات الافتراضية: command: "ssh" وworkspaceRoot: "/tmp/openclaw-sandboxes" وstrictHostKeyChecking: true وupdateHostKeys: true.
  • دورة الحياة: ينشئ OpenClaw جذرًا بعيدًا لكل نطاق ضمن sandbox.ssh.workspaceRoot. عند أول استخدام بعد الإنشاء أو إعادة الإنشاء، يهيّئ مساحة العمل البعيدة هذه مرة واحدة من مساحة العمل المحلية. بعد ذلك، تعمل exec وread وwrite وedit وapply_patch وقراءة وسائط المطالبة وتجهيز الوسائط الواردة مباشرةً على مساحة العمل البعيدة عبر SSH. لا يزامن OpenClaw التغييرات البعيدة تلقائيًا إلى مساحة العمل المحلية.
  • مواد المصادقة: تشير identityFile وcertificateFile وknownHostsFile إلى ملفات محلية موجودة. تقبل identityData وcertificateData وknownHostsData سلاسل مضمنة أو SecretRefs، ويجري حلها عبر لقطة بيئة تشغيل الأسرار العادية، ثم تُكتب في ملفات مؤقتة بالوضع 0600 وتُحذف عند انتهاء جلسة SSH. إذا ضُبط متغير من نوع *File وآخر من نوع *Data للعنصر نفسه، تكون الأولوية لـ *Data في تلك الجلسة.
  • نتائج اعتبار النسخة البعيدة مرجعية: تصبح مساحة عمل SSH البعيدة حالة العزل الفعلية بعد التهيئة الأولية. لا تظهر التعديلات المحلية على المضيف التي تتم خارج OpenClaw بعد خطوة التهيئة في البيئة البعيدة حتى تعيد إنشاء البيئة المعزولة. يحذف openclaw sandbox recreate الجذر البعيد الخاص بالنطاق ويعيد تهيئته من النسخة المحلية عند الاستخدام التالي. لا يدعم هذا النظام الخلفي عزل المتصفح، ولا تنطبق عليه إعدادات sandbox.docker.*.

البيئة الخلفية OpenShell

استخدم backend: "openshell" لعزل الأدوات في بيئة بعيدة يديرها OpenShell. يعيد OpenShell استخدام نقل SSH وجسر نظام الملفات البعيد نفسيهما اللذين تستخدمهما البيئة الخلفية العامة SSH، ويضيف دورة حياة OpenShell ‏(sandbox create/get/delete/ssh-config) بالإضافة إلى وضع مزامنة مساحة العمل الاختياري mirror.
يبقي mode: "mirror" (الافتراضي) مساحة العمل المحلية مرجعية: يزامن OpenClaw النسخة المحلية إلى البيئة المعزولة قبل exec ويعيد المزامنة منها بعده. أما mode: "remote" فيهيّئ مساحة العمل البعيدة مرة واحدة من النسخة المحلية، ثم يشغّل exec وread وwrite وedit وapply_patch مباشرةً على مساحة العمل البعيدة دون مزامنة عكسية؛ ولا تظهر التعديلات المحلية بعد التهيئة حتى تنفّذ openclaw sandbox recreate. ضمن scope: "agent" أو scope: "shared"، تكون مساحة العمل البعيدة هذه مشتركة على النطاق نفسه. القيود الحالية: متصفح البيئة المعزولة غير مدعوم بعد، ولا ينطبق sandbox.docker.binds على هذه البيئة الخلفية. تتعامل أوامر openclaw sandbox list وrecreate وprune جميعها مع بيئات تشغيل OpenShell بالطريقة نفسها التي تتعامل بها مع بيئات تشغيل Docker؛ ويكون منطق التنظيف مدركًا للبيئة الخلفية. للاطلاع على المتطلبات الأساسية الكاملة ومرجع الضبط ومقارنة أوضاع مساحة العمل وتفاصيل دورة الحياة، راجع OpenShell.

الوصول إلى مساحة العمل

يتحكم agents.defaults.sandbox.workspaceAccess فيما يمكن للبيئة المعزولة رؤيته: مع الواجهة الخلفية OpenShell، يظل وضع mirror يستخدم مساحة العمل المحلية بوصفها المصدر المعتمد بين أدوار التنفيذ، بينما يستخدم وضع remote مساحة عمل OpenShell البعيدة بوصفها المصدر المعتمد بعد التهيئة الأولية، ويظل workspaceAccess: "ro" أو "none" يقيّد سلوك الكتابة بالطريقة نفسها. تُنسخ الوسائط الواردة إلى مساحة عمل صندوق الحماية النشط (media/inbound/*).
Skills: تعمل أداة read انطلاقًا من جذر صندوق الحماية. عند استخدام workspaceAccess: "none"، يعكس OpenClaw المهارات المؤهلة إلى مساحة عمل صندوق الحماية (.../skills) لتصبح قابلة للقراءة. وعند استخدام "rw"، يمكن قراءة مهارات مساحة العمل من /workspace/skills، وتُنشأ المهارات المؤهلة المُدارة أو المضمّنة أو التابعة لإضافة ضمن المسار المُنشأ المخصص للقراءة فقط /workspace/.openclaw/sandbox-skills/skills.

عمليات ربط مخصصة

يركّب agents.defaults.sandbox.docker.binds أدلة إضافية من المضيف داخل الحاوية. الصيغة: host:container:mode (مثل "/home/user/source:/source:rw"). تُدمج عمليات الربط العامة والخاصة بكل وكيل (ولا يُستبدل بعضها ببعض). ضمن scope: "shared"، تُتجاهل عمليات الربط الخاصة بكل وكيل. يركّب agents.defaults.sandbox.browser.binds أدلة إضافية من المضيف داخل حاوية متصفح صندوق الحماية فقط. عند تعيينه (بما في ذلك [])، فإنه يستبدل docker.binds لحاوية المتصفح؛ وعند حذفه، تعود حاوية المتصفح إلى استخدام docker.binds.
أمان عمليات الربط
  • تتجاوز عمليات الربط نظام ملفات صندوق الحماية: فهي تكشف مسارات المضيف بالوضع الذي تحدده (:ro أو :rw).
  • يحظر OpenClaw افتراضيًا مصادر الربط الخطرة: مسارات النظام (/etc و/proc و/sys و/dev و/root و/boot)، وأدلة مقبس Docker (/run و/var/run ومتغيرات docker.sock التابعة لها)، وجذور بيانات الاعتماد الشائعة في الدليل الرئيسي (~/.aws و~/.cargo و~/.config و~/.docker و~/.gnupg و~/.netrc و~/.npm و~/.ssh).
  • توحّد عملية التحقق مسار المصدر، ثم تحلّه مجددًا عبر أعمق سلف موجود قبل إعادة فحص المسارات المحظورة والجذور المسموح بها، لذلك تُرفض محاولات الهروب عبر أصل رابط رمزي تلقائيًا حتى إذا لم تكن الورقة النهائية موجودة بعد (فمثلًا يظل /workspace/run-link/new-file يُحل إلى /var/run/... إذا كان run-link يشير إليه).
  • تُحظر افتراضيًا أيضًا أهداف الربط التي تحجب نقاط التركيب المحجوزة في الحاوية (/workspace و/agent)؛ ويمكن تجاوز ذلك باستخدام agents.defaults.sandbox.docker.dangerouslyAllowReservedContainerTargets: true.
  • تُحظر افتراضيًا مصادر الربط الواقعة خارج الجذور المدرجة في قائمة السماح لمساحة العمل أو مساحة عمل الوكيل؛ ويمكن تجاوز ذلك باستخدام agents.defaults.sandbox.docker.dangerouslyAllowExternalBindSources: true. تُوحّد الجذور المسموح بها بالطريقة نفسها، لذلك يظل المسار الذي يبدو داخل قائمة السماح فقط قبل حل الروابط الرمزية مرفوضًا بوصفه خارج الجذور المسموح بها.
  • ينبغي أن تكون عمليات تركيب البيانات الحساسة (الأسرار ومفاتيح SSH وبيانات اعتماد الخدمات) بالوضع :ro ما لم تكن الكتابة مطلوبة حتمًا.
  • ادمج ذلك مع workspaceAccess: "ro" إذا كنت تحتاج فقط إلى صلاحية قراءة مساحة العمل؛ تظل أوضاع الربط مستقلة.
  • راجع صندوق الحماية مقابل سياسة الأدوات مقابل التنفيذ بصلاحيات مرتفعة لمعرفة كيفية تفاعل عمليات الربط مع سياسة الأدوات والتنفيذ بصلاحيات مرتفعة.

الصور والإعداد

صورة Docker الافتراضية: openclaw-sandbox:bookworm-slim
نسخة المصدر مقابل تثبيت npmلا تتوفر نصوص المساعدة scripts/sandbox-setup.sh وscripts/sandbox-common-setup.sh وscripts/sandbox-browser-setup.sh إلا عند التشغيل من نسخة من المصدر. وهي غير مضمنة في حزمة npm.إذا ثبّتَّ OpenClaw عبر npm install -g openclaw، فاستخدم أوامر docker build المضمنة الموضحة أدناه بدلًا منها.
1

إنشاء الصورة الافتراضية

من نسخة من المصدر:
من تثبيت npm (لا حاجة إلى نسخة من المصدر):
لا تتضمن الصورة الافتراضية Node. إذا احتاجت إحدى المهارات إلى Node (أو بيئات تشغيل أخرى)، فأنشئ صورة مخصصة تتضمنها أو ثبّتها عبر sandbox.docker.setupCommand (يتطلب خروجًا إلى الشبكة وجذرًا قابلًا للكتابة ومستخدمًا جذرًا).لا يستبدل OpenClaw الصورة المفقودة openclaw-sandbox:bookworm-slim تلقائيًا بالصورة العادية debian:bookworm-slim. تفشل عمليات صندوق الحماية التي تستهدف الصورة الافتراضية سريعًا مع تعليمات للإنشاء إلى أن تنشئها، لأن الصورة المضمّنة تحتوي على python3 لمساعدات الكتابة والتحرير في صندوق الحماية.
2

اختياري: إنشاء الصورة المشتركة

للحصول على صورة صندوق حماية أكثر اكتمالًا وتحتوي على أدوات شائعة (مثل curl وjq وNode 24 وpnpm وpython3 وgit):من نسخة من المصدر:
من تثبيت npm، أنشئ الصورة الافتراضية أولًا (راجع ما سبق)، ثم أنشئ الصورة المشتركة فوقها باستخدام scripts/docker/sandbox/Dockerfile.common من المستودع.ثم عيّن agents.defaults.sandbox.docker.image إلى openclaw-sandbox-common:bookworm-slim.
3

اختياري: إنشاء صورة متصفح صندوق الحماية

من نسخة من المصدر:
من تثبيت npm، أنشئ الصورة باستخدام scripts/docker/sandbox/Dockerfile.browser من المستودع.
تعمل حاويات صندوق حماية Docker افتراضيًا من دون شبكة. ويمكن تجاوز ذلك باستخدام agents.defaults.sandbox.docker.network.
تطبّق صورة متصفح صندوق الحماية المضمّنة علامات تشغيل محافظة لـ 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-dev-shm-usage
  • --disable-background-networking
  • --disable-breakpad
  • --disable-crash-reporter
  • --no-zygote
  • --metrics-recording-only
  • --password-store=basic
  • --use-mock-keychain
  • --headless=new عند تمكين browser.headless.
  • --no-sandbox --disable-setuid-sandbox عند تمكين browser.noSandbox.
  • --disable-3d-apis و--disable-gpu و--disable-software-rasterizer افتراضيًا؛ تساعد علامات تعزيز أمان الرسومات هذه الحاويات التي لا تدعم وحدة معالجة الرسومات. عيّن OPENCLAW_BROWSER_DISABLE_GRAPHICS_FLAGS=0 إذا كان حمل العمل يحتاج إلى WebGL أو ميزات ثلاثية الأبعاد أخرى.
  • --disable-extensions افتراضيًا؛ عيّن OPENCLAW_BROWSER_DISABLE_EXTENSIONS=0 للمسارات التي تعتمد على الامتدادات.
  • --renderer-process-limit=2 افتراضيًا؛ يتحكم فيه OPENCLAW_BROWSER_RENDERER_PROCESS_LIMIT=<N>، حيث تُبقي القيمة 0 إعداد Chromium الافتراضي.
إذا كنت تحتاج إلى ملف تعريف تشغيل مختلف، فاستخدم صورة متصفح مخصصة ووفّر نقطة الدخول الخاصة بك. بالنسبة إلى ملفات تعريف Chromium المحلية (خارج الحاوية)، استخدم browser.extraArgs لإلحاق علامات تشغيل إضافية.
  • يُحظر network: "host".
  • يُحظر network: "container:<id>" افتراضيًا (بسبب خطر تجاوز العزل عبر الانضمام إلى نطاق الأسماء).
  • تجاوز للطوارئ: agents.defaults.sandbox.docker.dangerouslyAllowContainerNamespaceJoin: true.
توجد عمليات تثبيت Docker وGateway العامل داخل الحاوية هنا: Docker بالنسبة إلى عمليات نشر Gateway عبر Docker، يمكن لـ 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 الخاصة بالمهارات.
  • تُمرر القيم الموجودة في agents.defaults.sandbox.docker.env بوصفها متغيرات بيئة صريحة لحاوية Docker. ويمكن لأي شخص لديه صلاحية الوصول إلى برنامج Docker الخفي فحصها باستخدام أوامر بيانات Docker الوصفية مثل docker inspect. استخدم صورة مخصصة أو ملف أسرار مركّبًا أو مسارًا آخر لتسليم الأسرار إذا كان هذا الكشف عبر البيانات الوصفية غير مقبول.

سياسة الأدوات ومنافذ الهروب

تظل سياسات السماح بالأدوات أو منعها سارية قبل قواعد صندوق الحماية. إذا كانت أداة ممنوعة عمومًا أو لوكيل بعينه، فلن يعيدها صندوق الحماية. يمثل tools.elevated منفذ هروب صريحًا يشغّل exec خارج صندوق الحماية (gateway افتراضيًا، أو node عندما يكون هدف التنفيذ هو node). لا تنطبق توجيهات /exec إلا على المرسلين المصرح لهم وتستمر لكل جلسة؛ ولتعطيل exec نهائيًا، استخدم المنع في سياسة الأدوات (راجع صندوق الحماية مقابل سياسة الأدوات مقابل التنفيذ بصلاحيات مرتفعة). استكشاف الأخطاء وإصلاحها:
  • يعرض openclaw sandbox list حاويات صندوق الحماية وحالتها ومدى تطابق الصورة وعمرها ومدة خمولها والجلسة أو الوكيل المرتبط بها.
  • يفحص openclaw sandbox explain [--session <key>] [--agent <id>] وضع صندوق الحماية الفعلي ومساحة عمل المضيف ودليل عمل وقت التشغيل وعمليات تركيب Docker وسياسة الأدوات ومفاتيح الإعداد اللازمة للإصلاح. يظل الحقل workspaceRoot فيه هو جذر صندوق الحماية المُعدّ؛ بينما يوضح effectiveHostWorkspaceRoot المكان الفعلي لمساحة العمل النشطة.
  • يزيل openclaw sandbox recreate [--all | --session <key> | --agent <id>] [--browser] [--force] الحاويات أو البيئات كي يُعاد إنشاؤها بالإعدادات الحالية عند الاستخدام التالي.
  • راجع صندوق الحماية مقابل سياسة الأدوات مقابل التنفيذ بصلاحيات مرتفعة للنموذج الذهني الذي يجيب عن سؤال «لماذا هذا محظور؟».

تجاوزات الوكلاء المتعددين

يمكن لكل وكيل تجاوز إعدادات صندوق الحماية والأدوات: agents.list[].sandbox وagents.list[].tools (بالإضافة إلى agents.list[].tools.sandbox.tools لسياسة أدوات صندوق الحماية). راجع صندوق حماية وأدوات الوكلاء المتعددين لمعرفة ترتيب الأولوية.

مثال مبسط للتمكين

ذو صلة