Maintenance

دليل الترحيل

يدعم OpenClaw ثلاثة مسارات للترحيل: الاستيراد من نظام وكيل آخر، ونقل تثبيت قائم إلى جهاز جديد، وترقية Plugin في موضعه.

الاستيراد من نظام وكيل آخر

استخدم مزوّدي الترحيل المضمّنين لجلب التعليمات، وخوادم MCP، وSkills، وإعدادات النموذج، ومفاتيح API (اختياريًا) إلى OpenClaw. تُعرَض الخطط للمعاينة قبل أي تغيير، وتُحجَب الأسرار في التقارير، ويستند التطبيق إلى نسخة احتياطية مُتحقَّق منها.

نقطة دخول CLI هي openclaw migrate. يمكن للإعداد الأولي أيضًا عرض الترحيل عندما يكتشف مصدرًا معروفًا (openclaw onboard --flow import).

نقل OpenClaw إلى جهاز جديد

انسخ دليل الحالة (~/.openclaw/ افتراضيًا) ومساحة العمل لديك للحفاظ على:

  • الإعداداتopenclaw.json وجميع إعدادات Gateway.
  • المصادقة — ملف auth-profiles.json لكل وكيل (مفاتيح API بالإضافة إلى OAuth)، وأي حالة قناة أو مزوّد ضمن credentials/.
  • الجلسات — سجل المحادثات وحالة الوكيل.
  • حالة القنوات — تسجيل دخول WhatsApp، وجلسة Telegram، وما شابه ذلك.
  • ملفات مساحة العملMEMORY.md، وUSER.md، وSkills، والمطالبات.

خطوات الترحيل

  • إيقاف Gateway والنسخ الاحتياطي

    على الجهاز القديم، أوقف Gateway حتى لا تتغيّر الملفات أثناء النسخ، ثم أرشِف:

    openclaw gateway stop
    cd ~
    tar -czf openclaw-state.tgz .openclaw
    

    إذا كنت تستخدم عدة ملفات شخصية (على سبيل المثال ~/.openclaw-work)، فأرشِف كلًا منها على حدة.

  • تثبيت OpenClaw على الجهاز الجديد

    ثبّت CLI (وNode إذا لزم الأمر) على الجهاز الجديد. لا بأس إذا أنشأ الإعداد الأولي دليل ~/.openclaw/ جديدًا. ستستبدله في الخطوة التالية.

  • نسخ دليل الحالة ومساحة العمل

    انقل الأرشيف عبر scp، أو rsync -a، أو محرك أقراص خارجي، ثم استخرجه:

    cd ~
    tar -xzf openclaw-state.tgz
    

    تأكد من تضمين الأدلة المخفية وأن ملكية الملفات تطابق المستخدم الذي سيشغّل Gateway.

  • تشغيل doctor والتحقق

    على الجهاز الجديد، شغّل Doctor لتطبيق ترحيلات الإعدادات وإصلاح الخدمات:

    openclaw doctor
    openclaw gateway restart
    openclaw status
    
  • إذا كان Telegram أو Discord يستخدم الرجوع الافتراضي إلى متغيرات البيئة (TELEGRAM_BOT_TOKEN أو DISCORD_BOT_TOKEN)، فتحقق من أن ملف .env في دليل الحالة المرحّل يحتوي على تلك المفاتيح دون طباعة قيم الأسرار:

    awk -F= '/^(TELEGRAM_BOT_TOKEN|DISCORD_BOT_TOKEN)=/ { print $1 "=present" }' ~/.openclaw/.env
    

    يحذّر openclaw doctor أيضًا عندما لا يكون لحساب Telegram أو Discord افتراضي مفعّل رمز مهيّأ، ويكون متغير البيئة المطابق غير متاح لعملية doctor.

    الأخطاء الشائعة

    عدم تطابق الملف الشخصي أو دليل الحالة

    إذا كان Gateway القديم يستخدم --profile أو OPENCLAW_STATE_DIR والجديد لا يستخدمهما، فستظهر القنوات وكأنها غير مسجّلة الدخول وستكون الجلسات فارغة. شغّل Gateway باستخدام نفس الملف الشخصي أو دليل الحالة الذي رحّلته، ثم أعد تشغيل openclaw doctor.

    نسخ openclaw.json فقط

    ملف الإعدادات وحده غير كافٍ. تعيش ملفات تعريف مصادقة النموذج ضمن agents/<agentId>/agent/auth-profiles.json، وتعيش حالة القنوات والمزوّدين ضمن credentials/. رحّل دائمًا دليل الحالة بالكامل.

    الأذونات والملكية

    إذا نسخت الملفات كمستخدم root أو بدّلت المستخدمين، فقد يفشل Gateway في قراءة بيانات الاعتماد. تأكد من أن دليل الحالة ومساحة العمل مملوكان للمستخدم الذي يشغّل Gateway.

    الوضع البعيد

    إذا كانت واجهتك تشير إلى Gateway بعيد، فإن المضيف البعيد يملك الجلسات ومساحة العمل. رحّل مضيف Gateway نفسه، لا حاسوبك المحمول المحلي. راجع الأسئلة الشائعة.

    الأسرار في النسخ الاحتياطية

    يحتوي دليل الحالة على ملفات تعريف المصادقة، وبيانات اعتماد القنوات، وحالة مزوّدين أخرى. خزّن النسخ الاحتياطية مشفّرة، وتجنّب قنوات النقل غير الآمنة، ودوّر المفاتيح إذا اشتبهت في تعرضها.

    قائمة التحقق

    على الجهاز الجديد، تأكد مما يلي:

    • [ ] يعرض openclaw status أن Gateway قيد التشغيل.
    • [ ] ما زالت القنوات متصلة (لا حاجة إلى إعادة الاقتران).
    • [ ] تُفتح لوحة المعلومات وتعرض الجلسات الحالية.
    • [ ] ملفات مساحة العمل (الذاكرة، والإعدادات) موجودة.

    ترقية Plugin في موضعه

    تحافظ ترقيات Plugin في موضعه على معرّف Plugin نفسه ومفاتيح الإعدادات نفسها، لكنها قد تنقل الحالة على القرص إلى التخطيط الحالي. توجد أدلة الترقية الخاصة بكل Plugin بجانب قنواته:

    • ترحيل Matrix: حدود استرداد الحالة المشفّرة، وسلوك اللقطة التلقائي، وأوامر الاسترداد اليدوية.

    ذو صلة