---
read_when:
    - คุณต้องการกระดานงานแบบ Kanban ใน Control UI
    - คุณกำลังเปิดหรือปิดใช้งาน Plugin Workboard ที่มาพร้อมกับระบบ
    - คุณต้องการติดตามงาน agent ที่วางแผนไว้โดยไม่ใช้ตัวจัดการโปรเจกต์ภายนอก
summary: กระดานงานแดชบอร์ดเสริมสำหรับการ์ดที่เอเจนต์เป็นเจ้าของและการส่งต่อเซสชัน
title: Plugin กระดานงาน
x-i18n:
    generated_at: "2026-06-27T18:09:46Z"
    model: gpt-5.5
    postprocess_version: locale-links-v1
    provider: openai
    source_hash: caca6263b4ee08b36816ef6acdef506499c66b4d27f4f75551ac7784b2bf3324
    source_path: plugins/workboard.md
    workflow: 16
---

Plugin Workboard เพิ่มบอร์ดสไตล์ Kanban แบบเลือกใช้ได้ให้กับ
[Control UI](/th/web/control-ui) ใช้เพื่อรวบรวมการ์ดงานขนาดเหมาะกับเอเจนต์ มอบหมาย
ให้เอเจนต์ และติดตามงานเบื้องหลัง รัน และเซสชันแดชบอร์ดที่ลิงก์ไว้จากการ์ดเดียว

Workboard ถูกออกแบบให้มีขนาดเล็กโดยตั้งใจ ใช้ติดตามงานปฏิบัติการภายในเครื่องสำหรับ
OpenClaw Gateway ไม่ใช่สิ่งทดแทน GitHub Issues, Linear, Jira หรือ
ระบบจัดการโปรเจกต์ของทีมอื่นๆ

## สถานะเริ่มต้น

Workboard เป็น Plugin ที่รวมมา และถูกปิดใช้งานโดยค่าเริ่มต้น เว้นแต่คุณจะเปิดใช้งาน
ในคอนฟิก Plugin

เปิดใช้งานด้วย:

```bash
openclaw plugins enable workboard
openclaw gateway restart
```

จากนั้นเปิดแดชบอร์ด:

```bash
openclaw dashboard
```

แท็บ Workboard จะปรากฏในการนำทางของแดชบอร์ด หากแท็บมองเห็นได้
แต่ Plugin ถูกปิดใช้งานหรือถูกบล็อกโดย `plugins.allow` / `plugins.deny`
มุมมองจะแสดงสถานะว่า Plugin ไม่พร้อมใช้งานแทนข้อมูลการ์ดภายในเครื่อง

## สิ่งที่การ์ดมี

การ์ดแต่ละใบจัดเก็บ:

- ชื่อและบันทึก
- สถานะ: `triage`, `backlog`, `todo`, `scheduled`, `ready`, `running`,
  `review`, `blocked` หรือ `done`
- ลำดับความสำคัญ: `low`, `normal`, `high` หรือ `urgent`
- ป้ายกำกับ
- id เอเจนต์แบบเลือกได้
- งาน รัน เซสชัน หรือ URL แหล่งที่มาที่ลิงก์ไว้แบบเลือกได้
- เมทาดาทาการดำเนินการแบบเลือกได้สำหรับรัน Codex หรือ Claude ที่เริ่มจากการ์ด
- เมทาดาทาแบบกะทัดรัดสำหรับความพยายาม ความคิดเห็น ลิงก์ หลักฐาน อาร์ติแฟกต์ ระบบอัตโนมัติ
  ไฟล์แนบ บันทึกของผู้ปฏิบัติงาน สถานะโปรโตคอลของผู้ปฏิบัติงาน การอ้างสิทธิ์ การวินิจฉัย
  การแจ้งเตือน เทมเพลต สถานะการเก็บถาวร และการตรวจจับเซสชันค้าง
- เหตุการณ์ล่าสุดของการ์ด เช่น การสร้าง การย้าย การลิงก์ การอ้างสิทธิ์ Heartbeat
  ความพยายาม หลักฐาน อาร์ติแฟกต์ การวินิจฉัย การแจ้งเตือน การส่งงาน การเก็บถาวร สถานะค้าง
  หรือการเปลี่ยนแปลงที่เอเจนต์อัปเดต

การ์ดถูกจัดเก็บในสถานะ Gateway ของ Plugin การ์ดเป็นข้อมูลภายในไดเรกทอรีสถานะของ Gateway
และย้ายไปพร้อมกับสถานะ OpenClaw ที่เหลือของ Gateway นั้น

Workboard เก็บเมทาดาทาต่อการ์ดแบบกะทัดรัด เพื่อให้ผู้ปฏิบัติงานเห็นได้ว่าการ์ดเคลื่อนผ่าน
บอร์ดอย่างไรโดยไม่ต้องเปิดเซสชันที่ลิงก์ไว้ เหตุการณ์ สรุปความพยายาม
ส่วนย่อยหลักฐาน ลิงก์ที่เกี่ยวข้อง ความคิดเห็น เครื่องหมายเก็บถาวร และเครื่องหมายเซสชันค้าง
เป็นเมทาดาทาภายในเครื่องโดยตั้งใจ ไม่ได้แทนที่ทรานสคริปต์เซสชันหรือประวัติ GitHub issue

## การดำเนินการของการ์ดและงาน

การ์ดที่ยังไม่ลิงก์สามารถเริ่มงานจากการ์ดได้ การเริ่มแบบอัตโนมัติใช้เส้นทางรันเอเจนต์
ที่ติดตามงานของ Gateway จากนั้น Workboard จะลิงก์งานที่ได้ id รัน และคีย์เซสชัน
กลับเข้ากับการ์ด การเริ่มใช้เอเจนต์และโมเดลเริ่มต้นที่กำหนดไว้ของ Gateway
การกระทำ Codex และ Claude เป็นตัวเลือกโมเดลแบบชัดเจนที่เลือกใช้ได้:

- Run Codex หรือ Run Claude เริ่มรันเอเจนต์ที่มีงานรองรับ ส่งพรอมป์ของการ์ด
  และทำเครื่องหมายการ์ดเป็น `running`
- Open Codex หรือ Open Claude สร้างเซสชันแดชบอร์ดที่ลิงก์ไว้โดยไม่ส่งพรอมป์ของการ์ด
  หรือย้ายการ์ด เพื่อให้คุณทำงานด้วยตนเองได้ขณะที่การ์ดยังคงแนบอยู่กับบอร์ด

เมทาดาทาการดำเนินการจัดเก็บเอนจิน โหมด การอ้างอิงโมเดล คีย์เซสชัน
id รัน id งานเมื่อมี และสถานะวงจรชีวิตที่เลือกไว้บนการ์ด การดำเนินการ Codex
ใช้ `openai/gpt-5.5`; การดำเนินการ Claude ใช้
`anthropic/claude-sonnet-4-6`

การดำเนินการที่ลิงก์แต่ละครั้งยังบันทึกสรุปความพยายามไว้ในระเบียนการ์ดเดียวกัน
สรุปความพยายามเก็บเอนจิน โหมด โมเดล id รัน ประทับเวลา สถานะ
และจำนวนความล้มเหลวแบบสะสม เพื่อให้ความล้มเหลวซ้ำยังคงมองเห็นได้บนบอร์ด

แดชบอร์ดรีเฟรชสถานะงานจากบัญชีแยกประเภทงานของ Gateway และจับคู่งานกลับไปยังการ์ด
ด้วย id งาน id รัน หรือคีย์เซสชันที่ลิงก์ไว้ หากงานอยู่ในคิวหรือกำลังรัน
วงจรชีวิตของการ์ดจะแสดงสถานะงานที่ใช้งานอยู่ หากงานเสร็จ ล้มเหลว หมดเวลา
หรือถูกยกเลิก วงจรชีวิตของการ์ดจะย้ายไปทางสถานะตรวจทานหรือถูกบล็อก
โดยใช้การซิงก์วงจรชีวิตเดียวกับเซสชันที่ลิงก์ไว้

## การประสานงานเอเจนต์

Workboard ยังเปิดเผยเครื่องมือเอเจนต์แบบเลือกใช้ได้สำหรับเวิร์กโฟลว์ที่รับรู้บอร์ด:

- `workboard_list` แสดงรายการการ์ดแบบกะทัดรัดพร้อมสถานะการอ้างสิทธิ์และการวินิจฉัย
  โดยมีตัวกรองบอร์ดแบบเลือกได้
- `workboard_read` คืนการ์ดหนึ่งใบพร้อมบริบทผู้ปฏิบัติงานแบบจำกัดที่สร้างจากบันทึก
  ความพยายาม ความคิดเห็น ลิงก์ หลักฐาน อาร์ติแฟกต์ ผลลัพธ์พาเรนต์ งานล่าสุดของผู้รับมอบหมาย
  และการวินิจฉัยที่ใช้งานอยู่
- `workboard_create` สร้างการ์ดพร้อมพาเรนต์ tenant, Skills,
  บอร์ด เมทาดาทาเวิร์กสเปซ คีย์ idempotency ขีดจำกัดรันไทม์ และงบประมาณการลองใหม่แบบเลือกได้
- `workboard_link` ลิงก์การ์ดพาเรนต์เข้ากับการ์ดลูก ลูกจะคงอยู่ใน `todo`
  จนกว่าพาเรนต์ทุกใบจะถึง `done`; จากนั้นการเลื่อนขั้นจากการส่งงานจะย้ายลูกไปยัง
  `ready`
- `workboard_claim` อ้างสิทธิ์การ์ดสำหรับเอเจนต์ที่เรียกใช้ และย้ายการ์ด backlog, todo
  หรือ ready ไปเป็น `running`
- `workboard_heartbeat` รีเฟรช Heartbeat ของการอ้างสิทธิ์ระหว่างรันที่ใช้เวลานาน
- `workboard_release` ปล่อยการอ้างสิทธิ์หลังเสร็จสิ้น หยุดพัก หรือส่งต่อ
  และสามารถย้ายการ์ดไปยังสถานะถัดไปได้
- `workboard_complete` และ `workboard_block` เป็นเครื่องมือวงจรชีวิตแบบมีโครงสร้างสำหรับ
  สรุปสุดท้าย หลักฐาน อาร์ติแฟกต์ manifest ของการ์ดที่สร้างขึ้น และเหตุผลของตัวบล็อก
  manifest ของการ์ดที่สร้างขึ้นต้องอ้างอิงการ์ดที่ลิงก์กลับไปยังการ์ดที่เสร็จสิ้น
  ซึ่งช่วยกันไม่ให้ลูกล่องหนหลุดเข้าไปในสรุป
- `workboard_attachment_add`, `workboard_attachment_read` และ
  `workboard_attachment_delete` จัดเก็บไฟล์แนบการ์ดขนาดเล็กในสถานะ SQLite ของ Plugin
  ทำดัชนีไว้บนการ์ด และเปิดเผยในบริบทผู้ปฏิบัติงาน
- `workboard_worker_log` และ `workboard_protocol_violation` บันทึกบรรทัดล็อกของผู้ปฏิบัติงาน
  และบล็อกการ์ดเมื่อผู้ปฏิบัติงานอัตโนมัติหยุดโดยไม่เรียก
  `workboard_complete` หรือ `workboard_block`
- `workboard_board_create`, `workboard_board_archive` และ
  `workboard_board_delete` จัดการเมทาดาทาบอร์ดที่คงอยู่ เช่น ชื่อที่แสดง
  คำอธิบาย สถานะการเก็บถาวร และเวิร์กสเปซเริ่มต้น
- `workboard_runs` คืนประวัติความพยายามรันที่คงอยู่ซึ่งจัดเก็บบนการ์ด
- `workboard_specify` เปลี่ยนการ์ด triage หรือ backlog แบบหยาบให้เป็นการ์ด
  `todo` ที่ชัดเจนขึ้น และบันทึกสรุปข้อกำหนดไว้บนการ์ด
- `workboard_decompose` กระจายการ์ดจัดการพาเรนต์ออกเป็นลูกที่ลิงก์ไว้
  รับช่วงเมทาดาทาบอร์ดและ tenant และสามารถทำให้พาเรนต์เสร็จสิ้นพร้อม
  manifest ของการ์ดที่สร้างขึ้น
- `workboard_notify_subscribe`, `workboard_notify_list`,
  `workboard_notify_events`, `workboard_notify_advance` และ
  `workboard_notify_unsubscribe` จัดการการสมัครรับการแจ้งเตือนในสถานะ Plugin
  การอ่านเหตุการณ์ปลอดภัยต่อการเล่นซ้ำ; เครื่องมือ advance ย้ายเคอร์เซอร์ที่คงทน
  เพื่อให้ผู้เรียกกลับมาทำงานต่อได้โดยไม่สูญเสียหรืออ่านเหตุการณ์การ์ดที่เสร็จสิ้น ล้มเหลว
  หรือค้างซ้ำ
- `workboard_boards`, `workboard_stats`, `workboard_promote`,
  `workboard_reassign`, `workboard_reclaim`, `workboard_comment`,
  `workboard_proof`, `workboard_unblock` และ `workboard_dispatch` ให้เอเจนต์
  ตรวจสอบเนมสเปซบอร์ด ดูสถิติคิว กู้คืนงานที่ติดค้าง เพิ่มบันทึกการส่งต่อ
  แนบหลักฐานหรือการอ้างอิงอาร์ติแฟกต์ ย้ายงานที่ถูกบล็อกกลับไปยัง `todo`
  และกระตุ้นการเลื่อนขั้นตาม dependency หรือการล้างการอ้างสิทธิ์ที่ค้าง

การ์ดที่ถูกอ้างสิทธิ์จะปฏิเสธการกลายพันธุ์ผ่านเครื่องมือเอเจนต์จากเอเจนต์อื่น
เว้นแต่ผู้เรียกจะมีโทเค็นการอ้างสิทธิ์ที่ส่งคืนโดย `workboard_claim`
ผู้ปฏิบัติงานแดชบอร์ดยังคงใช้พื้นผิว RPC ปกติของ Gateway และสามารถกู้คืนหรือมอบหมายการ์ดใหม่ได้

Workboard จัดเก็บข้อมูลบอร์ดที่คงทนในฐานข้อมูล SQLite เชิงสัมพันธ์ที่ Plugin เป็นเจ้าของ
ภายใต้ไดเรกทอรีสถานะ OpenClaw บอร์ด การ์ด ป้ายกำกับ เหตุการณ์วงจรชีวิต
ความพยายามรัน ความคิดเห็น ลิงก์ dependency หลักฐาน การอ้างอิงอาร์ติแฟกต์
เมทาดาทาและ blob ของไฟล์แนบ การวินิจฉัย การแจ้งเตือน บันทึกของผู้ปฏิบัติงาน
สถานะโปรโตคอล และการสมัครรับ ถูกคงอยู่ในตาราง Workboard แทนรายการ key-value ของ Plugin
การส่งออกการ์ดยังคงรักษาเรื่องราวของบอร์ดไว้โดยไม่ฝังเนื้อหา blob ของไฟล์แนบไว้ภายใน

การติดตั้งที่ใช้ Workboard ในรีลีส `.28` สามารถรัน
`openclaw doctor --fix` เพื่อย้ายเนมสเปซสถานะ Plugin แบบเดิมที่เคยส่งมอบ
(`workboard.cards`, `workboard.boards` และ `workboard.notify`) ไปยัง
ฐานข้อมูลเชิงสัมพันธ์ หากมีเนมสเปซ `workboard.attachments` แบบเดิมอยู่
doctor จะย้าย blob ของไฟล์แนบเหล่านั้นด้วย

การวินิจฉัย Workboard คำนวณจากเมทาดาทาการ์ดภายในเครื่อง การตรวจสอบในตัว
จะติดธงการ์ดที่มอบหมายแล้วแต่รอนานเกินไป การ์ดที่กำลังรันโดยไม่มี Heartbeat ล่าสุด
การ์ดที่ถูกบล็อกและต้องการความสนใจ ความล้มเหลวซ้ำ การ์ด done ที่ไม่มีหลักฐาน
และการ์ดที่กำลังรันซึ่งมีเพียงลิงก์เซสชันแบบหลวม

การส่งงานเป็นแบบภายใน Gateway โดยตั้งใจ ไม่ได้ spawn โปรเซสของระบบปฏิบัติการตามอำเภอใจ;
เซสชัน subagent ปกติของ OpenClaw ยังคงเป็นเจ้าของการดำเนินการ การกระทำ dispatch
เลื่อนขั้นการ์ดที่ dependency พร้อม บันทึกเมทาดาทาการส่งงานบนการ์ด ready
บล็อกการอ้างสิทธิ์ที่หมดอายุหรือรันที่หมดเวลา ทำเครื่องหมายการ์ด triage ที่กำหนดค่าในบอร์ด
เป็นผู้สมัครสำหรับการจัดการ จากนั้นอ้างสิทธิ์การ์ด ready ชุดเล็กๆ
และเริ่มรันผู้ปฏิบัติงานผ่านรันไทม์ subagent ของ Gateway การ์ดที่มอบหมายแล้วใช้คีย์เซสชัน
ผู้ปฏิบัติงาน `agent:<id>:subagent:workboard-*`; การ์ดที่ไม่ได้มอบหมายใช้คีย์
`subagent:workboard-*` แบบไม่มีสโคป เพื่อให้ Gateway ยังคง resolve เอเจนต์เริ่มต้นที่กำหนดไว้
ผู้ปฏิบัติงานได้รับบริบทการ์ดแบบจำกัดพร้อมโทเค็นการอ้างสิทธิ์ที่ต้องใช้เพื่อส่ง Heartbeat
ทำให้เสร็จสิ้น หรือบล็อกการ์ดผ่านเครื่องมือ Workboard

### การเลือกผู้ปฏิบัติงานของ dispatch

การส่งงานแต่ละรอบเริ่มผู้ปฏิบัติงานได้สูงสุดสามรายโดยค่าเริ่มต้น การ์ด ready
ถูกเรียงตามลำดับความสำคัญ ตำแหน่ง และเวลาสร้าง จากนั้นกรองเพื่อหลีกเลี่ยง
การเป็นเจ้าของที่ใช้งานอยู่ซ้ำกัน การส่งงานจะเริ่มการ์ดเพียงใบเดียวสำหรับเจ้าของหรือเอเจนต์หนึ่งราย
ในรอบเดียวกัน และจะข้ามเจ้าของที่มีงาน running หรือ review อยู่บนบอร์ดแล้ว

การ์ดที่เก็บถาวร การ์ดที่มีการอ้างสิทธิ์ที่ใช้งานอยู่ และการ์ดที่ไม่มีสถานะ `ready`
จะไม่ถูกเลือกให้เริ่มผู้ปฏิบัติงาน การ์ดเหล่านี้ยังอาจได้รับผลจากด้านข้อมูลของ dispatch
เมื่อมีการอ้างสิทธิ์ค้าง การเลื่อนขั้น dependency หรือการล้างหมดเวลา

### พรอมป์และวงจรชีวิตของผู้ปฏิบัติงาน

พรอมป์ของผู้ปฏิบัติงานประกอบด้วยชื่อการ์ด บันทึกและบริบทแบบจำกัด
บอร์ดที่มอบหมาย และโปรโตคอลผู้ปฏิบัติงาน Workboard นอกจากนี้ยังมีเจ้าของการอ้างสิทธิ์
และโทเค็นการอ้างสิทธิ์ เพื่อให้ผู้ปฏิบัติงานสามารถเรียก `workboard_heartbeat`,
`workboard_complete` หรือ `workboard_block` ได้โดยไม่มีผู้กระทำอื่นเข้ายึดการ์ด

เมื่อผู้ปฏิบัติงานเริ่มสำเร็จ Workboard จะจัดเก็บคีย์เซสชัน id รัน
เอนจิน โหมด ป้ายกำกับโมเดล สถานะ และบันทึกผู้ปฏิบัติงานไว้บนการ์ด คีย์เซสชัน
เป็นแบบกำหนดได้แน่นอนสำหรับบอร์ดและการ์ด ซึ่งทำให้การส่งงานซ้ำ route กลับไปยังเลนผู้ปฏิบัติงานเดิม
แทนที่จะสร้างเซสชันที่ไม่เกี่ยวข้องกัน

หากไม่สามารถเริ่มผู้ปฏิบัติงานหลังจากการ์ดถูกอ้างสิทธิ์ Workboard จะบล็อกการ์ด
ล้างการอ้างสิทธิ์ บันทึกความล้มเหลวในการเริ่มรัน และเพิ่มบรรทัดล็อกผู้ปฏิบัติงาน
ความล้มเหลวนั้นมองเห็นได้ในแดชบอร์ด CLI JSON เครื่องมือเอเจนต์ และการวินิจฉัยการ์ด

### จุดเข้าของ dispatch

การเริ่มผู้ปฏิบัติงานสำหรับการ์ด ready สามารถเกิดขึ้นจาก:

- การกระทำ dispatch ในแดชบอร์ด
- `openclaw workboard dispatch`
- `/workboard dispatch` บนช่องทางที่รองรับคำสั่ง

จุดเข้าทั้งสามใช้รันไทม์ subagent ของ Gateway เมื่อ Gateway พร้อมใช้งาน
CLI มี fallback สำหรับผู้ปฏิบัติงานเพิ่มอีกหนึ่งอย่าง: หาก Gateway ออฟไลน์หรือ
ไม่ได้เปิดเผยเมธอด dispatch ของ Workboard และไม่ได้ระบุเป้าหมาย `--url` หรือ
`--token` อย่างชัดเจน CLI จะรัน dispatch แบบข้อมูลเท่านั้นกับสถานะ SQLite ภายในเครื่อง
fallback นั้นสามารถเลื่อนขั้น dependency ล้างการอ้างสิทธิ์ค้าง และบล็อกรันที่หมดเวลา
แต่ไม่สามารถเริ่มผู้ปฏิบัติงานได้

เมทาดาทาบอร์ดสามารถมีการตั้งค่าการจัดการ เช่น `autoDecompose`,
`autoDecomposePerDispatch`, `defaultAssignee` และ `orchestratorProfile`
OpenClaw บันทึกเจตนาการจัดการและเปิดเผยในบริบทผู้ปฏิบัติงาน; การระบุข้อกำหนด
และการแยกย่อยจริงยังคงเกิดขึ้นผ่านเครื่องมือ Workboard ตามปกติ

## CLI และคำสั่ง slash

Plugin ลงทะเบียนคำสั่ง CLI ระดับราก:

```bash
openclaw workboard list
openclaw workboard create "Fix stale card lifecycle" --priority high --labels bug,workboard
openclaw workboard show <card-id>
openclaw workboard dispatch
```

`openclaw workboard dispatch` เรียก Gateway ที่กำลังทำงานอยู่ เพื่อให้การเริ่ม worker ใช้
runtime ของ subagent เดียวกับแดชบอร์ด หาก Gateway ใช้งานไม่ได้ ระบบจะถอยกลับไปใช้
dispatch แบบข้อมูลเท่านั้น เพื่อให้การเลื่อนระดับ dependency, การล้าง stale claim และ
การบล็อก timeout ยังทำงานได้ ความล้มเหลวด้าน Auth, permission และ validation ยังคง
แสดงเป็นข้อผิดพลาดของคำสั่ง เช่นเดียวกับความล้มเหลวสำหรับเป้าหมาย `--url` หรือ `--token`
ที่ระบุอย่างชัดเจน

คำสั่ง slash `/workboard` รองรับเส้นทาง operator แบบกะทัดรัดเดียวกัน:
`/workboard list`, `/workboard show <card-id>`, `/workboard create <title>` และ
`/workboard dispatch` List และ show เป็นการดำเนินการอ่านสำหรับผู้ส่งคำสั่งที่ได้รับอนุญาต
Create และ dispatch ต้องมีสถานะ owner บนพื้นผิวแชต หรือเป็น client ของ Gateway
ที่มี `operator.write` หรือ `operator.admin`

ดู [Workboard CLI](/th/cli/workboard) สำหรับแฟล็กคำสั่ง, เอาต์พุต JSON, พฤติกรรม fallback ของ Gateway,
การจัดการ id-prefix ที่ไม่กำกวม, กฎการเลือก dispatch และการแก้ไขปัญหา

## การซิงก์วงจรชีวิตของเซสชัน

การ์ดสามารถลิงก์กับเซสชันแดชบอร์ดที่มีอยู่ หรือกับเซสชันที่สร้างขึ้น
เมื่อคุณเริ่มงานจากการ์ด การ์ดที่ลิงก์จะแสดงวงจรชีวิตของเซสชันแบบ inline:
กำลังทำงาน, stale, idle ที่ลิงก์อยู่, เสร็จสิ้น, ล้มเหลว หรือหายไป

หากเซสชันที่ลิงก์หายไป การ์ดจะยังคงลิงก์ไว้เพื่อบริบท และยังคง
มีตัวควบคุมเริ่มงานเพื่อให้คุณเริ่มงานใหม่ในเซสชันแดชบอร์ดใหม่ได้
หากเซสชันที่ลิงก์และยัง active หยุดรายงานกิจกรรมล่าสุด Workboard จะทำเครื่องหมาย
การ์ดเป็น stale และเก็บเครื่องหมายนั้นเป็น metadata ของการ์ดจนกว่าวงจรชีวิตจะล้างออก

คุณยังสามารถจับเซสชันแดชบอร์ดที่มีอยู่จากแท็บ Sessions ด้วย
Add to Workboard ได้ การ์ดจะถูกลิงก์กับเซสชันนั้น ใช้ป้ายกำกับเซสชันหรือ
พรอมป์ผู้ใช้ล่าสุดเป็นชื่อ และเติมโน้ตตั้งต้นจากพรอมป์ผู้ใช้ล่าสุดพร้อมกับ
คำตอบล่าสุดของ assistant เมื่อมีประวัติแชตให้ใช้

Workboard จะติดตามเซสชันที่ลิงก์อยู่ขณะที่การ์ดยังอยู่ในสถานะงานที่ active:

- เซสชันที่ลิงก์และ active -> `running`
- เซสชันที่ลิงก์และเสร็จสมบูรณ์ -> `review`
- เซสชันที่ลิงก์และล้มเหลว, ถูก kill, timed out หรือถูก abort -> `blocked`

สถานะ review แบบแมนนวลมีความสำคัญกว่า หากคุณย้ายการ์ดไปที่ `review`, `blocked` หรือ `done`
Workboard จะหยุดย้ายการ์ดนั้นโดยอัตโนมัติจนกว่าคุณจะย้ายกลับไปที่ `todo` หรือ
`running`

## เวิร์กโฟลว์แดชบอร์ด

1. เปิดแท็บ Workboard ใน Control UI
2. สร้างการ์ดพร้อมชื่อ, โน้ต, priority, labels, agent ทางเลือก และ
   เซสชันที่ลิงก์ทางเลือก
3. หรือเปิด Sessions แล้วเลือก Add to Workboard สำหรับเซสชันที่มีอยู่
4. ลากการ์ดระหว่างคอลัมน์ หรือโฟกัสตัวควบคุมสถานะแบบกะทัดรัดบนการ์ด
   แล้วใช้เมนูหรือ ArrowLeft/ArrowRight
5. เริ่มงานจากการ์ดเพื่อสร้างหรือใช้เซสชันแดชบอร์ดซ้ำ
6. เปิดเซสชันที่ลิงก์จากการ์ดขณะที่ agent ทำงาน
7. ให้การซิงก์วงจรชีวิตย้ายงานที่กำลังทำงานไปยัง review หรือ blocked จากนั้นย้าย
   การ์ดไปที่ done ด้วยตนเองเมื่อยอมรับแล้ว

การเริ่มการ์ดใช้เซสชัน Gateway ตามปกติ Plugin Workboard เก็บเฉพาะ
metadata และลิงก์ของการ์ด ส่วน transcript ของการสนทนา, การเลือกโมเดล และวงจรชีวิต
ของ run ยังคงเป็นของระบบเซสชันปกติ

ใช้ Stop บนการ์ดที่ลิงก์และยัง live เพื่อ abort run ของเซสชันที่ active Workboard จะทำเครื่องหมาย
การ์ดนั้นเป็น `blocked` เพื่อให้ยังมองเห็นได้สำหรับการติดตามผล

การ์ดใหม่สามารถเริ่มจากเทมเพลต Workboard สำหรับ bugfixes, docs, releases, PR
reviews หรือ plugin work ได้ เทมเพลตจะเติม title, notes, labels และ priority ไว้ล่วงหน้า
และ id ของเทมเพลตที่เลือกจะถูกเก็บเป็น metadata ของการ์ด

## สิทธิ์

Plugin ลงทะเบียนเมธอด RPC ของ Gateway ใต้ namespace `workboard.*`:

- `workboard.cards.list` ต้องใช้ `operator.read`
- `workboard.cards.export` ต้องใช้ `operator.read`
- `workboard.cards.diagnostics` ต้องใช้ `operator.read`
- `workboard.cards.diagnostics.refresh` ต้องใช้ `operator.write`
- การอ่านรายการ/ดึง attachment และเหตุการณ์ notification ต้องใช้ `operator.read`
- การเลื่อน notification cursor ต้องใช้ `operator.write`
- เมธอด create, update, move, delete, comment, link, dependency link, proof, artifact,
  attachment add/delete, worker log, protocol violation, claim, heartbeat,
  release, complete, block, unblock, dispatch, bulk และ archive ต้องใช้
  `operator.write`

เบราว์เซอร์ที่เชื่อมต่อด้วยสิทธิ์ operator แบบ read-only สามารถตรวจดู board ได้ แต่
ไม่สามารถแก้ไขการ์ดได้

## การกำหนดค่า

ปัจจุบัน Workboard ไม่มี config เฉพาะ Plugin เปิดหรือปิดด้วย
รายการ Plugin มาตรฐาน:

```json5
{
  plugins: {
    entries: {
      workboard: {
        enabled: true,
        config: {},
      },
    },
  },
}
```

ปิดอีกครั้งด้วย:

```bash
openclaw plugins disable workboard
openclaw gateway restart
```

## การแก้ไขปัญหา

### แท็บแจ้งว่า Workboard ใช้งานไม่ได้

ตรวจสอบนโยบาย Plugin:

```bash
openclaw plugins inspect workboard --runtime --json
```

หากมีการกำหนดค่า `plugins.allow` ให้เพิ่ม `workboard` ไปยัง allowlist นั้น หาก
`plugins.deny` มี `workboard` ให้ลบออกก่อนเปิดใช้ Plugin

### การ์ดไม่บันทึก

ยืนยันว่าการเชื่อมต่อของเบราว์เซอร์มีสิทธิ์ `operator.write` เซสชัน operator
แบบ read-only สามารถแสดงรายการการ์ดได้ แต่ไม่สามารถสร้าง, แก้ไข, ย้าย หรือลบได้

### การเริ่มการ์ดไม่เปิดเซสชันที่คาดไว้

Workboard สร้างลิงก์ไปยังเซสชันแดชบอร์ดปกติ ตรวจสอบ agent id
ของการ์ดและเซสชันที่ลิงก์ จากนั้นเปิดมุมมอง Sessions หรือ Chat เพื่อตรวจสอบ
สถานะ run จริง

### Dispatch ไม่เริ่ม worker

ยืนยันว่ามีการ์ด `ready` อย่างน้อยหนึ่งใบที่ไม่มี claim ที่ active:

```bash
openclaw workboard list --status ready
```

หาก CLI รายงาน dispatch แบบข้อมูลเท่านั้น ให้เริ่มหรือรีสตาร์ท Gateway แล้วลองอีกครั้ง
dispatch แบบข้อมูลเท่านั้นจะอัปเดตสถานะ board ภายในเครื่อง แต่ไม่สามารถเริ่ม run ของ subagent worker ได้

การ์ดยังอาจถูกข้ามเมื่อมีการ์ดอื่นสำหรับ owner หรือ agent เดียวกัน
กำลังทำงานอยู่หรือรอ review อยู่แล้ว ให้ complete, block หรือ release งานที่ active นั้น
ก่อน dispatch งานเพิ่มเติมสำหรับ owner เดียวกัน

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

- [Control UI](/th/web/control-ui)
- [Workboard CLI](/th/cli/workboard)
- [Plugins](/th/tools/plugin)
- [จัดการ plugins](/th/plugins/manage-plugins)
- [Sessions](/th/concepts/session)
