CLI commands
الأسرار
openclaw secrets
استخدم openclaw secrets لإدارة SecretRefs والحفاظ على سلامة لقطة وقت التشغيل النشطة.
أدوار الأوامر:
reload: استدعاء Gateway RPC (secrets.reload) يعيد حل المراجع ويبدّل لقطة وقت التشغيل فقط عند النجاح الكامل (من دون كتابة إلى الإعدادات).audit: فحص للقراءة فقط لإعدادات التخزين/المصادقة/النماذج المولدة والبقايا القديمة بحثًا عن النصوص الصريحة، والمراجع غير المحلولة، وانحراف الأولوية (يتم تخطي مراجع exec ما لم يتم ضبط--allow-exec).configure: مخطط تفاعلي لإعداد provider، وربط الأهداف، والتحقق المسبق (يتطلب TTY).apply: تنفيذ خطة محفوظة (--dry-runللتحقق فقط؛ يتخطى التنفيذ التجريبي فحوصات exec افتراضيًا، ويرفض وضع الكتابة الخطط التي تحتوي على exec ما لم يتم ضبط--allow-exec)، ثم تنظيف بقايا النصوص الصريحة المستهدفة.
حلقة التشغيل الموصى بها للمشغّل:
openclaw secrets audit --check
openclaw secrets configure
openclaw secrets apply --from /tmp/openclaw-secrets-plan.json --dry-run
openclaw secrets apply --from /tmp/openclaw-secrets-plan.json
openclaw secrets audit --check
openclaw secrets reload
إذا كانت خطتك تتضمن SecretRefs/providers من نوع exec، فمرّر --allow-exec في كل من أوامر التطبيق التجريبي وأوامر التطبيق الكتابي.
ملاحظة حول رموز الخروج لـ CI/البوابات:
- يعيد
audit --checkالقيمة1عند وجود نتائج. - تعيد المراجع غير المحلولة القيمة
2.
ذو صلة:
- دليل الأسرار: إدارة الأسرار
- سطح بيانات الاعتماد: سطح بيانات اعتماد SecretRef
- دليل الأمان: الأمان
إعادة تحميل لقطة وقت التشغيل
أعِد حل مراجع الأسرار وبدّل لقطة وقت التشغيل ذرّيًا.
openclaw secrets reload
openclaw secrets reload --json
openclaw secrets reload --url ws://127.0.0.1:18789 --token <token>
ملاحظات:
- يستخدم طريقة Gateway RPC
secrets.reload. - إذا فشل الحلّ، يحتفظ gateway بآخر لقطة سليمة معروفة ويعيد خطأً (من دون تفعيل جزئي).
- تتضمن استجابة JSON الحقل
warningCount.
الخيارات:
--url <url>--token <token>--timeout <ms>--json
التدقيق
افحص حالة OpenClaw بحثًا عن:
- تخزين أسرار بنص صريح
- مراجع غير محلولة
- انحراف الأولوية (حيث تطغى بيانات اعتماد
auth-profiles.jsonعلى مراجعopenclaw.json) - بقايا مولّدة في
agents/*/agent/models.json(قيمapiKeyالخاصة بالـ provider ورؤوس provider الحساسة) - بقايا قديمة (إدخالات مخزن المصادقة القديم، وتذكيرات OAuth)
ملاحظة بقايا الرؤوس:
- يعتمد اكتشاف رؤوس provider الحساسة على استدلال قائم على الأسماء (أسماء ومقاطع رؤوس المصادقة/بيانات الاعتماد الشائعة مثل
authorizationوx-api-keyوtokenوsecretوpasswordوcredential).
openclaw secrets audit
openclaw secrets audit --check
openclaw secrets audit --json
openclaw secrets audit --allow-exec
سلوك الخروج:
- يؤدي
--checkإلى الخروج بقيمة غير صفرية عند وجود نتائج. - تخرج المراجع غير المحلولة برمز غير صفري ذي أولوية أعلى.
أبرز بنية التقرير:
status: clean | findings | unresolvedresolution: refsCheckedوskippedExecRefsوresolvabilityCompletesummary: plaintextCountوunresolvedRefCountوshadowedRefCountوlegacyResidueCount- رموز النتائج:
PLAINTEXT_FOUNDREF_UNRESOLVEDREF_SHADOWEDLEGACY_RESIDUE
التهيئة (مساعد تفاعلي)
أنشئ تغييرات provider وSecretRef بشكل تفاعلي، وشغّل التحقق المسبق، ثم طبّق اختياريًا:
openclaw secrets configure
openclaw secrets configure --plan-out /tmp/openclaw-secrets-plan.json
openclaw secrets configure --apply --yes
openclaw secrets configure --providers-only
openclaw secrets configure --skip-provider-setup
openclaw secrets configure --agent ops
openclaw secrets configure --json
التدفق:
- إعداد provider أولًا (
add/edit/removeلأسماءsecrets.providersالمستعارة). - ربط بيانات الاعتماد ثانيًا (حدد الحقول وعيّن مراجع
{source, provider, id}). - التحقق المسبق والتطبيق الاختياري أخيرًا.
العلامات:
--providers-only: هيّئsecrets.providersفقط، وتخطَّ ربط بيانات الاعتماد.--skip-provider-setup: تخطَّ إعداد provider واربط بيانات الاعتماد بـ providers الموجودة.--agent <id>: قصر اكتشاف الأهداف والكتابة فيauth-profiles.jsonعلى مخزن وكيل واحد.--allow-exec: السماح بفحوصات SecretRef من نوع exec أثناء التحقق المسبق/التطبيق (قد يؤدي إلى تنفيذ أوامر provider).
ملاحظات:
- يتطلب TTY تفاعليًا.
- لا يمكنك الجمع بين
--providers-onlyو--skip-provider-setup. - يستهدف
configureالحقول الحاملة للأسرار فيopenclaw.jsonبالإضافة إلىauth-profiles.jsonضمن نطاق الوكيل المحدد. - يدعم
configureإنشاء عمليات ربط جديدة فيauth-profiles.jsonمباشرةً داخل تدفق الاختيار. - السطح المدعوم الرسمي: سطح بيانات اعتماد SecretRef.
- ينفّذ حلّ التحقق المسبق قبل التطبيق.
- إذا تضمن التحقق المسبق/التطبيق مراجع exec، فأبقِ
--allow-execمضبوطًا لكلا الخطوتين. - تستخدم الخطط المولّدة افتراضيًا خيارات التنظيف (
scrubEnvوscrubAuthProfilesForProviderTargetsوscrubLegacyAuthJsonكلها مفعّلة). - يكون مسار التطبيق أحادي الاتجاه بالنسبة إلى قيم النص الصريح التي تم تنظيفها.
- من دون
--apply، لا يزال CLI يطلبApply this plan now?بعد التحقق المسبق. - مع
--apply(ومن دون--yes)، يعرض CLI مطالبة تأكيد إضافية لا رجعة فيها. - يطبع
--jsonالخطة + تقرير التحقق المسبق، لكن الأمر لا يزال يتطلب TTY تفاعليًا.
ملاحظة أمان provider من نوع exec:
- كثيرًا ما تكشف تثبيتات Homebrew ملفات تنفيذية مرتبطة رمزيًا تحت
/opt/homebrew/bin/*. - اضبط
allowSymlinkCommand: trueفقط عند الحاجة لمسارات مدير حزم موثوقة، واقرن ذلك معtrustedDirs(على سبيل المثال["/opt/homebrew"]). - في Windows، إذا لم يكن التحقق من ACL متاحًا لمسار provider، فإن OpenClaw يفشل في وضع مغلق. وبالنسبة إلى المسارات الموثوقة فقط، اضبط
allowInsecurePath: trueعلى ذلك provider لتجاوز فحوصات أمان المسار.
تطبيق خطة محفوظة
طبّق أو تحقّق مسبقًا من خطة تم إنشاؤها سابقًا:
openclaw secrets apply --from /tmp/openclaw-secrets-plan.json
openclaw secrets apply --from /tmp/openclaw-secrets-plan.json --allow-exec
openclaw secrets apply --from /tmp/openclaw-secrets-plan.json --dry-run
openclaw secrets apply --from /tmp/openclaw-secrets-plan.json --dry-run --allow-exec
openclaw secrets apply --from /tmp/openclaw-secrets-plan.json --json
سلوك exec:
- يقوم
--dry-runبالتحقق من التحقق المسبق من دون كتابة ملفات. - تُتخطى فحوصات SecretRef من نوع exec افتراضيًا في التنفيذ التجريبي.
- يرفض وضع الكتابة الخطط التي تحتوي على SecretRefs/providers من نوع exec ما لم يتم ضبط
--allow-exec. - استخدم
--allow-execللاشتراك في فحوصات/تنفيذ provider من نوع exec في أي من الوضعين.
تفاصيل عقد الخطة (مسارات الأهداف المسموح بها، وقواعد التحقق، ودلالات الفشل):
ما الذي قد يحدّثه apply:
openclaw.json(أهداف SecretRef + عمليات upserts/deletes للـ provider)auth-profiles.json(تنظيف أهداف provider)- بقايا
auth.jsonالقديمة - مفاتيح الأسرار المعروفة في
~/.openclaw/.envالتي تم ترحيل قيمها
لماذا لا توجد نسخ احتياطية للتراجع
يتعمد secrets apply عدم كتابة نسخ احتياطية للتراجع تحتوي على قيم النص الصريح القديمة.
تأتي السلامة من التحقق المسبق الصارم + التطبيق شبه الذري مع استعادة داخل الذاكرة بأفضل جهد عند الفشل.
مثال
openclaw secrets audit --check
openclaw secrets configure
openclaw secrets audit --check
إذا كان audit --check لا يزال يبلغ عن نتائج نص صريح، فحدّث مسارات الأهداف المتبقية المُبلَّغ عنها وأعد تشغيل التدقيق.