CLI commands
الموافقات
openclaw approvals
إدارة موافقات exec الخاصة بـ المضيف المحلي أو مضيف Gateway أو مضيف Node.
افتراضيًا، تستهدف الأوامر ملف الموافقات المحلي على القرص. استخدم --gateway للاستهداف على Gateway، أو --node لاستهداف Node معيّن.
الاسم البديل: openclaw exec-approvals
ذو صلة:
- موافقات exec: موافقات exec
- Nodes: Nodes
openclaw exec-policy
openclaw exec-policy هو أمر الراحة المحلي للحفاظ على توافق
تهيئة tools.exec.* المطلوبة وملف الموافقات الخاص بالمضيف المحلي في خطوة واحدة.
استخدمه عندما تريد:
- فحص السياسة المحلية المطلوبة، وملف موافقات المضيف، والدمج الفعّال
- تطبيق إعداد محلي مسبق مثل YOLO أو deny-all
- مزامنة
tools.exec.*المحلي و~/.openclaw/exec-approvals.jsonالمحلي
أمثلة:
openclaw exec-policy show
openclaw exec-policy show --json
openclaw exec-policy preset yolo
openclaw 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في هذا الأمر لأن موافقات exec الخاصة بـ Node تُجلَب من Node وقت التشغيل ويجب إدارتها عبر أوامر الموافقات الموجهة إلى Node بدلًا من ذلك - يعلّم
openclaw exec-policy showنطاقاتhost=nodeعلى أنها مُدارة من Node وقت التشغيل بدلًا من اشتقاق سياسة فعّالة من ملف الموافقات المحلي
إذا كنت بحاجة إلى تعديل موافقات مضيفات بعيدة مباشرةً، فاستمر في استخدام openclaw approvals set --gateway
أو openclaw approvals set --node <id|name|ip>.
أوامر شائعة
openclaw approvals get
openclaw approvals get --node <id|name|ip>
openclaw approvals get --gateway
يعرض openclaw approvals get الآن سياسة exec الفعّالة للأهداف المحلية وأهداف Gateway وNode:
- سياسة
tools.execالمطلوبة - سياسة ملف موافقات المضيف
- النتيجة الفعّالة بعد تطبيق قواعد الأسبقية
الأسبقية مقصودة:
- ملف موافقات المضيف هو مصدر الحقيقة القابل للإنفاذ
- يمكن لسياسة
tools.execالمطلوبة أن تضيق النية أو توسعها، لكن النتيجة الفعّالة تظل مشتقة من قواعد المضيف - يجمع
--nodeبين ملف موافقات مضيف Node وسياسةtools.execالخاصة بـ Gateway، لأن كلاهما لا يزال يُطبَّق وقت التشغيل - إذا لم تكن تهيئة Gateway متاحة، يعود CLI إلى لقطة موافقات Node ويشير إلى أنه لم يمكن حساب سياسة وقت التشغيل النهائية
استبدال الموافقات من ملف
openclaw approvals set --file ./exec-approvals.json
openclaw approvals set --stdin <<'EOF'
{ version: 1, defaults: { security: "full", ask: "off" } }
EOF
openclaw approvals set --node <id|name|ip> --file ./exec-approvals.json
openclaw approvals set --gateway --file ./exec-approvals.json
يقبل set تنسيق JSON5، وليس JSON الصارم فقط. استخدم إما --file أو --stdin، وليس كليهما.
مثال "عدم السؤال مطلقًا" / YOLO
بالنسبة إلى مضيف يجب ألا يتوقف أبدًا عند موافقات exec، اضبط القيم الافتراضية لموافقات المضيف إلى 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 gateway
openclaw config set tools.exec.security full
openclaw config set tools.exec.ask off
لماذا tools.exec.host=gateway في هذا المثال:
- ما زال
host=autoيعني "sandbox عند توفره، وإلا فـ Gateway". - يتعلق YOLO بالموافقات، وليس بالتوجيه.
- إذا كنت تريد exec على المضيف حتى عند تهيئة sandbox، فاجعل اختيار المضيف صريحًا باستخدام
gatewayأو/exec host=gateway.
وهذا يطابق سلوك YOLO الحالي الافتراضي للمضيف. شدّده إذا كنت تريد موافقات.
اختصار محلي:
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 واحدًا بعد resolve المعرّف أو الاسم أو IP أو بادئة المعرّف
كما يدعم allowlist add|remove أيضًا:
--agent <id>(الافتراضي*)
ملاحظات
- يستخدم
--nodeنفس المحلِّل الذي يستخدمهopenclaw nodes(المعرّف أو الاسم أو ip أو بادئة المعرّف). - القيمة الافتراضية لـ
--agentهي"*", وهذا ينطبق على جميع الوكلاء. - يجب أن يعلن مضيف Node عن
system.execApprovals.get/set(تطبيق macOS أو مضيف Node دون واجهة). - تُخزَّن ملفات الموافقات لكل مضيف في
~/.openclaw/exec-approvals.json.