قنوات التطوير
يشحن OpenClaw ثلاث قنوات تحديث:- stable: npm dist-tag
latest. موصى بها لمعظم المستخدمين. - beta: npm dist-tag
betaعندما تكون حالية؛ وإذا كانت beta مفقودة أو أقدم من أحدث إصدار stable، يعود تدفق التحديث إلىlatest. - dev: الرأس المتحرك لفرع
main(git). وnpm dist-tag هو:dev(عند النشر). فرعmainمخصص للتجريب والتطوير النشط. وقد يحتوي على ميزات غير مكتملة أو تغييرات كاسرة. لا تستخدمه لبوابات الإنتاج.
latest من دون
تغيير رقم الإصدار. ويمكن للمشرفين أيضًا نشر إصدار stable
مباشرة إلى latest عند الحاجة. وتُعد dist-tags هي المصدر المعتمد
لتثبيتات npm.
التبديل بين القنوات
--channel بحفظ اختيارك في التكوين (update.channel) ومواءمة
طريقة التثبيت:
stable(تثبيتات الحزم): يحدّث عبر npm dist-tag latest.beta(تثبيتات الحزم): يفضّل npm dist-tag beta، لكنه يعود إلىlatestعندما تكونbetaمفقودة أو أقدم من وسم stable الحالي.stable(تثبيتات git): يجلب أحدث git tag مستقر.beta(تثبيتات git): يفضّل أحدث beta git tag، لكنه يعود إلى أحدث stable git tag عندما تكون beta مفقودة أو أقدم.dev: يضمن وجود checkout من git (الافتراضي~/openclaw، ويمكن تجاوزه بـOPENCLAW_GIT_DIR)، وينتقل إلىmain، ويجري rebase على upstream، ويبني، ويثبت CLI العالمية من ذلك checkout.
استهداف إصدار أو tag لمرة واحدة
استخدم--tag لاستهداف dist-tag أو إصدار أو package spec محدد لتحديث واحد
من دون تغيير القناة المحفوظة لديك:
- ينطبق
--tagعلى تثبيتات الحزم (npm) فقط. وتتجاهله تثبيتات git. - لا يتم حفظ tag. وسيستخدم
openclaw updateالتالي القناة المكوّنة لديك كالمعتاد. - حماية الرجوع إلى إصدار أقدم: إذا كان الإصدار المستهدف أقدم من إصدارك الحالي،
فسيطلب OpenClaw التأكيد (تجاوزه باستخدام
--yes). - يختلف
--channel betaعن--tag beta: إذ يمكن لتدفق القناة أن يعود إلى stable/latest عندما تكون beta مفقودة أو أقدم، بينما يستهدف--tag betadist-tag الخامbetaلهذا التشغيل فقط.
تشغيل تجريبي
عاين ما الذي سيفعلهopenclaw update من دون إجراء أي تغييرات:
plugins والقنوات
عند تبديل القنوات باستخدامopenclaw update، يقوم OpenClaw أيضًا بمزامنة
مصادر plugins:
- يفضّل
devplugins المضمنة من git checkout. - تستعيد
stableوbetaحزم plugins المثبتة عبر npm. - يتم تحديث plugins المثبتة عبر npm بعد اكتمال تحديث core.
التحقق من الحالة الحالية
أفضل ممارسات وضع العلامات
- ضع علامات على الإصدارات التي تريد أن تهبط عليها عمليات git checkout (
vYYYY.M.Dللإصدارات stable، وvYYYY.M.D-beta.Nلإصدارات beta). - يتم أيضًا التعرف على
vYYYY.M.D.beta.Nللتوافق، لكن يفضَّل استخدام-beta.N. - ما زال يتم التعرف على الوسوم القديمة
vYYYY.M.D-<patch>على أنها stable (غير beta). - أبقِ الوسوم غير قابلة للتغيير: لا تنقل وسمًا ولا تعيد استخدامه أبدًا.
- تظل npm dist-tags هي المصدر المعتمد لتثبيتات npm:
latest-> stablebeta-> build مرشح أو build stable أُرسل أولًا إلى betadev-> لقطة منmain(اختياري)
توفر تطبيق macOS
قد لا تتضمن إصدارات beta وdev إصدارًا لتطبيق macOS. وهذا أمر مقبول:- لا يزال من الممكن نشر git tag وnpm dist-tag.
- اذكر بوضوح “لا يوجد إصدار macOS لهذه beta” في ملاحظات الإصدار أو changelog.