---
read_when:
    - คุณกำลังผสานทรานสปอร์ต QA สังเคราะห์เข้ากับการรันทดสอบในเครื่องหรือบน CI
    - คุณต้องใช้ส่วนการกำหนดค่า qa-channel ที่รวมมาให้
    - คุณกำลังปรับปรุงระบบอัตโนมัติสำหรับการประกันคุณภาพตั้งแต่ต้นจนจบอย่างต่อเนื่อง
summary: Plugin ช่องทางสังเคราะห์ระดับ Slack สำหรับสถานการณ์ QA ของ OpenClaw ที่กำหนดผลได้แน่นอน
title: ช่องทาง QA
x-i18n:
    generated_at: "2026-05-10T19:23:54Z"
    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 ภายใน repo บูตส่วน runtime ของ `qa-channel` ที่มาพร้อมชุด และรันการตรวจสอบตัวเองแบบกำหนดแน่นอน

ชุดสถานการณ์เต็มที่รองรับด้วย repo:

```bash
pnpm openclaw qa suite
```

รันสถานการณ์แบบขนานกับเลน QA Gateway ดู [ภาพรวม QA](/th/concepts/qa-e2e-automation) สำหรับสถานการณ์ โปรไฟล์ และโหมดผู้ให้บริการ

ไซต์ QA ที่รองรับด้วย Docker (Gateway + UI ตัวดีบัก QA Lab ในสแตกเดียว):

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

สร้างไซต์ QA เริ่ม Gateway ที่รองรับด้วย Docker + สแตก QA Lab และพิมพ์ URL ของ QA Lab จากนั้นคุณสามารถเลือกสถานการณ์ เลือกเลนโมเดล เริ่มการรันรายรายการ และดูผลแบบสดได้ ตัวดีบัก QA Lab แยกจากบันเดิล Control UI ที่จัดส่ง

## ที่เกี่ยวข้อง

- [ภาพรวม QA](/th/concepts/qa-e2e-automation) - สแตกโดยรวม อะแดปเตอร์ทรานสปอร์ต การเขียนสถานการณ์
- [Matrix QA](/th/concepts/qa-matrix) - ตัวอย่างตัวรันทรานสปอร์ตจริงที่ขับเคลื่อนช่องทางจริง
- [การจับคู่](/th/channels/pairing)
- [กลุ่ม](/th/channels/groups)
- [ภาพรวมช่องทาง](/th/channels)
