openclaw migrate
استورد الحالة من نظام وكيل آخر عبر موفر ترحيل مملوك من Plugin. تغطي الموفرات المضمنة حالة Codex CLI وClaude وHermes؛ ويمكن لـ plugins الجهات الخارجية تسجيل موفرات إضافية.
الأوامر
اسم موفر ترحيل مسجل، مثل
hermes. شغّل openclaw migrate list لرؤية الموفرات المثبتة.أنشئ الخطة واخرج بدون تغيير الحالة.
تجاوز دليل حالة المصدر. يستخدم Hermes القيمة الافتراضية
~/.hermes.استورد بيانات الاعتماد المدعومة بدون طلب تأكيد. يطلب التطبيق التفاعلي التأكيد قبل استيراد بيانات اعتماد المصادقة المكتشفة، مع اختيار نعم افتراضيا؛ ويتطلب
--yes غير التفاعلي استخدام --include-secrets لاستيرادها.تخط استيراد بيانات اعتماد المصادقة، بما في ذلك المطالبة التفاعلية.
اسمح للتطبيق باستبدال الأهداف الموجودة عندما تبلغ الخطة عن تعارضات.
تخط مطالبة التأكيد. مطلوب في الوضع غير التفاعلي.
اختر عنصر نسخ مهارة واحدا باسم المهارة أو معرف العنصر. كرر العلامة لترحيل عدة Skills. عند حذفها، تعرض ترحيلات Codex التفاعلية محدد خانات اختيار، وتحتفظ الترحيلات غير التفاعلية بكل Skills المخطط لها.
اختر عنصر تثبيت Plugin واحدا في Codex باسم Plugin أو معرف العنصر. كرر العلامة لترحيل عدة plugins من Codex. عند حذفها، تعرض ترحيلات Codex التفاعلية محدد خانات اختيار أصليا لـ Plugin في Codex، وتحتفظ الترحيلات غير التفاعلية بكل plugins المخطط لها. ينطبق هذا فقط على plugins Codex المثبتة من المصدر من نوع
openai-curated التي يكتشفها مخزون خادم تطبيقات Codex.لـ Codex فقط. افرض اجتيازا جديدا من خادم تطبيقات Codex المصدر عبر
app/list قبل التخطيط لتفعيل Plugin الأصلي. متوقف افتراضيا لإبقاء تخطيط الترحيل سريعا.تخط النسخة الاحتياطية السابقة للتطبيق. يتطلب
--force عند وجود حالة OpenClaw محلية.مطلوب بجانب
--no-backup عندما كان التطبيق سيرفض بخلاف ذلك تخطي النسخة الاحتياطية.اطبع الخطة أو نتيجة التطبيق بصيغة JSON. مع
--json وبدون --yes، يطبع التطبيق الخطة ولا يغير الحالة.نموذج السلامة
openclaw migrate يبدأ بالمعاينة.
المعاينة قبل التطبيق
المعاينة قبل التطبيق
يعيد الموفر خطة مفصلة بالعناصر قبل تغيير أي شيء، بما في ذلك التعارضات والعناصر المتخطاة والعناصر الحساسة. تحجب خطط JSON ومخرجات التطبيق وتقارير الترحيل المفاتيح المتداخلة التي تبدو سرية مثل مفاتيح API والرموز المميزة وترويسات التفويض وملفات تعريف الارتباط وكلمات المرور.يعاين
openclaw migrate apply <provider> الخطة ويطلب التأكيد قبل تغيير الحالة ما لم يتم تعيين --yes. في الوضع غير التفاعلي، يتطلب التطبيق --yes.النسخ الاحتياطية
النسخ الاحتياطية
ينشئ التطبيق نسخة احتياطية من OpenClaw ويتحقق منها قبل تطبيق الترحيل. إذا لم تكن هناك حالة OpenClaw محلية بعد، يتم تخطي خطوة النسخ الاحتياطي ويمكن أن يستمر الترحيل. لتخطي النسخة الاحتياطية عند وجود حالة، مرر كلا من
--no-backup و--force.التعارضات
التعارضات
يرفض التطبيق المتابعة عندما تحتوي الخطة على تعارضات. راجع الخطة، ثم أعد التشغيل مع
--overwrite إذا كان استبدال الأهداف الموجودة مقصودا. قد تظل الموفرات تكتب نسخا احتياطية على مستوى العنصر للملفات المستبدلة في دليل تقرير الترحيل.الأسرار
الأسرار
يسأل التطبيق التفاعلي ما إذا كان يجب استيراد بيانات اعتماد المصادقة المكتشفة، مع اختيار نعم افتراضيا. استخدم
--no-auth-credentials لتخطيها، أو استخدم --include-secrets لاستيراد بيانات الاعتماد دون حضور مع --yes.موفر Claude
يكتشف موفر Claude المضمن حالة Claude Code في~/.claude افتراضيا. استخدم --from <path> لاستيراد موطن Claude Code محدد أو جذر مشروع محدد.
ما يستورده Claude
CLAUDE.mdالخاص بالمشروع و.claude/CLAUDE.mdإلى مساحة عمل وكيل OpenClaw.- إلحاق
~/.claude/CLAUDE.mdالخاص بالمستخدم بملفUSER.mdفي مساحة العمل. - تعريفات خادم MCP من
.mcp.jsonالخاص بالمشروع و~/.claude.jsonالخاص بـ Claude Code وclaude_desktop_config.jsonالخاص بـ Claude Desktop. - أدلة Skills الخاصة بـ Claude التي تتضمن
SKILL.md. - تحويل ملفات Markdown لأوامر Claude إلى Skills في OpenClaw مع استدعاء يدوي فقط.
حالة الأرشفة والمراجعة اليدوية
يتم حفظ خطافات Claude والأذونات وافتراضات البيئة والذاكرة المحلية والقواعد المحددة بالمسار والوكلاء الفرعيين وذاكرات التخزين المؤقت والخطط وسجل المشروع في تقرير الترحيل أو الإبلاغ عنها كعناصر مراجعة يدوية. لا ينفذ OpenClaw الخطافات، ولا ينسخ قوائم السماح الواسعة، ولا يستورد حالة بيانات اعتماد OAuth/Desktop تلقائيا.موفر Codex
يكتشف موفر Codex المضمن حالة Codex CLI في~/.codex افتراضيا، أو
في CODEX_HOME عند تعيين متغير البيئة هذا. استخدم --from <path> لـ
جرد موطن Codex محدد.
استخدم هذا الموفر عند الانتقال إلى حزمة Codex في OpenClaw وعندما تريد
ترقية أصول Codex CLI الشخصية المفيدة بشكل متعمد. تستخدم عمليات تشغيل خادم تطبيقات Codex المحلي
CODEX_HOME خاصا بكل وكيل، لذلك لا تقرأ ~/.codex الشخصية
افتراضيا. لا يزال HOME العادي للعملية موروثا، لذلك يستطيع Codex
رؤية Skills المشتركة في $HOME/.agents/* وإدخالات سوق plugins، كما تستطيع
العمليات الفرعية العثور على إعدادات ورموز موطن المستخدم.
تشغيل openclaw migrate codex في طرفية تفاعلية يعاين
الخطة الكاملة، ثم يفتح محددات خانات اختيار قبل تأكيد التطبيق النهائي. تتم مطالبة
عناصر نسخ Skills أولا. استخدم Toggle all on أو Toggle all off للتحديد
الجماعي. اضغط Space لتبديل الصفوف، أو اضغط Enter لتفعيل الصف المميز
والمتابعة. تبدأ Skills المخطط لها محددة، وتبدأ Skills المتعارضة غير محددة، و
Skip for now يتخطى نسخ Skills لهذا التشغيل مع الاستمرار إلى تحديد Plugin.
عندما تكون plugins Codex المنسقة والمثبتة من المصدر قابلة للترحيل ولم يتم توفير
--plugin، يطلب الترحيل بعد ذلك تفعيل Plugin الأصلي في Codex
حسب اسم Plugin. تبدأ عناصر Plugin
محددة ما لم يكن إعداد Plugin Codex الهدف في OpenClaw يحتوي على ذلك
Plugin بالفعل. تبدأ plugins الهدف الموجودة غير محددة وتعرض تلميح تعارض مثل
conflict: plugin exists؛ اختر Toggle all off لعدم ترحيل أي plugins Codex
أصلية في ذلك التشغيل، أو Skip for now للتوقف قبل التطبيق. للتشغيلات النصية أو
الدقيقة، مرر --skill <name> مرة لكل مهارة، على سبيل المثال:
--plugin <name> لقصر ترحيل Plugin Codex الأصلي غير التفاعلي
على Plugin منسق واحد أو أكثر مثبت من المصدر:
ما يستورده Codex
- أدلة Skills الخاصة بـ Codex CLI ضمن
$CODEX_HOME/skills، باستثناء ذاكرة التخزين المؤقت.systemالخاصة بـ Codex. - AgentSkills الشخصية ضمن
$HOME/.agents/skills، منسوخة إلى مساحة عمل وكيل OpenClaw الحالية عندما تريد ملكية لكل وكيل. - plugins Codex من نوع
openai-curatedالمثبتة من المصدر والمكتشفة عبرplugin/listفي خادم تطبيقات Codex. يقرأ التخطيطplugin/readلكل Plugin مثبت وممكن. تتطلب plugins المدعومة بتطبيق أن تكون استجابة حساب خادم تطبيقات Codex المصدر حساب اشتراك ChatGPT؛ ويتم تخطي الاستجابات غير التابعة لـ ChatGPT أو المفقودة بسببcodex_subscription_required. افتراضيا، لا يستدعي الترحيلapp/listالمصدر، لذلك يتم تخطيط plugins المدعومة بتطبيق التي تجتاز بوابة الحساب بدون التحقق من إمكانية وصول تطبيقات المصدر، ويتم تخطي إخفاقات نقل البحث عن الحساب بسببcodex_account_unavailable. مرر--verify-plugin-appsعندما تريد أن يفرض الترحيل لقطةapp/listجديدة من المصدر وأن يتطلب وجود كل تطبيق مملوك وتمكينه وإمكانية الوصول إليه قبل التخطيط للتفعيل الأصلي. في ذلك الوضع، تمر إخفاقات نقل البحث عن الحساب إلى التحقق من مخزون تطبيقات المصدر. يتم الاحتفاظ بلقطة مخزون تطبيقات المصدر في الذاكرة للعملية الحالية؛ ولا تتم كتابتها إلى مخرجات الترحيل أو إعدادات الهدف. تصبح plugins المعطلة، وتفاصيل Plugin غير القابلة للقراءة، وحسابات المصدر المقيدة بالاشتراك، وعند طلب التحقق، التطبيقات المفقودة أو المعطلة أو غير القابلة للوصول أو إخفاقات مخزون تطبيقات المصدر عناصر يدوية متخطاة بأسباب مصنفة بدلا من إدخالات إعدادات الهدف. يستدعي التطبيقplugin/installفي خادم التطبيقات لكل Plugin مؤهل محدد، حتى إذا كان خادم التطبيقات الهدف يبلغ بالفعل أن ذلك Plugin مثبت وممكن. لا تكون plugins Codex المرحلة قابلة للاستخدام إلا في الجلسات التي تختار حزمة Codex الأصلية؛ ولا يتم عرضها لتشغيلات موفري OpenClaw، أو روابط محادثات ACP، أو الحزم الأخرى.
حالة Codex للمراجعة اليدوية
لا يتم تفعيلconfig.toml الخاص بـ Codex، وhooks/hooks.json الأصلي، والأسواق غير المنسقة، وحزم
Plugin المخزنة مؤقتا التي ليست plugins منسقة مثبتة من المصدر، وplugins المثبتة من المصدر
التي تفشل في بوابة اشتراك المصدر تلقائيا.
عند تعيين --verify-plugin-apps، يتم أيضا تخطي plugins التي تفشل في بوابة
مخزون تطبيقات المصدر. يتم نسخها أو الإبلاغ عنها في تقرير الترحيل لـ
المراجعة اليدوية.
بالنسبة إلى plugins المنسقة المثبتة من المصدر والمرحلة، يكتب التطبيق:
plugins.entries.codex.enabled: trueplugins.entries.codex.config.codexPlugins.enabled: trueplugins.entries.codex.config.codexPlugins.allow_destructive_actions: true- إدخال Plugin صريح واحد مع
marketplaceName: "openai-curated"وpluginNameلكل Plugin محدد
plugins["*"] ولا تخزّن مسارات ذاكرة التخزين المؤقت المحلية للمتجر. تُبلّغ إخفاقات الاشتراك في جانب المصدر على العناصر اليدوية مع أسباب مُنمّطة مثل codex_subscription_required أو codex_account_unavailable أو plugin_disabled أو plugin_read_unavailable. مع --verify-plugin-apps، يمكن أن تظهر إخفاقات جرد تطبيقات المصدر أيضًا كـ app_inaccessible أو app_disabled أو app_missing أو app_inventory_unavailable. لا تُكتب Plugins المتخطاة في إعدادات الهدف.
تُبلّغ عمليات التثبيت التي تتطلب مصادقة في جانب الهدف على عنصر Plugin المتأثر مع status: "skipped" وreason: "auth_required" ومعرّفات تطبيقات منقّحة. تُكتب إدخالات الإعدادات الصريحة الخاصة بها معطّلة إلى أن تعيد التفويض وتمكّنها. أما إخفاقات التثبيت الأخرى فهي نتائج error على مستوى العنصر.
إذا لم يكن جرد Plugin خادم تطبيقات Codex متاحًا أثناء التخطيط، تعود الهجرة إلى عناصر إرشادية مخزّنة مؤقتًا من الحزمة بدلًا من إفشال الهجرة كلها.
موفّر Hermes
يكتشف موفّر Hermes المضمّن الحالة في~/.hermes افتراضيًا. استخدم --from <path> عندما يكون Hermes في مكان آخر.
ما يستورده Hermes
- إعدادات النموذج الافتراضية من
config.yaml. - موفّرو النماذج المضبوطون ونقاط النهاية المخصصة المتوافقة مع OpenAI من
providersوcustom_providers. - تعريفات خوادم MCP من
mcp_serversأوmcp.servers. SOUL.mdوAGENTS.mdإلى مساحة عمل وكيل OpenClaw.- إلحاق
memories/MEMORY.mdوmemories/USER.mdبملفات ذاكرة مساحة العمل. - الإعدادات الافتراضية لذاكرة ملفات OpenClaw، إضافة إلى عناصر أرشفة أو مراجعة يدوية لموفّري الذاكرة الخارجية مثل Honcho.
- Skills التي تتضمن ملف
SKILL.mdتحتskills/<name>/. - قيم الإعدادات لكل Skill من
skills.config. - بيانات اعتماد OpenCode OpenAI OAuth من
auth.jsonالخاص بـ OpenCode عند قبول هجرة بيانات الاعتماد التفاعلية، أو عند تعيين--include-secrets. تُعد إدخالات OAuth فيauth.jsonالخاص بـ Hermes حالة قديمة يُبلّغ عنها لإعادة تفويض OpenAI يدويًا أو إصلاح doctor. - مفاتيح API والرموز المدعومة من
.envالخاص بـ Hermes وauth.jsonالخاص بـ OpenCode عند قبول هجرة بيانات الاعتماد التفاعلية، أو عند تعيين--include-secrets.
مفاتيح .env المدعومة
AI_GATEWAY_API_KEYALIBABA_API_KEYANTHROPIC_API_KEYARCEEAI_API_KEYCEREBRAS_API_KEYCHUTES_API_KEYCLOUDFLARE_AI_GATEWAY_API_KEYCOPILOT_GITHUB_TOKENDASHSCOPE_API_KEYDEEPINFRA_API_KEYDEEPSEEK_API_KEYFIREWORKS_API_KEYGEMINI_API_KEYGH_TOKENGITHUB_TOKENGLM_API_KEYGOOGLE_API_KEYGROQ_API_KEYHF_TOKENHUGGINGFACE_HUB_TOKENKILOCODE_API_KEYKIMICODE_API_KEYKIMI_API_KEYMINIMAX_API_KEYMINIMAX_CODING_API_KEYMISTRAL_API_KEYMODELSTUDIO_API_KEYMOONSHOT_API_KEYNVIDIA_API_KEYOPENAI_API_KEYOPENCODE_API_KEYOPENCODE_GO_API_KEYOPENCODE_ZEN_API_KEYOPENROUTER_API_KEYQIANFAN_API_KEYQWEN_API_KEYTOGETHER_API_KEYVENICE_API_KEYXAI_API_KEYXIAOMI_API_KEYZAI_API_KEYZ_AI_API_KEY
حالة للأرشفة فقط
تُنسخ حالة Hermes التي لا يستطيع OpenClaw تفسيرها بأمان إلى تقرير الهجرة للمراجعة اليدوية، لكنها لا تُحمّل في إعدادات OpenClaw الحية أو بيانات الاعتماد. يحافظ هذا على الحالة الغامضة أو غير الآمنة من دون الادعاء بأن OpenClaw يستطيع تنفيذها أو الوثوق بها تلقائيًا:plugins/sessions/logs/cron/mcp-tokens/state.db
بعد التطبيق
عقد Plugin
مصادر الهجرة هي Plugins. يصرّح Plugin بمعرّفات موفّريه فيopenclaw.plugin.json:
api.registerMigrationProvider(...). ينفّذ الموفّر detect وplan وapply. يمتلك النواة تنسيق CLI وسياسة النسخ الاحتياطي والمطالبات وإخراج JSON والفحص المسبق للتعارضات. تمرر النواة الخطة التي تمت مراجعتها إلى apply(ctx, plan)، ويمكن للموفّرين إعادة بناء الخطة فقط عندما تكون تلك الوسيطة غائبة لأغراض التوافق.
يمكن لـ Plugins الموفّرين استخدام openclaw/plugin-sdk/migration لإنشاء العناصر وحسابات الملخصات، إضافة إلى openclaw/plugin-sdk/migration-runtime لنسخ الملفات مع مراعاة التعارضات، ونسخ التقارير المخصصة للأرشفة فقط، وأغلفة وقت تشغيل الإعدادات المخزّنة مؤقتًا، وتقارير الهجرة.
تكامل التهيئة الأولية
يمكن للتهيئة الأولية أن تعرض الهجرة عندما يكتشف موفّر مصدرًا معروفًا. يستخدم كل منopenclaw onboard --flow import وopenclaw setup --wizard --import-from hermes موفّر هجرة Plugin نفسه، وما زالا يعرضان معاينة قبل التطبيق.
تتطلب واردات التهيئة الأولية إعداد OpenClaw جديدًا. أعد تعيين الإعدادات وبيانات الاعتماد والجلسات ومساحة العمل أولًا إذا كانت لديك حالة محلية بالفعل. استيرادات النسخ الاحتياطي مع الاستبدال أو الدمج مقيدة بميزة للإعدادات القائمة.
ذات صلة
- الهجرة من Hermes: دليل تفصيلي موجّه للمستخدم.
- الهجرة من Claude: دليل تفصيلي موجّه للمستخدم.
- الهجرة: نقل OpenClaw إلى جهاز جديد.
- Doctor: فحص السلامة بعد تطبيق هجرة.
- Plugins: تثبيت Plugin وتسجيله.