Maintenance
کانالهای انتشار
OpenClaw با چهار کانال بهروزرسانی عرضه میشود:
- پایدار: تگ توزیع npm با نام
latest. برای بیشتر کاربران توصیه میشود. - پایدارِ بلندمدت: تگ توزیع npm با نام
extended-stable. یک کانال کاملاً جدید برای بستههای ماهِ پشتیبانیشده قبلی است. این کانال فقط برای بستههاست و نصب آن تنها در پیشزمینه انجام میشود. وقتیupdate.checkOnStartفعال باشد، انتخاب ذخیرهشده راهنماییهای فقطخواندنیِ بهروزرسانی را دریافت میکند، اما هرگز بهطور خودکار اعمال نمیشود. - بتا: تگ توزیع npm با نام
beta. وقتیbetaوجود نداشته باشد یا از نسخه پایدار فعلی قدیمیتر باشد، بهlatestبازمیگردد. - توسعه: سرِ متحرک
main(git). هنگام انتشار، تگ توزیع npm با نامdev. کانالmainبرای آزمایش و توسعه فعال است؛ ممکن است شامل قابلیتهای ناقص یا تغییرات ناسازگار باشد. آن را برای Gatewayهای محیط تولید اجرا نکنید.
ساختهای پایدار معمولاً ابتدا در بتا منتشر و در آنجا ارزیابی میشوند، سپس بدون افزایش نسخه به latest ارتقا مییابند. نگهدارندگان همچنین میتوانند مستقیماً در latest منتشر کنند. تگهای توزیع، مرجع حقیقت برای نصبهای npm هستند.
تغییر کانالها
openclaw update --channel stableopenclaw update --channel extended-stableopenclaw update --channel betaopenclaw update --channel dev--channel انتخاب را در update.channel در پیکربندی ماندگار میکند و هر دو مسیر نصب را هدایت میکند:
| کانال | نصبهای npm/بسته | نصبهای git |
|---|---|---|
stable |
تگ توزیع latest |
جدیدترین تگ پایدار git (بهاستثنای -alpha.N، -beta.N، -rc.N، -dev.N، -next.N، -preview.N، -canary.N، -nightly.N و دیگر پسوندهای پیشانتشار نامگذاریشده) |
extended-stable |
انتخابگر عمومی npm به نام extended-stable را تعیین میکند، بسته دقیق انتخابشده را اعتبارسنجی میکند و همان نسخه دقیق را نصب میکند. در صورت شکست، بدون بازگشت به latest، beta یا dev بسته میشود. |
پشتیبانینشده: OpenClaw نسخه دریافتشده را بدون تغییر باقی میگذارد و از شما میخواهد از نصب بستهای استفاده کنید |
beta |
تگ توزیع beta؛ وقتی beta وجود نداشته باشد یا قدیمیتر باشد، به latest بازمیگردد |
جدیدترین تگ بتای git؛ وقتی بتا وجود نداشته باشد یا قدیمیتر باشد، به جدیدترین تگ پایدار git بازمیگردد |
dev |
تگ توزیع dev (نادر؛ بیشتر کاربران توسعه از نصبهای git استفاده میکنند) |
دریافت میکند، نسخه دریافتشده را روی شاخه بالادستی main بازپایهگذاری میکند، میسازد و CLI سراسری را دوباره نصب میکند |
برای نصبهای git با dev، نسخه دریافتشده پیشفرض ~/openclaw است (یا هنگامی که OPENCLAW_HOME تنظیم شده باشد، $OPENCLAW_HOME/openclaw)؛ با OPENCLAW_GIT_DIR آن را تغییر دهید.
هدفگیری یکباره نسخه یا تگ
از --tag برای هدفگیری یک تگ توزیع، نسخه یا مشخصه بسته معین در یک بهروزرسانی منفرد، بدون تغییر کانال ماندگار، استفاده کنید:
# نصب یک نسخه مشخصopenclaw update --tag 2026.4.1-beta.1 # نصب از تگ توزیع بتا (یکباره، ماندگار نمیشود)openclaw update --tag beta # تغییر به نسخه دریافتشده متحرک main در GitHub (ماندگار)openclaw update --channel dev # نصب یک مشخصه بسته npm معینopenclaw update --tag openclaw@2026.4.1-beta.1 # نصب یکباره از main در GitHub بدون ماندگار کردن کانالopenclaw update --tag mainنکات:
--tagفقط برای نصبهای بستهای (npm) اعمال میشود؛ نصبهای git آن را نادیده میگیرند.- تگ ماندگار نمیشود؛ اجرای بعدی
openclaw updateاز کانال پیکربندیشده استفاده میکند. --tag mainبرای همان یک اجرا به مشخصه سازگار با npm یعنیgithub:openclaw/openclaw#mainنگاشت میشود. برای نصب متحرک و ماندگارmain، ازopenclaw update --channel devاستفاده کنید (نصبهای بستهای به یک نسخه دریافتشده git تغییر میکنند) یا با روش git نصبکننده دوباره نصب کنید:curl -fsSL https://openclaw.ai/install.sh | bash -s -- --install-method git --version main. مسیر نصب npm هدفهای منبع GitHub/git را مستقیماً رد میکند و در عوض شما را به روش git هدایت میکند.- محافظت در برابر تنزل نسخه: اگر نسخه هدف از نسخه فعلی قدیمیتر باشد، OpenClaw برای تأیید درخواست میکند (با
--yesاز آن صرفنظر کنید). - پایدارِ بلندمدت همیشه از هدف بسته دقیق و اعتبارسنجیشده خود استفاده میکند. این کانال نام مستعار یکباره برای
--tag extended-stableنیست و--tagرا نمیتوان با یک کانال مؤثر پایدارِ بلندمدت ترکیب کرد. --channel betaبا--tag betaمتفاوت است: جریان کانال میتواند وقتی بتا وجود ندارد یا قدیمیتر است به پایدار/latest بازگردد، درحالیکه--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اجرای آزمایشی، کانال مؤثر، نسخه هدف، اقدامات برنامهریزیشده و اینکه آیا تأیید تنزل نسخه لازم است یا نه را گزارش میکند.
Pluginها و کانالها
تغییر کانالها با openclaw update منابع Plugin را نیز همگام میکند:
dev، Pluginهای نصبشدهای را که همتای همراه دارند، دوباره به منبع همراهشان (نسخه دریافتشده git) برمیگرداند.stableوbetaبستههای Plugin نصبشده با npm یا ClawHub را بازیابی میکنند.extended-stable، Pluginهای رسمی و واجد شرایط npm با قصد ساده/پیشفرض یاlatestرا به نسخه دقیق نصبشده هسته نگاشت میکند. در زمان اجرا تگهای@extended-stableمربوط به Plugin را پرسوجو نمیکند.- Pluginهای نصبشده با npm پس از تکمیل بهروزرسانی هسته بهروزرسانی میشوند.
بررسی وضعیت فعلی
openclaw update statusکانال فعال را (همراه با منبعی که آن را تعیین کرده است: پیکربندی، تگ git، شاخه git، نسخه نصبشده یا پیشفرض)، نوع نصب (git یا بسته)، نسخه فعلی و دردسترسبودن بهروزرسانی نشان میدهد.
بهترین روشهای تگگذاری
- نسخههایی را که میخواهید نسخههای دریافتشده git روی آنها قرار گیرند تگگذاری کنید:
vYYYY.M.PATCHبرای پایدار،vYYYY.M.PATCH-beta.Nبرای بتا. پسوندهای پیشانتشار نامگذاریشده مانند-alpha.N،-rc.Nو-next.Nهدفهای پایدار یا بتا نیستند. - تگهای پایدار عددی قدیمی مانند
vYYYY.M.PATCH-1وv1.0.1-1همچنان برای سازگاری بهعنوان تگهای پایدار git شناخته میشوند. vYYYY.M.PATCH.beta.N(جداشده با نقطه) نیز برای سازگاری شناخته میشود؛-beta.Nرا ترجیح دهید.- تگها را تغییرناپذیر نگه دارید: هرگز تگی را جابهجا یا دوباره استفاده نکنید.
- تگهای توزیع npm همچنان مرجع حقیقت برای نصبهای npm هستند:
latest-> پایدارextended-stable-> انتشار بسته ماهِ پشتیبانیشده قبلیbeta-> ساخت نامزد یا ساخت پایدارِ ابتدا-بتاdev-> اسنپشات main (اختیاری)
دردسترسبودن برنامه macOS
ساختهای بتا و توسعه ممکن است شامل انتشار برنامه macOS نباشند. این مشکلی ندارد:
- تگ git و تگ توزیع npm همچنان میتوانند مستقل از یکدیگر منتشر شوند.
- در یادداشتهای انتشار یا گزارش تغییرات ذکر کنید «برای این بتا ساخت macOS وجود ندارد».