openclaw approvals
إدارة موافقات التنفيذ للمضيف المحلي أو مضيف Gateway أو مضيف Node. عند عدم تحديد علامة هدف، تقرأ الأوامر ملف الموافقات المحلي على القرص أو تكتب فيه. استخدم --gateway لاستهداف Gateway، أو --node <id|name|ip> لاستهداف Node محدد.
الاسم البديل: openclaw exec-approvals
ذو صلة: موافقات التنفيذ، العُقد
openclaw exec-policy
الأمر openclaw exec-policy هو أمر ملائم محلي فقط يُبقي إعدادات tools.exec.* المطلوبة وملف موافقات المضيف المحلي متزامنين في خطوة واحدة:
yolo وcautious وdeny-all) القيم host وsecurity وask وaskFallback معًا. أما set فيطبّق العلامات التي تمررها فقط؛ ويُتحقق من صحة كل قيمة مقبولة (--host auto|sandbox|gateway|node و--security deny|allowlist|full و--ask off|on-miss|always و--ask-fallback deny|allowlist|full).
النطاق:
- يحدّث ملف الإعدادات المحلي وملف الموافقات المحلي معًا؛ ولا يدفع السياسة إلى Gateway أو مضيف Node.
- تُرفض القيمة
--host node: تُجلب موافقات تنفيذ Node من Node في وقت التشغيل، ولذلك لا يستطيعexec-policyالمحلي مزامنتها. استخدم بدلًا منهopenclaw approvals set --node <id|name|ip>. - يضع
exec-policy showعلامة على نطاقاتhost=nodeبأنها مُدارة بواسطة Node في وقت التشغيل بدلًا من اشتقاق سياسة فعّالة من ملف الموافقات المحلي.
openclaw approvals set --gateway أو openclaw approvals set --node <id|name|ip>.
الأوامر الشائعة
get سياسة التنفيذ الفعّالة للهدف: سياسة tools.exec المطلوبة، وسياسة ملف موافقات المضيف، والنتيجة الفعّالة المدمجة. تعرض العُقد ذات السياسة الأصلية للمضيف، مثل التطبيق المرافق لنظام Windows، تلك السياسة مباشرةً بدلًا من تطبيق حسابات سياسة ملف موافقات OpenClaw.
بالنسبة إلى العُقد المستندة إلى ملف، يتطلب العرض المدمج لقطة للسياسة جرى حلّها على المضيف. تعرض العُقد الأقدم السياسة الفعّالة على أنها غير متاحة بدلًا من افتراض أن سياسة Gateway المطلوبة تنطبق أيضًا على المضيف.
لا تُضمّن تجاوزات
/exec الخاصة بكل جلسة. شغّل /exec في الجلسة المعنية لفحص قيمها الافتراضية الحالية.- ملف موافقات المضيف هو مصدر الحقيقة القابل للإنفاذ.
- يمكن لسياسة
tools.execالمطلوبة تضييق المقصود أو توسيعه، لكن النتيجة الفعّالة تُشتق من قواعد المضيف. - يجمع
--nodeبين ملف موافقات مضيف Node وسياسةtools.execفي Gateway (يُطبّق كلاهما في وقت التشغيل). - إذا لم تكن إعدادات Gateway متاحة، يعود CLI إلى لقطة موافقات Node ويشير إلى تعذّر حساب سياسة وقت التشغيل النهائية.
استبدال الموافقات من ملف
set تنسيق JSON5، وليس JSON الصارم فقط. استخدم إما --file أو --stdin، وليس كليهما.
تستخدم عُقد Windows الأصلية للمضيف بنية السياسة الخاصة بها:
rules مطلوب لأن هذه العملية تستبدل قائمة قواعد Node الكاملة؛ أما defaultAction فهو اختياري. لا يمكن إعداد Node يبلّغ عن تعطيل سياسته الأصلية عن بُعد؛ فعّل السياسة أو أعدّها على ذلك المضيف أولًا. لا تدعم السياسات الأصلية للمضيف مساعدات allowlist add|remove.
مثال «عدم المطالبة مطلقًا» / YOLO
اضبط القيم الافتراضية لموافقات المضيف علىfull وoff لمضيف يجب ألا يتوقف مطلقًا عند موافقات التنفيذ:
openclaw approvals set --node <id|name|ip> --stdin. تتطلب العُقد الأصلية للمضيف البنية الخاصة بمالكها والموضحة أعلاه.
يغيّر هذا ملف موافقات المضيف فقط. ولإبقاء سياسة OpenClaw المطلوبة متوافقة، اضبط أيضًا:
tools.exec.host=gateway صريحة هنا لأن host=auto لا تزال تعني «بيئة العزل عند توفرها، وإلا Gateway»: يتعلق YOLO بالموافقات، لا بالتوجيه. استخدم gateway (أو /exec host=gateway) عندما تريد التنفيذ على المضيف حتى مع إعداد بيئة عزل.
القيمة الافتراضية للحقل askFallback عند حذفه هي deny. اضبط askFallback: "full" صراحةً عند ترقية مضيف بلا واجهة مستخدم يجب أن يحافظ على سلوك عدم المطالبة مطلقًا.
اختصار محلي للغرض نفسه، على الجهاز المحلي فقط:
مساعدات قائمة السماح
الخيارات الشائعة
تدعمget وset وallowlist add|remove جميعها ما يلي:
--node <id|name|ip>(يحل المعرّف أو الاسم أو عنوان IP أو بادئة المعرّف؛ وهو المحلل نفسه المستخدم فيopenclaw nodes)--gateway- خيارات RPC المشتركة لـ Node:
--urlو--tokenو--timeoutو--json
allowlist add|remove أيضًا الخيار --agent <id> (قيمته الافتراضية "*"، ما يجعله ينطبق على جميع الوكلاء).
ملاحظات
- يجب أن يعلن مضيف Node عن
system.execApprovals.get/set(تطبيق macOS أو مضيف Node بلا واجهة رسومية أو التطبيق المرافق لنظام Windows). - تُخزّن ملفات الموافقات لكل مضيف في دليل حالة OpenClaw:
$OPENCLAW_STATE_DIR/exec-approvals.json، أو~/.openclaw/exec-approvals.jsonعندما لا يكون المتغير مضبوطًا.