Skip to main content

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 الأصلية للمضيف بنية السياسة الخاصة بها:
يقرأ CLI أولًا التجزئة الحالية لـ Node ويرسلها مع التحديث، بحيث تُرفض التعديلات المحلية المتزامنة بدلًا من استبدالها. الحقل rules مطلوب لأن هذه العملية تستبدل قائمة قواعد Node الكاملة؛ أما defaultAction فهو اختياري. لا يمكن إعداد Node يبلّغ عن تعطيل سياسته الأصلية عن بُعد؛ فعّل السياسة أو أعدّها على ذلك المضيف أولًا. لا تدعم السياسات الأصلية للمضيف مساعدات allowlist add|remove.

مثال «عدم المطالبة مطلقًا» / YOLO

اضبط القيم الافتراضية لموافقات المضيف على full وoff لمضيف يجب ألا يتوقف مطلقًا عند موافقات التنفيذ:
بالنسبة إلى العُقد التي تكشف ملف موافقات OpenClaw، استخدم المحتوى نفسه مع 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 عندما لا يكون المتغير مضبوطًا.

ذو صلة