Maintenance

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

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

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

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

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

bash
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 برای هدف‌گیری یک تگ توزیع، نسخه یا مشخصه بسته معین در یک به‌روزرسانی منفرد، بدون تغییر کانال ماندگار، استفاده کنید:

bash
# نصب یک نسخه مشخص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 چه کاری انجام می‌دهد:

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

دردسترس‌بودن برنامه macOS

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

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

مرتبط

Was this useful?
On this page

On this page