الانتقال إلى المحتوى الرئيسي

التحديث

يتحرك OpenClaw بسرعة (قبل الإصدار «1.0»). تعامل مع التحديثات كما لو كنت تشغّل بنية تحتية إنتاجية: تحديث → تشغيل الفحوصات → إعادة التشغيل (أو استخدام openclaw update، الذي يعيد التشغيل) → التحقق.

الموصى به: إعادة تشغيل مُثبّت الموقع (ترقية في المكان)

مسار التحديث المفضّل هو إعادة تشغيل المُثبّت من الموقع. فهو يكتشف عمليات التثبيت الموجودة، ويُجري الترقية في المكان، ويشغّل openclaw doctor عند الحاجة.
curl -fsSL https://openclaw.ai/install.sh | bash
ملاحظات:
  • أضِف --no-onboard إذا كنت لا تريد تشغيل معالج الإعداد الأولي مرة أخرى.
  • بالنسبة إلى تثبيتات المصدر، استخدم:
    curl -fsSL https://openclaw.ai/install.sh | bash -s -- --install-method git --no-onboard
    
    سيقوم المُثبّت بـ git pull --rebase فقط إذا كان المستودع نظيفًا.
  • بالنسبة إلى التثبيتات العامة، يستخدم السكربت npm install -g openclaw@latest داخليًا.
  • ملاحظة قديمة: يظل clawdbot متاحًا كطبقة توافق.

قبل التحديث

  • اعرف طريقة التثبيت: عام (npm/pnpm) مقابل من المصدر (git clone).
  • اعرف كيف يعمل Gateway لديك: طرفية أمامية مقابل خدمة مُشرف عليها (launchd/systemd).
  • خذ لقطات من تخصيصاتك:
    • التهيئة: ~/.openclaw/openclaw.json
    • بيانات الاعتماد: ~/.openclaw/credentials/
    • مساحة العمل: ~/.openclaw/workspace

التحديث (تثبيت عام)

التثبيت العام (اختر واحدًا):
npm i -g openclaw@latest
pnpm add -g openclaw@latest
نحن لا نوصي باستخدام Bun لتشغيل Gateway (مشكلات WhatsApp/Telegram). لتبديل قنوات التحديث (تثبيتات git + npm):
openclaw update --channel beta
openclaw update --channel dev
openclaw update --channel stable
استخدم --tag <dist-tag|version> لتثبيت وسم/إصدار لمرة واحدة. راجع قنوات التطوير لمعاني القنوات وملاحظات الإصدار. ملاحظة: في تثبيتات npm، يسجّل Gateway تلميح تحديث عند بدء التشغيل (يتحقق من وسم القناة الحالية). عطّل ذلك عبر update.checkOnStart: false. ثم:
openclaw doctor
openclaw gateway restart
openclaw health
ملاحظات:
  • إذا كان Gateway يعمل كخدمة، فـ openclaw gateway restart مُفضّل على قتل أرقام العمليات.
  • إذا كنت مثبتًا على إصدار محدد، فراجع «التراجع / التثبيت» أدناه.

التحديث (openclaw update)

بالنسبة إلى تثبيتات المصدر (git checkout)، يُفضّل:
openclaw update
يشغّل تدفق تحديث آمنًا نسبيًا:
  • يتطلب شجرة عمل نظيفة.
  • ينتقل إلى القناة المحددة (وسم أو فرع).
  • يجلب التحديثات ويُعيد الدمج (rebase) مقابل upstream المُهيّأ (قناة التطوير).
  • يثبّت الاعتمادات، ويبني، ويبني واجهة التحكم، ويشغّل openclaw doctor.
  • يعيد تشغيل Gateway افتراضيًا (استخدم --no-restart للتخطي).
إذا ثبّتَّ عبر npm/pnpm (من دون بيانات git)، فسيحاول openclaw update التحديث عبر مدير الحزم لديك. إذا تعذّر عليه اكتشاف التثبيت، فاستخدم «التحديث (تثبيت عام)» بدلًا من ذلك.

التحديث (واجهة التحكم / RPC)

تتضمن واجهة التحكم زر Update & Restart (RPC: update.run). وهو:
  1. يشغّل تدفق تحديث المصدر نفسه مثل openclaw update (git checkout فقط).
  2. يكتب إشارة إعادة تشغيل مع تقرير مُنظّم (ذيل stdout/stderr).
  3. يعيد تشغيل Gateway ويُرسل التقرير إلى آخر جلسة نشطة.
إذا فشل rebase، يُجهِض Gateway العملية ويعيد التشغيل دون تطبيق التحديث.

التحديث (من المصدر)

من دفع المستعرض: المفضّل:
openclaw update
يدوي (مماثل تقريبًا):
git pull
pnpm install
pnpm build
pnpm ui:build # auto-installs UI deps on first run
openclaw doctor
openclaw health
ملاحظات:
  • pnpm build مهم عندما تشغّل الملف الثنائي المُعبّأ openclaw (openclaw.mjs) أو تستخدم Node لتشغيل dist/.
  • إذا كنت تشغّل من نسخة مستودع دون تثبيت عام، فاستخدم pnpm openclaw ... لأوامر CLI.
  • إذا كنت تشغّل مباشرة من TypeScript (pnpm openclaw ...)، فإعادة البناء غالبًا غير ضرورية، لكن ترحيلات التهيئة ما تزال مطبّقة → شغّل doctor.
  • التبديل بين التثبيت العام وتثبيت git سهل: ثبّت النكهة الأخرى، ثم شغّل openclaw doctor حتى يُعاد كتابة نقطة دخول خدمة Gateway إلى التثبيت الحالي.

شغّل دائمًا: openclaw doctor

Doctor هو أمر «التحديث الآمن». إنه مملّ عمدًا: إصلاح + ترحيل + تحذير. ملاحظة: إذا كنت على تثبيت مصدر (git checkout)، فسيعرض openclaw doctor تشغيل openclaw update أولًا. أشياء نموذجية يقوم بها:
  • ترحيل مفاتيح التهيئة المُهملة / مواقع ملفات التهيئة القديمة.
  • تدقيق سياسات الرسائل الخاصة (DM) والتحذير من الإعدادات «المفتوحة» الخطِرة.
  • فحص صحة Gateway وقد يعرض إعادة التشغيل.
  • اكتشاف وترحيل خدمات Gateway الأقدم (launchd/systemd؛ schtasks القديمة) إلى خدمات OpenClaw الحالية.
  • على Linux، التأكد من تمكين systemd user lingering (حتى يستمر Gateway بعد تسجيل الخروج).
التفاصيل: Doctor

بدء / إيقاف / إعادة تشغيل Gateway

CLI (يعمل بغضّ النظر عن نظام التشغيل):
openclaw gateway status
openclaw gateway stop
openclaw gateway restart
openclaw gateway --port 18789
openclaw logs --follow
إذا كنت تستخدم إشراف الخدمات:
  • macOS launchd (LaunchAgent مُضمّن بالتطبيق): launchctl kickstart -k gui/$UID/bot.molt.gateway (استخدم bot.molt.<profile>؛ ولا يزال com.openclaw.* القديم يعمل)
  • خدمة مستخدم systemd على لينكس: systemctl --user restart openclaw-gateway[-<profile>].service
  • ويندوز (WSL2): systemctl --user restart openclaw-gateway[-<profile>].service
    • يعمل launchctl/systemctl فقط إذا كانت الخدمة مُثبّتة؛ وإلا فشغّل openclaw gateway install.
دليل التشغيل + تسميات الخدمات الدقيقة: دليل تشغيل Gateway

التراجع / التثبيت (عند توقف شيء)

التثبيت (تثبيت عام)

ثبّت إصدارًا معروفًا يعمل (استبدل <version> بآخر إصدار كان يعمل):
npm i -g openclaw@<version>
pnpm add -g openclaw@<version>
نصيحة: لمعرفة الإصدار المنشور الحالي، شغّل npm view openclaw version. ثم أعد التشغيل وأعد تشغيل doctor:
openclaw doctor
openclaw gateway restart

التثبيت (من المصدر) حسب التاريخ

اختر التزامًا (commit) من تاريخ معيّن (مثال: «حالة main بتاريخ 2026-01-01»):
git fetch origin
git checkout "$(git rev-list -n 1 --before=\"2026-01-01\" origin/main)"
ثم أعد تثبيت الاعتمادات وأعد التشغيل:
pnpm install
pnpm build
openclaw gateway restart
إذا أردت العودة إلى الأحدث لاحقًا:
git checkout main
git pull

إذا علِقت