التحديث
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).
- اعرف كيف تعمل بوابةك: في الطرفية الأمامية مقابل خدمة مُشرفة (launchd/systemd).
- خذ لقطة لبيئتك المخصصة:
- الإعدادات:
~/.openclaw/openclaw.json - بيانات الاعتماد:
~/.openclaw/credentials/ - مساحة العمل:
~/.openclaw/workspace
- الإعدادات:
التحديث (تثبيت عام)
تثبيت عام (اختر واحدًا):
npm i -g openclaw@latest
pnpm add -g openclaw@latest
لا نوصي باستخدام Bun لوقت تشغيل البوابة (أخطاء في WhatsApp/Telegram). للتبديل بين قنوات التحديث (تثبيتات git + npm):
openclaw update --channel beta
openclaw update --channel dev
openclaw update --channel stable
استخدم --tag <dist-tag|version> لعلامة/إصدار تثبيت لمرة واحدة. راجع قنوات التطوير لدلالات القنوات وملاحظات الإصدار. ملاحظة: في تثبيتات npm، تسجل البوابة تلميح تحديث عند بدء التشغيل (تتحقق من علامة القناة الحالية). يمكن تعطيله عبر update.checkOnStart: false.
أداة التحديث التلقائي الأساسية (اختياري)
أداة التحديث التلقائي معطلة افتراضيًا وهي ميزة أساسية للبوابة (وليست إضافة).
{
"update": {
"channel": "stable",
"auto": {
"enabled": true,
"stableDelayHours": 6,
"stableJitterHours": 12,
"betaCheckIntervalHours": 1
}
}
}
السلوك:
stable: عند رؤية إصدار جديد، ينتظر OpenClawstableDelayHoursثم يطبق تذبذبًا محددًا لكل تثبيت ضمنstableJitterHours(نشر تدريجي).beta: يتحقق على وتيرةbetaCheckIntervalHours(الافتراضي: كل ساعة) ويطبق عند توفر تحديث.dev: لا يوجد تطبيق تلقائي؛ استخدمopenclaw updateيدويًا.
استخدم openclaw update --dry-run لمعاينة إجراءات التحديث قبل تمكين الأتمتة. ثم:
openclaw doctor
openclaw gateway restart
openclaw health
ملاحظات:
- إذا كانت بوابةك تعمل كخدمة، فإن
openclaw gateway restartمفضل على إنهاء عمليات PID. - إذا كنت مثبتًا على إصدار محدد، راجع "التراجع / التثبيت" أدناه.
التحديث (openclaw update)
لـ تثبيتات المصدر (git checkout)، نفضل:
openclaw update
تشغل سير عمل تحديث آمن نسبيًا:
- تتطلب شجرة عمل نظيفة.
- تنتقل إلى القناة المحددة (علامة أو فرع).
- تجلب + تعيد التأسيس (rebase) ضد المنبع المُهيأ (قناة dev).
- تثبت التبعيات، تبني، تبني واجهة التحكم، وتشغل
openclaw doctor. - تعيد تشغيل البوابة افتراضيًا (استخدم
--no-restartللتخطي).
إذا قمت بالتثبيت عبر npm/pnpm (بدون بيانات وصفية لـ git)، فسيحاول openclaw update التحديث عبر مدير الحزم الخاص بك. إذا لم تتمكن من اكتشاف التثبيت، استخدم "التحديث (تثبيت عام)" بدلاً من ذلك.
التحديث (واجهة التحكم / RPC)
تحتوي واجهة التحكم على تحديث وإعادة تشغيل (RPC: update.run). وهي:
- تشغل نفس سير عمل تحديث المصدر مثل
openclaw update(git checkout فقط). - تكتب علامة إعادة تشغيل مع تقرير منظم (ذيل stdout/stderr).
- تعيد تشغيل البوابة وترسل إشارة إلى الجلسة النشطة الأخيرة بالتقرير.
إذا فشلت عملية إعادة التأسيس (rebase)، فإن البوابة توقف وتعيد التشغيل دون تطبيق التحديث.
التحديث (من المصدر)
من نسخة المستودع: مفضل:
openclaw update
يدوي (مكافئ تقريبًا):
git pull
pnpm install
pnpm build
pnpm ui:build # تثبت تبعيات واجهة المستخدم تلقائيًا في المرة الأولى
openclaw doctor
openclaw health
ملاحظات:
pnpm buildمهم عندما تشغل الملف الثنائيopenclawالمعبأ (openclaw.mjs) أو تستخدم Node لتشغيلdist/.- إذا كنت تشغل من نسخة مستودع بدون تثبيت عام، استخدم
pnpm openclaw ...لأوامر CLI. - إذا كنت تشغل مباشرة من TypeScript (
pnpm openclaw ...)، فإن إعادة البناء عادة غير ضرورية، ولكن هجرات الإعدادات لا تزال تنطبق → شغل doctor. - التبديل بين التثبيت العام وتثبيت git سهل: قم بتثبيت النوع الآخر، ثم شغل
openclaw doctorحتى تتم إعادة كتابة نقطة دخول خدمة البوابة إلى التثبيت الحالي.
دائمًا شغل: openclaw doctor
Doctor هو أمر "التحديث الآمن". إنه متعمدًا بسيطًا: إصلاح + هجرة + تحذير. ملاحظة: إذا كنت على تثبيت مصدر (git checkout)، فإن openclaw doctor ستعرض تشغيل openclaw update أولاً. الأشياء النموذجية التي تقوم بها:
- تهاجر مفاتيح إعدادات قديمة / مواقع ملفات إعدادات قديمة.
- تدقق في سياسات DM وتحذر من إعدادات "مفتوحة" محفوفة بالمخاطر.
- تتحقق من صحة البوابة ويمكن أن تعرض إعادة التشغيل.
- تكتشف وتهاجر خدمات بوابات أقدم (launchd/systemd؛ مهام مجدولة قديمة) إلى خدمات OpenClaw الحالية.
- على لينكس، تضمن استمرارية جلسة المستخدم في systemd (حتى تبقى البوابة بعد تسجيل الخروج).
التفاصيل: Doctor
بدء / إيقاف / إعادة تشغيل البوابة
واجهة سطر الأوامر (تعمل بغض النظر عن نظام التشغيل):
openclaw gateway status
openclaw gateway stop
openclaw gateway restart
openclaw gateway --port 18789
openclaw logs --follow
إذا كنت تحت إشراف:
- macOS launchd (LaunchAgent مضمن في التطبيق):
launchctl kickstart -k gui/$UID/ai.openclaw.gateway(استخدمai.openclaw.<profile>؛ القديمcom.openclaw.*لا يزال يعمل) - خدمة مستخدم systemd على لينكس:
systemctl --user restart openclaw-gateway[-<profile>].service - Windows (WSL2):
systemctl --user restart openclaw-gateway[-<profile>].service- تعمل
launchctl/systemctlفقط إذا كانت الخدمة مثبتة؛ وإلا شغلopenclaw gateway install.
- تعمل
دليل التشغيل + تسميات الخدمة الدقيقة: دليل تشغيل البوابة
التراجع / التثبيت (عند حدوث مشكلة)
تثبيت (تثبيت عام)
قم بتثبيت إصدار معروف جيد (استبدل <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
إذا علقت
- شغل
openclaw doctorمرة أخرى واقرأ الناتج بعناية (غالبًا ما يخبرك بالإصلاح). - تحقق من: استكشاف الأخطاء وإصلاحها
- اسأل في Discord: https://discord.gg/clawd