لدى OpenClaw ثلاثة عناصر تحكم مترابطة (لكن مختلفة):Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
- وضع الحماية (
agents.defaults.sandbox.*/agents.list[].sandbox.*) يحدد أين تعمل الأدوات (خلفية وضع الحماية مقابل المضيف). - سياسة الأدوات (
tools.*,tools.sandbox.tools.*,agents.list[].tools.*) تحدد أي الأدوات متاحة/مسموح بها. - التصعيد (
tools.elevated.*,agents.list[].tools.elevated.*) هو مخرج خاص بـexecفقط للتشغيل خارج وضع الحماية عندما تكون داخل وضع الحماية (gatewayافتراضيًا، أوnodeعندما يكون هدفexecمهيأً إلىnode).
التصحيح السريع
استخدم أداة الفحص لترى ما يفعله OpenClaw فعليًا:- وضع/نطاق وضع الحماية الفعلي ووصول مساحة العمل
- ما إذا كانت الجلسة حاليًا داخل وضع الحماية (رئيسية مقابل غير رئيسية)
- السماح/الحظر الفعلي لأدوات وضع الحماية (وما إذا كان مصدره الوكيل/العمومي/الافتراضي)
- بوابات التصعيد ومسارات مفاتيح الإصلاح
وضع الحماية: أين تعمل الأدوات
يتم التحكم في وضع الحماية عبرagents.defaults.sandbox.mode:
"off": كل شيء يعمل على المضيف."non-main": الجلسات غير الرئيسية فقط تكون داخل وضع الحماية (مفاجأة شائعة للمجموعات/القنوات)."all": كل شيء داخل وضع الحماية.
ربط التحميل (فحص أمني سريع)
docker.bindsيخترق نظام ملفات وضع الحماية: كل ما تربطه يكون مرئيًا داخل الحاوية بالوضع الذي تحدده (:roأو:rw).- الافتراضي هو القراءة والكتابة إذا حذفت الوضع؛ فضّل
:roللمصدر/الأسرار. scope: "shared"يتجاهل روابط كل وكيل على حدة (تنطبق الروابط العمومية فقط).- يتحقق OpenClaw من مصادر الربط مرتين: أولًا على مسار المصدر المعياري، ثم مرة أخرى بعد التحليل عبر أعمق أصل موجود. لا تتجاوز عمليات الهروب عبر أصل الرابط الرمزي فحوصات المسار المحظور أو الجذر المسموح.
- ما زالت مسارات الأوراق غير الموجودة تُفحص بأمان. إذا كان
/workspace/alias-out/new-fileيتحلل عبر أصل رابط رمزي إلى مسار محظور أو خارج الجذور المسموح بها المهيأة، فسيتم رفض الربط. - ربط
/var/run/docker.sockيمنح وضع الحماية فعليًا تحكمًا في المضيف؛ لا تفعل ذلك إلا عن قصد. - وصول مساحة العمل (
workspaceAccess: "ro"/"rw") مستقل عن أوضاع الربط.
سياسة الأدوات: أي الأدوات موجودة/قابلة للاستدعاء
هناك طبقتان مهمتان:- ملف تعريف الأدوات:
tools.profileوagents.list[].tools.profile(قائمة السماح الأساسية) - ملف تعريف أدوات المزوّد:
tools.byProvider[provider].profileوagents.list[].tools.byProvider[provider].profile - سياسة الأدوات العمومية/لكل وكيل:
tools.allow/tools.denyوagents.list[].tools.allow/agents.list[].tools.deny - سياسة أدوات المزوّد:
tools.byProvider[provider].allow/denyوagents.list[].tools.byProvider[provider].allow/deny - سياسة أدوات وضع الحماية (تنطبق فقط عند التشغيل داخل وضع الحماية):
tools.sandbox.tools.allow/tools.sandbox.tools.denyوagents.list[].tools.sandbox.tools.*
denyينتصر دائمًا.- إذا كانت
allowغير فارغة، فكل شيء آخر يُعامل على أنه محظور. - سياسة الأدوات هي حاجز الإيقاف الصارم: لا يستطيع
/execتجاوز أداةexecمحظورة. - ترشح سياسة الأدوات إتاحة الأدوات حسب الاسم؛ ولا تفحص الآثار الجانبية داخل
exec. إذا كانexecمسموحًا به، فإن حظرwriteأوeditأوapply_patchلا يجعل أوامر الصدفة للقراءة فقط. - يغيّر
/execافتراضيات الجلسة فقط للمرسلين المصرح لهم؛ ولا يمنح وصولًا إلى الأدوات. تقبل مفاتيح أدوات المزوّد إماprovider(مثلgoogle-antigravity) أوprovider/model(مثلopenai/gpt-5.4).
مجموعات الأدوات (اختصارات)
تدعم سياسات الأدوات (العمومية، والوكيل، ووضع الحماية) إدخالاتgroup:* التي تتوسع إلى أدوات متعددة:
group:runtime:exec,process,code_execution(يُقبلbashكاسم مستعار لـexec)group:fs:read,write,edit,apply_patchللوكلاء المخصصين للقراءة فقط، احظرgroup:runtimeوكذلك أدوات نظام الملفات المعدّلة، ما لم تفرض سياسة نظام ملفات وضع الحماية أو حد مضيف منفصل قيد القراءة فقط.group:sessions:sessions_list,sessions_history,sessions_send,sessions_spawn,sessions_yield,subagents,session_statusgroup:memory:memory_search,memory_getgroup:web:web_search,x_search,web_fetchgroup:ui:browser,canvasgroup:automation:heartbeat_respond,cron,gatewaygroup:messaging:messagegroup:nodes:nodesgroup:agents:agents_list,update_plangroup:media:image,image_generate,music_generate,video_generate,ttsgroup:openclaw: كل أدوات OpenClaw المدمجة (يستثني Plugins الخاصة بالمزوّدين)
التصعيد: “التشغيل على المضيف” خاص بـ exec فقط
لا يمنح التصعيد أدوات إضافية؛ فهو يؤثر فقط في exec.
- إذا كنت داخل وضع الحماية، فإن
/elevated on(أوexecمعelevated: true) يعمل خارج وضع الحماية (قد تظل الموافقات منطبقة). - استخدم
/elevated fullلتجاوز موافقاتexecللجلسة. - إذا كنت تعمل مباشرة بالفعل، فالتصعيد عمليًا بلا أثر (لكنه يظل محكومًا بالبوابات).
- التصعيد ليس محدود النطاق بالمهارة ولا يتجاوز السماح/الحظر للأدوات.
- لا يمنح التصعيد تجاوزات عشوائية عبر المضيفين من
host=auto؛ بل يتبع قواعد هدفexecالعادية ولا يحافظ علىnodeإلا عندما يكون الهدف المهيأ/هدف الجلسة هوnodeبالفعل. /execمنفصل عن التصعيد. فهو يضبط فقط افتراضياتexecلكل جلسة للمرسلين المصرح لهم.
- التفعيل:
tools.elevated.enabled(واختياريًاagents.list[].tools.elevated.enabled) - قوائم سماح المرسلين:
tools.elevated.allowFrom.<provider>(واختياريًاagents.list[].tools.elevated.allowFrom.<provider>)
إصلاحات شائعة لـ “سجن وضع الحماية"
"الأداة X محظورة بواسطة سياسة أدوات وضع الحماية”
مفاتيح الإصلاح (اختر واحدًا):- عطّل وضع الحماية:
agents.defaults.sandbox.mode=off(أو لكل وكيلagents.list[].sandbox.mode=off) - اسمح بالأداة داخل وضع الحماية:
- أزلها من
tools.sandbox.tools.deny(أو لكل وكيلagents.list[].tools.sandbox.tools.deny) - أو أضفها إلى
tools.sandbox.tools.allow(أو السماح لكل وكيل)
- أزلها من
“ظننت أن هذه رئيسية، فلماذا هي داخل وضع الحماية؟”
في وضع"non-main"، مفاتيح المجموعة/القناة ليست رئيسية. استخدم مفتاح الجلسة الرئيسية (الذي يعرضه sandbox explain) أو بدّل الوضع إلى "off".
ذات صلة
- وضع الحماية — مرجع وضع الحماية الكامل (الأوضاع، النطاقات، الخلفيات، الصور)
- وضع الحماية والأدوات متعددة الوكلاء — التجاوزات لكل وكيل والأسبقية
- وضع التصعيد