---
read_when:
    - شما لایهٔ انتقال QA مصنوعی را به یک اجرای آزمون محلی یا CI متصل می‌کنید.
    - به سطح پیکربندی qa-channel همراه نیاز دارید
    - در حال تکرار و بهبود اتوماسیون تضمین کیفیت سرتاسری هستید
summary: Plugin کانال مصنوعی هم‌ردهٔ Slack برای سناریوهای تضمین کیفیت قطعی OpenClaw
title: کانال تضمین کیفیت
x-i18n:
    generated_at: "2026-05-10T19:24:37Z"
    model: gpt-5.5
    provider: openai
    source_hash: 8f28962032bc5f6b228de731ae6bd9a22831604b506b7073aeffba19ac22e0e8
    source_path: channels/qa-channel.md
    workflow: 16
---

`qa-channel` یک انتقال پیام مصنوعیِ بسته‌بندی‌شده برای QA خودکار OpenClaw است. این یک کانال تولیدی نیست - وجود دارد تا همان مرز Plugin کانال را که انتقال‌های واقعی استفاده می‌کنند تمرین دهد، در حالی که وضعیت را قطعی و کاملا قابل بازرسی نگه می‌دارد.

## چه کاری انجام می‌دهد

- دستورزبان هدف در کلاس Slack:
  - `dm:<user>`
  - `channel:<room>`
  - `group:<room>`
  - `thread:<room>/<thread>`
- گفت‌وگوهای مشترک `channel:` و `group:` برای عامل‌ها به‌عنوان نوبت‌های اتاق گروه/کانال نمایش داده می‌شوند، بنابراین همان سیاست پاسخ قابل مشاهده و مسیریابی ابزار پیام را که Discord، Slack، Telegram و انتقال‌های مشابه استفاده می‌کنند تمرین می‌دهند.
- گذرگاه مصنوعی مبتنی بر HTTP برای تزریق پیام ورودی، ثبت رونوشت خروجی، ایجاد رشته، واکنش‌ها، ویرایش‌ها، حذف‌ها، و کنش‌های جست‌وجو/خواندن.
- اجراکننده خودبررسی سمت میزبان که یک گزارش Markdown را در `.artifacts/qa-e2e/` می‌نویسد.

## پیکربندی

```json
{
  "channels": {
    "qa-channel": {
      "baseUrl": "http://127.0.0.1:43123",
      "botUserId": "openclaw",
      "botDisplayName": "OpenClaw QA",
      "allowFrom": ["*"],
      "pollTimeoutMs": 1000
    }
  }
}
```

کلیدهای حساب:

- `enabled` - کلید اصلی فعال/غیرفعال برای این حساب.
- `name` - برچسب نمایشی اختیاری.
- `baseUrl` - URL گذرگاه مصنوعی.
- `botUserId` - شناسه کاربر ربات به سبک Matrix که در دستورزبان هدف استفاده می‌شود.
- `botDisplayName` - نام نمایشی برای پیام‌های خروجی.
- `pollTimeoutMs` - پنجره انتظار long-poll. عدد صحیح بین 100 و 30000.
- `allowFrom` - فهرست مجاز فرستنده‌ها (شناسه‌های کاربر یا `"*"`). پیام‌های مستقیم و
  سیاست گروه‌های مجاز هر دو از این شناسه‌های فرستنده مصنوعی استفاده می‌کنند.
- `groupPolicy` - سیاست اتاق مشترک: `"open"` (پیش‌فرض)، `"allowlist"`، یا
  `"disabled"`.
- `groupAllowFrom` - فهرست مجاز اختیاری فرستنده‌های اتاق مشترک. وقتی در حالت
  `"allowlist"` حذف شود، QA Channel به `allowFrom` بازمی‌گردد.
- `groups.<room>.requireMention` - پیش از پاسخ‌دادن در یک اتاق گروه/کانال
  مشخص، منشن ربات را الزامی می‌کند. `groups."*"` مقدار پیش‌فرض را تنظیم می‌کند.
- `defaultTo` - هدف جایگزین وقتی هیچ هدفی ارائه نشده باشد.
- `actions.messages` / `actions.reactions` / `actions.search` / `actions.threads` - کنترل دسترسی ابزار به‌ازای هر کنش.

کلیدهای چندحسابی در سطح بالا:

- `accounts` - رکورد بازنویسی‌های نام‌دار به‌ازای هر حساب، با کلید شناسه حساب.
- `defaultAccount` - شناسه حساب ترجیحی وقتی چند حساب پیکربندی شده‌اند.

## اجراکننده‌ها

خودبررسی سمت میزبان (یک گزارش Markdown زیر `.artifacts/qa-e2e/` می‌نویسد):

```bash
pnpm qa:e2e
```

این از طریق `qa-lab` مسیریابی می‌شود، گذرگاه QA داخل مخزن را شروع می‌کند، بخش runtime بسته‌بندی‌شده `qa-channel` را راه‌اندازی می‌کند، و یک خودبررسی قطعی اجرا می‌کند.

مجموعه سناریوهای کامل پشتیبانی‌شده توسط مخزن:

```bash
pnpm openclaw qa suite
```

سناریوها را به‌صورت موازی در برابر مسیر QA gateway اجرا می‌کند. برای سناریوها، پروفایل‌ها، و حالت‌های ارائه‌دهنده، [نمای کلی QA](/fa/concepts/qa-e2e-automation) را ببینید.

سایت QA پشتیبانی‌شده توسط Docker (gateway + رابط اشکال‌زدای QA Lab در یک stack):

```bash
pnpm qa:lab:up
```

سایت QA را می‌سازد، stack مبتنی بر Docker شامل gateway + QA Lab را شروع می‌کند، و URL مربوط به QA Lab را چاپ می‌کند. از آنجا می‌توانید سناریوها را انتخاب کنید، مسیر مدل را برگزینید، اجراهای جداگانه را راه‌اندازی کنید، و نتایج را زنده ببینید. اشکال‌زدای QA Lab از بسته Control UI ارسال‌شده جدا است.

## مرتبط

- [نمای کلی QA](/fa/concepts/qa-e2e-automation) - stack کلی، آداپتورهای انتقال، نگارش سناریو
- [QA Matrix](/fa/concepts/qa-matrix) - نمونه اجراکننده انتقال زنده که یک کانال واقعی را هدایت می‌کند
- [جفت‌سازی](/fa/channels/pairing)
- [گروه‌ها](/fa/channels/groups)
- [نمای کلی کانال‌ها](/fa/channels)
