CLI commands
الموافقات
openclaw approvals
إدارة موافقات التنفيذ للمضيف المحلي، أو مضيف Gateway، أو مضيف Node.
افتراضيًا، تستهدف الأوامر ملف الموافقات المحلي على القرص. استخدم --gateway لاستهداف Gateway، أو --node لاستهداف Node محدد.
الاسم المستعار: openclaw exec-approvals
ذات صلة:
- موافقات التنفيذ: موافقات التنفيذ
- Nodes: Nodes
openclaw exec-policy
openclaw exec-policy هو أمر الملاءمة المحلي لإبقاء إعدادات
tools.exec.* المطلوبة وملف موافقات المضيف المحلي متطابقين في خطوة واحدة.
استخدمه عندما تريد:
- فحص السياسة المحلية المطلوبة، وملف موافقات المضيف، والدمج الفعلي
- تطبيق إعداد محلي مسبق مثل YOLO أو رفض الكل
- مزامنة
tools.exec.*المحلي وملف موافقات المضيف المحلي
أمثلة:
openclaw exec-policy showopenclaw exec-policy show --json openclaw exec-policy preset yoloopenclaw exec-policy preset cautious --json openclaw exec-policy set --host gateway --security full --ask off --ask-fallback fullأوضاع الإخراج:
- بدون
--json: يطبع عرض الجدول القابل للقراءة البشرية --json: يطبع مخرجات منظمة قابلة للقراءة آليًا
النطاق الحالي:
exec-policyمحلي فقط- يحدّث ملف الإعداد المحلي وملف الموافقات المحلي معًا
- لا يدفع السياسة إلى مضيف Gateway أو مضيف Node
- يتم رفض
--host nodeفي هذا الأمر لأن موافقات التنفيذ على Node تُجلب من Node في وقت التشغيل ويجب إدارتها عبر أوامر الموافقات الموجهة إلى Node بدلًا من ذلك - يضع
openclaw exec-policy showعلامة على نطاقاتhost=nodeبأنها مُدارة بواسطة Node في وقت التشغيل بدلًا من اشتقاق سياسة فعالة من ملف الموافقات المحلي
إذا كنت بحاجة إلى تحرير موافقات المضيف البعيد مباشرةً، فاستمر في استخدام openclaw approvals set --gateway
أو openclaw approvals set --node <id|name|ip>.
الأوامر الشائعة
openclaw approvals getopenclaw approvals get --node <id|name|ip>openclaw approvals get --gatewayيعرض openclaw approvals get الآن سياسة التنفيذ الفعلية للأهداف المحلية، وGateway، وNode:
- سياسة
tools.execالمطلوبة - سياسة ملف موافقات المضيف
- النتيجة الفعلية بعد تطبيق قواعد الأولوية
الأولوية مقصودة:
- ملف موافقات المضيف هو مصدر الحقيقة القابل للإنفاذ
- يمكن لسياسة
tools.execالمطلوبة تضييق النية أو توسيعها، لكن النتيجة الفعلية لا تزال مشتقة من قواعد المضيف - يجمع
--nodeملف موافقات مضيف Node مع سياسةtools.execالخاصة بـ Gateway، لأن كليهما لا يزال ينطبق في وقت التشغيل - إذا كانت إعدادات Gateway غير متاحة، يعود CLI إلى لقطة موافقات Node ويشير إلى تعذّر حساب سياسة وقت التشغيل النهائية
استبدال الموافقات من ملف
openclaw approvals set --file ./exec-approvals.jsonopenclaw approvals set --stdin <<'EOF'{ version: 1, defaults: { security: "full", ask: "off", askFallback: "full" } }EOFopenclaw approvals set --node <id|name|ip> --file ./exec-approvals.jsonopenclaw approvals set --gateway --file ./exec-approvals.jsonيقبل set صيغة JSON5، وليس JSON الصارم فقط. استخدم إما --file أو --stdin، وليس كليهما.
مثال "عدم المطالبة مطلقًا" / YOLO
بالنسبة إلى مضيف لا ينبغي أن يتوقف أبدًا عند موافقات التنفيذ، عيّن افتراضيات موافقات المضيف إلى full + off:
openclaw approvals set --stdin <<'EOF'{ version: 1, defaults: { security: "full", ask: "off", askFallback: "full" }}EOFصيغة Node:
openclaw approvals set --node <id|name|ip> --stdin <<'EOF'{ version: 1, defaults: { security: "full", ask: "off", askFallback: "full" }}EOFيغيّر هذا ملف موافقات المضيف فقط. لإبقاء سياسة OpenClaw المطلوبة متطابقة، عيّن أيضًا:
openclaw config set tools.exec.host gatewayopenclaw config set tools.exec.security fullopenclaw config set tools.exec.ask offلماذا tools.exec.host=gateway في هذا المثال:
- لا يزال
host=autoيعني "استخدام sandbox عند توفره، وإلا Gateway". - YOLO يتعلق بالموافقات، وليس بالتوجيه.
- إذا كنت تريد تنفيذ المضيف حتى عند إعداد sandbox، فاجعل اختيار المضيف صريحًا باستخدام
gatewayأو/exec host=gateway.
القيمة الافتراضية لـ askFallback عند حذفها هي deny. عيّن askFallback: "full"
صراحةً عند ترقية مضيف بلا واجهة مستخدم يجب أن يحافظ على سلوك عدم المطالبة مطلقًا.
اختصار محلي:
openclaw exec-policy preset yoloيحدّث ذلك الاختصار المحلي كلًا من إعدادات tools.exec.* المحلية المطلوبة
وافتراضيات الموافقات المحلية معًا. وهو مكافئ من حيث المقصود للإعداد اليدوي ذي الخطوتين
أعلاه، لكن للجهاز المحلي فقط.
مساعدات قائمة السماح
openclaw approvals allowlist add "~/Projects/**/bin/rg"openclaw approvals allowlist add --agent main --node <id|name|ip> "/usr/bin/uptime"openclaw approvals allowlist add --agent "*" "/usr/bin/uname" openclaw approvals allowlist remove "~/Projects/**/bin/rg"الخيارات الشائعة
يدعم كل من get، وset، وallowlist add|remove ما يلي:
--node <id|name|ip>--gateway- خيارات RPC المشتركة لـ Node:
--url،--token،--timeout،--json
ملاحظات الاستهداف:
- عدم وجود أعلام هدف يعني ملف الموافقات المحلي على القرص
- يستهدف
--gatewayملف موافقات مضيف Gateway - يستهدف
--nodeمضيف Node واحدًا بعد حل المعرّف، أو الاسم، أو عنوان IP، أو بادئة المعرّف
يدعم allowlist add|remove أيضًا:
--agent <id>(القيمة الافتراضية هي*)
ملاحظات
- يستخدم
--nodeالمحلل نفسه الذي يستخدمهopenclaw nodes(المعرّف، أو الاسم، أو ip، أو بادئة المعرّف). - القيمة الافتراضية لـ
--agentهي"*"، ما ينطبق على جميع الوكلاء. - يجب أن يعلن مضيف Node عن
system.execApprovals.get/set(تطبيق macOS أو مضيف Node بلا واجهة). - تُخزَّن ملفات الموافقات لكل مضيف في دليل حالة OpenClaw
(
$OPENCLAW_STATE_DIR/exec-approvals.json، أو~/.openclaw/exec-approvals.jsonعندما لا يكون المتغير مضبوطًا).