openclaw secrets apply. إذا لم يطابق هدفٌ ما هذه القواعد، تفشل عملية التطبيق قبل تعديل أي ملف.
بنية ملف الخطة
يتوقعopenclaw secrets apply --from <plan.json> مصفوفة targets من أهداف الخطة:
openclaw secrets configure الخطط بهذه البنية. ويمكنك أيضًا كتابة خطة أو تعديلها يدويًا.
إدراج المزوّدين أو تحديثهم وحذفهم
قد تتضمن الخطط أيضًا حقلين اختياريين في المستوى الأعلى يعدّلان خريطةsecrets.providers إلى جانب عمليات الكتابة الخاصة بكل هدف:
providerUpserts— كائن مفهرس بالاسم البديل للمزوّد. كل قيمة هي تعريف لمزوّد (بالبنية نفسها المقبولة ضمنsecrets.providers.<alias>فيopenclaw.json، مثل مزوّدexecأوfile).providerDeletes— مصفوفة من الأسماء البديلة للمزوّدين المراد إزالتها.
providerUpserts قبل targets، لذا يمكن أن يشير target.ref.provider إلى اسم بديل لمزوّد تضيفه الخطة نفسها في providerUpserts. من دون هذا الترتيب، تفشل الخطط التي تشير إلى اسم بديل لم يُضبط بعد في openclaw.json بالخطأ provider "<alias>" is not configured.
providerUpserts خاضعة لقواعد الموافقة على Exec الواردة في سلوك الموافقة على مزوّد Exec: تتطلب الخطط التي تحتوي على مزوّدات Exec الخيار --allow-exec في وضع الكتابة.
نطاق الأهداف المدعوم
تُقبل أهداف الخطة لمسارات بيانات الاعتماد المدعومة في نطاق بيانات اعتماد SecretRef.سلوك نوع الهدف
يجب أن يكونtarget.type نوع هدف معروفًا، ويجب أن يطابق target.path بعد تسويته بنية المسار المسجلة لذلك النوع.
تقبل بعض أنواع الأهداف اسمًا بديلًا للتوافق في target.type للخطط الحالية، بالإضافة إلى اسم النوع الأساسي:
قواعد التحقق من صحة المسار
يُتحقق من كل هدف وفق جميع القواعد الآتية:- يجب أن يكون
typeنوع هدف معروفًا. - يجب أن يكون
pathمسارًا نقطيًا غير فارغ. - يمكن حذف
pathSegments. وإذا قُدّم، فيجب أن ينتج بعد التسوية المسار نفسه تمامًا الذي ينتجهpath. - تُرفض المقاطع المحظورة:
__proto__وprototypeوconstructor. - يجب أن يطابق المسار بعد التسوية بنية المسار المسجلة لنوع الهدف.
- إذا ضُبط
providerIdأوaccountId، فيجب أن يطابق المعرّف المضمّن في المسار. - تتطلب أهداف
auth-profiles.jsonوجودagentId. - عند إنشاء تعيين جديد في
auth-profiles.json، ضمّنauthProfileProvider.
سلوك الفشل
إذا فشل التحقق من صحة هدف، تنتهي عملية التطبيق بخطأ مثل:سلوك الموافقة على مزوّد Exec
- يتخطى
--dry-runعمليات التحقق من مراجع الأسرار SecretRef من نوع Exec افتراضيًا. - تُرفض الخطط التي تحتوي على مراجع أسرار SecretRef أو مزوّدات من نوع Exec في وضع الكتابة ما لم يُضبط
--allow-exec. - عند التحقق من الخطط التي تحتوي على Exec أو تطبيقها، مرّر
--allow-execفي أوامر التشغيل التجريبي والكتابة معًا.
ملاحظات حول نطاق وقت التشغيل والتدقيق
- تُضمَّن إدخالات
auth-profiles.jsonالتي تحتوي على مراجع فقط (keyRef/tokenRef) في حل بيانات الاعتماد في وقت التشغيل وفي تغطية التدقيق. - يكتب
secrets applyأهدافopenclaw.jsonالمدعومة وأهدافauth-profiles.jsonالمدعومة، وينفّذ ثلاث عمليات تنظيف اختيارية مفعّلة افتراضيًا:scrubEnv(تزيل قيم النص الصريح التي رُحّلت من.env)، وscrubAuthProfilesForProviderTargets(تمحو بقايا النص الصريح أو المراجع غير المستخدمة فيauth-profiles.jsonللمزوّدين الذين رحّلتهم الخطة للتو)، وscrubLegacyAuthJson(تحذف إدخالاتapi_keyالمُرحّلة من مخازنauth.jsonالقديمة). اضبط أيًا منoptions.scrubEnvأوoptions.scrubAuthProfilesForProviderTargetsأوoptions.scrubLegacyAuthJsonعلىfalseفي الخطة لتخطي تلك العملية.
فحوصات المشغّل
openclaw secrets configure أو صحّح مسار الهدف ليتوافق مع إحدى البنى المدعومة أعلاه.