Maintenance

کانال‌های انتشار

OpenClaw با چهار کانال به‌روزرسانی عرضه می‌شود:

  • پایدار: dist-tag ‏npm با نام latest. برای بیشتر کاربران توصیه می‌شود.
  • پایدارِ توسعه‌یافته: dist-tag ‏npm با نام extended-stable. یک کانال بسته‌ای کاملاً جدید و با تأخیر زمانی برای ماه‌های پشتیبانی‌شده است. این کانال فقط بسته‌ای است و نصب آن فقط در پیش‌زمینه انجام می‌شود. وقتی update.checkOnStart فعال باشد، انتخاب ذخیره‌شده راهنمایی‌های فقط‌خواندنی به‌روزرسانی را دریافت می‌کند، اما هرگز به‌طور خودکار اعمال نمی‌شود.
  • بتا: dist-tag ‏npm با نام beta. وقتی beta وجود نداشته باشد یا از انتشار پایدار فعلی قدیمی‌تر باشد، به latest بازمی‌گردد.
  • توسعه: نوک متحرک شاخه main در git. هنگام انتشار، dist-tag ‏npm با نام dev. شاخه main برای آزمایش و توسعه فعال است؛ ممکن است شامل قابلیت‌های ناقص یا تغییرات ناسازگار باشد. آن را برای Gatewayهای عملیاتی اجرا نکنید.

ساخت‌های پایدار معمولاً ابتدا در بتا منتشر و همان‌جا ارزیابی می‌شوند، سپس بدون افزایش نسخه به latest ارتقا می‌یابند. نگه‌دارندگان همچنین می‌توانند مستقیماً در latest منتشر کنند. dist-tagها مرجع نهایی نصب‌های npm هستند.

تغییر کانال‌ها

bash
openclaw update --channel stableopenclaw update --channel extended-stableopenclaw update --channel betaopenclaw update --channel dev

گزینه --channel انتخاب را در update.channel در پیکربندی ماندگار می‌کند و هر دو مسیر نصب را هدایت می‌کند:

کانال نصب‌های npm/بسته نصب‌های git
stable dist-tag ‏latest جدیدترین برچسب پایدار git (به‌جز -alpha.N، -beta.N، -rc.N، -dev.N، -next.N، -preview.N، -canary.N، -nightly.N و سایر پسوندهای نام‌دار پیش‌انتشار)
extended-stable انتخاب‌گر عمومی extended-stable در npm را تفکیک می‌کند، بسته دقیق انتخاب‌شده را تأیید می‌کند و همان نسخه دقیق را نصب می‌کند. بدون هیچ بازگشتی به latest،‏ beta یا dev به‌صورت بسته شکست می‌خورد. پشتیبانی نمی‌شود: OpenClaw نسخه کاری را بدون تغییر می‌گذارد و از شما می‌خواهد از نصب بسته‌ای استفاده کنید
beta dist-tag ‏beta، با بازگشت به latest وقتی beta وجود ندارد یا قدیمی‌تر است جدیدترین برچسب بتای git، با بازگشت به جدیدترین برچسب پایدار git وقتی بتا وجود ندارد یا قدیمی‌تر است
dev dist-tag ‏dev (نادر؛ بیشتر کاربران توسعه از نصب‌های git استفاده می‌کنند) دریافت می‌کند، نسخه کاری را روی شاخه بالادستی main بازپایه‌گذاری می‌کند، می‌سازد و CLI سراسری را دوباره نصب می‌کند

برای نصب‌های git کانال dev، نسخه کاری پیش‌فرض ~/openclaw است (یا وقتی OPENCLAW_HOME تنظیم شده باشد، $OPENCLAW_HOME/openclaw)؛ با OPENCLAW_GIT_DIR آن را بازنویسی کنید.

هدف‌گیری یک‌باره نسخه یا برچسب

از --tag برای هدف‌گیری یک dist-tag، نسخه یا مشخصات بسته خاص در یک به‌روزرسانی منفرد، بدون تغییر کانال ماندگار، استفاده کنید:

bash
# نصب یک نسخه مشخصopenclaw update --tag 2026.4.1-beta.1 # نصب از dist-tag بتا (یک‌باره، ماندگار نمی‌شود)openclaw update --tag beta # تغییر به نسخه کاری متحرک main در GitHub (ماندگار)openclaw update --channel dev # نصب یک مشخصات بسته npmopenclaw 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 برای همان اجرای یک‌باره همیشه dist-tag خام beta را هدف می‌گیرد.

اجرای آزمایشی

بدون اعمال تغییرات، کاری را که openclaw update انجام خواهد داد پیش‌نمایش کنید:

bash
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 پس از تکمیل به‌روزرسانی هسته، به‌روزرسانی می‌شوند.

بررسی وضعیت فعلی

bash
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 را ترجیح دهید.
  • برچسب‌ها را تغییرناپذیر نگه دارید: هرگز یک برچسب را جابه‌جا یا دوباره استفاده نکنید.
  • dist-tagهای npm همچنان مرجع نهایی نصب‌های npm هستند:
    • latest -> پایدار
    • extended-stable -> انتشار بسته‌ای مربوط به ماه پشتیبانی‌شده قبلی
    • beta -> ساخت نامزد یا ساخت پایدار با انتشار اولیه در بتا
    • dev -> تصویر لحظه‌ای main (اختیاری)

دسترس‌پذیری برنامه macOS

ساخت‌های بتا و توسعه ممکن است شامل انتشار برنامه macOS نباشند. این اشکالی ندارد:

  • برچسب git و dist-tag ‏npm همچنان می‌توانند به‌تنهایی منتشر شوند.
  • عبارت «برای این بتا ساخت macOS وجود ندارد» را در یادداشت‌های انتشار یا گزارش تغییرات ذکر کنید.

مرتبط

Was this useful?
On this page

On this page