---
read_when:
    - می‌خواهید بین پایدار/بتا/توسعه جابه‌جا شوید
    - می‌خواهید نسخه، برچسب یا SHA مشخصی را پین کنید
    - شما در حال برچسب‌گذاری یا انتشار نسخه‌های پیش‌انتشار هستید
sidebarTitle: Release Channels
summary: 'کانال‌های پایدار، بتا و توسعه: معناشناسی، تغییر، ثابت‌کردن و برچسب‌گذاری'
title: کانال‌های انتشار
x-i18n:
    generated_at: "2026-04-29T23:03:00Z"
    model: gpt-5.5
    provider: openai
    source_hash: 741d8ed2a1599264e1b41a99e81fac4b06d14cb026aa945a8757b15e5733f682
    source_path: install/development-channels.md
    workflow: 16
---

# کانال‌های توسعه

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

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

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

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

```bash
openclaw update --channel stable
openclaw update --channel beta
openclaw update --channel dev
```

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

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

<Tip>
اگر stable و dev را هم‌زمان می‌خواهید، دو clone نگه دارید و gateway خود را به نسخه پایدار اشاره دهید.
</Tip>

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

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

```bash
# 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 openclaw@2026.4.1-beta.1
```

نکات:

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

## اجرای خشک

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

```bash
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
```

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

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

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

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

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

```bash
openclaw update status
```

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

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

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

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

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

- برچسب git و npm dist-tag همچنان می‌توانند منتشر شوند.
- در یادداشت‌های انتشار یا changelog ذکر کنید «برای این beta بیلد macOS وجود ندارد».

## مرتبط

- [به‌روزرسانی](/fa/install/updating)
- [جزئیات داخلی نصب‌کننده](/fa/install/installer)
