Maintenance
قنوات الإصدار
توفّر OpenClaw ثلاث قنوات تحديث:
- stable: وسم توزيع npm
latest. موصى بها لمعظم المستخدمين. - beta: وسم توزيع npm
betaعندما يكون حاليًا؛ إذا كان beta مفقودًا أو أقدم من أحدث إصدار stable، يعود مسار التحديث إلىlatest. - dev: الرأس المتحرك لفرع
main(git). وسم توزيع npm:dev(عند نشره). فرعmainمخصص للتجريب والتطوير النشط. قد يحتوي على ميزات غير مكتملة أو تغييرات كاسرة. لا تستخدمه في بوابات الإنتاج.
عادةً ننشر بُنى stable إلى beta أولًا، ونختبرها هناك، ثم نشغّل
خطوة ترقية صريحة تنقل البنية المُدقّقة إلى latest دون
تغيير رقم الإصدار. يمكن للمشرفين أيضًا نشر إصدار stable
مباشرةً إلى latest عند الحاجة. وسوم التوزيع هي مصدر الحقيقة لتثبيتات npm.
تبديل القنوات
openclaw update --channel stableopenclaw update --channel betaopenclaw update --channel devيحفظ --channel اختيارك في الإعدادات (update.channel) ويوائم
طريقة التثبيت:
stable(تثبيتات الحزمة): تُحدَّث عبر وسم توزيع npmlatest.beta(تثبيتات الحزمة): تفضّل وسم توزيع npmbeta، لكنها تعود إلىlatestعندما يكونbetaمفقودًا أو أقدم من وسم stable الحالي.stable(تثبيتات git): تنتقل إلى أحدث وسم git لإصدار stable، مع استبعاد وسوم إصدارات semver التمهيدية مثل-alpha.N، و-beta.N، و-rc.N، و-dev.N، و-next.N، و-preview.N، و-canary.N، و-nightly.N، ولواحق الإصدارات التمهيدية الأخرى.beta(تثبيتات git): تفضّل أحدث وسم git لإصدار beta، لكنها تعود إلى أحدث وسم git لإصدار stable عندما يكون beta مفقودًا أو أقدم.dev: تضمن وجود نسخة git محلية (افتراضيًا~/openclaw، أو$OPENCLAW_HOME/openclawعندما يكونOPENCLAW_HOMEمعيّنًا؛ ويمكن التجاوز عبرOPENCLAW_GIT_DIR)، وتبدّل إلىmain، وتعيد التأسيس فوق upstream، وتبني، وتثبّت CLI العام من تلك النسخة المحلية.
استهداف إصدار أو وسم لمرة واحدة
استخدم --tag لاستهداف وسم توزيع محدد، أو إصدار، أو مواصفة حزمة لتحديث واحد
دون تغيير قناتك المحفوظة:
# Install a specific versionopenclaw update --tag 2026.4.1-beta.1 # Install from the beta dist-tag (one-off, does not persist)openclaw update --tag beta # Switch to the moving GitHub main checkoutopenclaw update --channel dev # Install a specific npm package specopenclaw update --tag openclaw@2026.4.1-beta.1 # Install from GitHub main once without persisting the channelopenclaw update --tag mainملاحظات:
- ينطبق
--tagعلى تثبيتات الحزمة (npm) فقط. تتجاهله تثبيتات git. - لا يُحفَظ الوسم. يستخدم أمر
openclaw updateالتالي القناة المضبوطة لديك كالمعتاد. - في تثبيتات الحزمة، تُحضّر OpenClaw مواصفات مصدر GitHub/git مسبقًا في
أرشيف tar مؤقت قبل تثبيت npm المرحلي. استخدم
--channel devأو--install-method git --version mainعندما تريد نسخةmainالمتحركة كتثبيت دائم لديك. - حماية الرجوع إلى إصدار أقدم: إذا كان الإصدار الهدف أقدم من إصدارك الحالي،
تطلب OpenClaw التأكيد (يمكن التخطي باستخدام
--yes). - يختلف
--channel betaعن--tag beta: يمكن لمسار القناة الرجوع إلى stable/latest عندما يكون beta مفقودًا أو أقدم، بينما يستهدف--tag betaوسم التوزيع الخامbetaلذلك التشغيل الواحد.
تشغيل تجريبي
عاين ما سيفعله openclaw update دون إجراء تغييرات:
openclaw update --dry-runopenclaw update --channel beta --dry-runopenclaw update --tag 2026.4.1-beta.1 --dry-runopenclaw update --dry-run --jsonيعرض التشغيل التجريبي القناة الفعلية، والإصدار الهدف، والإجراءات المخططة، وما إذا كان سيلزم تأكيد الرجوع إلى إصدار أقدم.
Plugins والقنوات
عند تبديل القنوات باستخدام openclaw update، تزامن OpenClaw أيضًا مصادر Plugin:
- تفضّل
devحِزم Plugins المضمّنة من نسخة git المحلية. - تستعيد
stableوbetaحزم Plugin المثبّتة عبر npm. - تُحدَّث Plugins المثبّتة عبر npm بعد اكتمال تحديث النواة.
التحقق من الحالة الحالية
openclaw update statusيعرض القناة النشطة، ونوع التثبيت (git أو حزمة)، والإصدار الحالي، والمصدر (الإعدادات، أو وسم git، أو فرع git، أو الافتراضي).
أفضل ممارسات الوسم
- ضع وسومًا للإصدارات التي تريد أن تصل إليها نسخ git المحلية (
vYYYY.M.PATCHلإصدار stable، وvYYYY.M.PATCH-beta.Nلإصدار beta؛ لواحق إصدارات semver التمهيدية المسماة مثل-alpha.N، و-rc.N، و-next.Nليست أهداف stable). - لا تزال وسوم stable الرقمية القديمة مثل
vYYYY.M.PATCH-1وv1.0.1-1معروفة كوسوم git لإصدارات stable من أجل التوافق. - يُعرَف
vYYYY.M.PATCH.beta.Nأيضًا من أجل التوافق، لكن يُفضَّل-beta.N. - أبقِ الوسوم غير قابلة للتغيير: لا تنقل وسمًا أو تعيد استخدامه أبدًا.
- تبقى وسوم توزيع npm مصدر الحقيقة لتثبيتات npm:
latest-> stablebeta-> بناء مرشح أو بناء stable يبدأ عبر betadev-> لقطة main (اختياري)
توفر تطبيق macOS
قد لا تتضمن بُنى beta وdev إصدار تطبيق macOS. هذا مقبول:
- لا يزال من الممكن نشر وسم git ووسم توزيع npm.
- اذكر "لا توجد بنية macOS لهذا الإصدار beta" في ملاحظات الإصدار أو سجل التغييرات.