Maintenance

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

OpenClaw سه کانال به‌روزرسانی ارائه می‌کند:

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

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

خط‌های پشتیبانی ماهانه‌ی برنامه‌ریزی‌شده

OpenClaw هنوز کانال LTS یا پشتیبانی ماهانه منتشر نمی‌کند. ما در حال حرکت به‌سمت خط‌های پشتیبانی ماهانه‌ی سازگار با SemVer هستیم تا کاربران بتوانند روی یک خط آرام‌تر بمانند در حالی که latest سریع به حرکت ادامه می‌دهد.

شکل نسخه‌ی برنامه‌ریزی‌شده YYYY.M.PATCH است:

  • YYYY سال است.
  • M خط انتشار ماهانه است، بدون صفر ابتدایی.
  • PATCH درون همان خط ماهانه افزایش می‌یابد و در صورت نیاز می‌تواند از 100 هم بیشتر شود.

نمونه برچسب‌های آینده:

  • v2026.6.0، v2026.6.1، v2026.6.2 برای خط ژوئن.
  • v2026.6.3-beta.1 برای یک پیش‌انتشار روی مسیر سریع/latest.
  • یک برچسب توزیع خط پشتیبانی آینده مانند stable-2026-6 یا lts-2026-6 ممکن است به یک خط ماهانه اشاره کند، اما امروز چنین کانالی در دسترس نیست.

تا زمانی که آن مهاجرت انجام شود، کانال‌های عمومی به‌روزرسانی همچنان stable، beta و dev هستند.

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

openclaw update --channel stable
openclaw update --channel beta
openclaw update --channel dev

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

  • stable (نصب‌های بسته‌ای): از طریق برچسب توزیع npm با نام latest به‌روزرسانی می‌شود.
  • beta (نصب‌های بسته‌ای): برچسب توزیع npm با نام beta را ترجیح می‌دهد، اما وقتی beta موجود نباشد یا از برچسب پایدار فعلی قدیمی‌تر باشد، به latest برمی‌گردد.
  • stable (نصب‌های git): آخرین برچسب پایدار git را checkout می‌کند.
  • beta (نصب‌های git): آخرین برچسب beta در git را ترجیح می‌دهد، اما وقتی beta موجود نباشد یا قدیمی‌تر باشد، به آخرین برچسب پایدار git برمی‌گردد.
  • dev: یک checkout از git را تضمین می‌کند (پیش‌فرض ~/openclaw، قابل بازنویسی با OPENCLAW_GIT_DIR)، به main می‌رود، روی بالادست rebase می‌کند، می‌سازد، و CLI سراسری را از همان checkout نصب می‌کند.

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

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

# Install a specific version
openclaw update --tag 2026.4.1-beta.1

# Install from the beta dist-tag (one-off, does not persist)
openclaw update --tag beta

# Install from GitHub main branch (npm tarball)
openclaw update --tag main

# Install a specific npm package spec
openclaw update --tag [email protected]

نکته‌ها:

  • --tag فقط روی نصب‌های بسته‌ای (npm) اعمال می‌شود. نصب‌های git آن را نادیده می‌گیرند.
  • این برچسب پایدار نمی‌شود. اجرای بعدی openclaw update طبق معمول از کانال پیکربندی‌شده‌ی شما استفاده می‌کند.
  • محافظت در برابر پایین‌آوردن نسخه: اگر نسخه‌ی هدف از نسخه‌ی فعلی شما قدیمی‌تر باشد، OpenClaw برای تأیید درخواست می‌دهد (با --yes رد کنید).
  • --channel beta با --tag beta فرق دارد: جریان کانال می‌تواند وقتی beta موجود نیست یا قدیمی‌تر است به stable/latest برگردد، در حالی که --tag beta برچسب توزیع خام beta را فقط برای همان اجرا هدف می‌گیرد.

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

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

openclaw update --dry-run
openclaw update --channel beta --dry-run
openclaw update --tag 2026.4.1-beta.1 --dry-run
openclaw update --dry-run --json

اجرای آزمایشی کانال مؤثر، نسخه‌ی هدف، اقدام‌های برنامه‌ریزی‌شده، و اینکه آیا تأیید پایین‌آوردن نسخه لازم است یا نه را نشان می‌دهد.

Pluginها و کانال‌ها

وقتی با openclaw update کانال‌ها را تغییر می‌دهید، OpenClaw منابع Plugin را نیز همگام‌سازی می‌کند:

  • dev Pluginهای همراه را از checkout گیت ترجیح می‌دهد.
  • stable و beta بسته‌های Plugin نصب‌شده با npm را بازیابی می‌کنند.
  • Pluginهای نصب‌شده با npm پس از تکمیل به‌روزرسانی هسته به‌روزرسانی می‌شوند.

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

openclaw update status

کانال فعال، نوع نصب (git یا بسته)، نسخه‌ی فعلی، و منبع (پیکربندی، برچسب git، شاخه‌ی git، یا پیش‌فرض) را نشان می‌دهد.

بهترین روش‌های برچسب‌گذاری

  • انتشارهایی را برچسب بزنید که می‌خواهید checkoutهای git روی آن‌ها قرار بگیرند (vYYYY.M.D برای انتشارهای پایدار فعلی، vYYYY.M.D-beta.N برای انتشارهای beta فعلی).
  • vYYYY.M.D.beta.N نیز برای سازگاری شناسایی می‌شود، اما -beta.N را ترجیح دهید.
  • برچسب‌های قدیمی vYYYY.M.D-<patch> همچنان به‌عنوان پایدار (غیر beta) شناسایی می‌شوند، اما مدل پشتیبانی ماهانه‌ی برنامه‌ریزی‌شده به‌جای پسوند اصلاحی خط تیره‌دار، از شماره‌های patch عادی (vYYYY.M.PATCH) استفاده خواهد کرد.
  • برچسب‌ها را تغییرناپذیر نگه دارید: هرگز برچسبی را جابه‌جا یا دوباره استفاده نکنید.
  • برچسب‌های توزیع npm همچنان منبع حقیقت برای نصب‌های npm هستند:
    • latest -> پایدار
    • beta -> ساخت نامزد یا ساخت پایدارِ ابتدا beta
    • dev -> snapshot از main (اختیاری)

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

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

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

مرتبط