Get started

کانال تضمین کیفیت

qa-channel یک انتقال پیام مصنوعی و محلیِ مخزن برای QA خودکار OpenClaw است (extensions/qa-channel، بستهٔ خصوصی، حذف‌شده از نصب‌های بسته‌بندی‌شده). این یک کانال عملیاتی نیست؛ برای به‌کارگیری همان مرز 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 - نشانی اینترنتی گذرگاه مصنوعی. پس از تنظیم این مقدار، حساب پیکربندی‌شده محسوب می‌شود.
  • botUserId - شناسهٔ کاربر ربات مصنوعی که در دستور زبان مقصد استفاده می‌شود (پیش‌فرض: openclaw).
  • botDisplayName - نام نمایشی پیام‌های خروجی (پیش‌فرض: OpenClaw QA).
  • pollTimeoutMs - بازهٔ انتظار نظرسنجی طولانی. عدد صحیحی بین 100 و 30000 (پیش‌فرض: 1000).
  • allowFrom - فهرست مجاز فرستندگان (شناسه‌های کاربر یا "*"؛ پیش‌فرض: ["*"]). پیام‌های مستقیم همیشه از سیاست open پیروی می‌کنند؛ سیاست گروه مجازشده نیز از همین شناسه‌های مصنوعی فرستنده استفاده می‌کند.
  • groupPolicy - سیاست اتاق مشترک: "open" (پیش‌فرض)، "allowlist" یا "disabled".
  • groupAllowFrom - فهرست مجاز اختیاری فرستندگان اتاق مشترک. اگر در حالت "allowlist" حذف شود، QA Channel به allowFrom بازمی‌گردد.
  • groups.<room>.requireMention - الزام به منشن‌کردن ربات پیش از پاسخ‌دادن در یک اتاق گروه/کانال مشخص (پیش‌فرض: false). groups."*" مقدار پیش‌فرض را تعیین می‌کند؛ tools / toolsBySender مختص هر اتاق، بازنویسی‌های سیاست ابزار را تعیین می‌کنند.
  • defaultTo - مقصد جایگزین هنگامی که هیچ مقصدی ارائه نشده است.
  • actions.messages / actions.reactions / actions.search / actions.threads - دروازه‌بندی ابزار برای هر عملیات.

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

  • accounts - رکورد بازنویسی‌های نام‌گذاری‌شدهٔ مختص هر حساب، با شناسهٔ حساب به‌عنوان کلید.
  • defaultAccount - شناسهٔ حساب ترجیحی هنگامی که چند حساب پیکربندی شده‌اند.

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

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

bash
pnpm qa:e2e

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

مجموعهٔ کامل سناریوهای مبتنی بر مخزن:

bash
pnpm openclaw qa suite

سناریوها را به‌صورت موازی در برابر مسیر Gateway مربوط به QA اجرا می‌کند. برای سناریوها، پروفایل‌ها و حالت‌های ارائه‌دهنده، نمای کلی QA را ببینید.

سایت QA مبتنی بر Docker ‏(Gateway و رابط کاربری اشکال‌زدایی QA Lab در یک پشته):

bash
pnpm qa:lab:up

سایت QA را می‌سازد، پشتهٔ Gateway و QA Lab مبتنی بر Docker را راه‌اندازی می‌کند و نشانی اینترنتی QA Lab را چاپ می‌کند. از آنجا می‌توان سناریوها را انتخاب کرد، مسیر مدل را برگزید، اجراهای جداگانه را آغاز کرد و نتایج را به‌صورت زنده مشاهده کرد. اشکال‌زدای QA Lab از بستهٔ Control UI منتشرشده جدا است.

مرتبط

Was this useful?
On this page

On this page