CLI commands
CLI กระดานงาน
openclaw workboard คือส่วนติดต่อผ่านเทอร์มินัลสำหรับ Plugin Workboard ที่รวมมาให้ โดยช่วยให้ผู้ปฏิบัติงานแสดงรายการการ์ด สร้างการ์ด ตรวจสอบการ์ดหนึ่งใบ และสั่งให้ Gateway ที่กำลังทำงานส่งต่องานที่พร้อมไปยังการทำงานของผู้ปฏิบัติงานแบบเอเจนต์ย่อย
เปิดใช้งาน Plugin ก่อนใช้คำสั่ง:
openclaw plugins enable workboardopenclaw gateway restartการใช้งาน
openclaw workboard list [--board <id>] [--status <status>] [--include-archived] [--json]openclaw workboard create <title...> [--notes <text>] [--status <status>] [--priority <priority>] [--agent <id>] [--board <id>] [--labels <items>] [--json]openclaw workboard show <id> [--json]openclaw workboard dispatch [--url <url>] [--token <token>] [--timeout <ms>] [--json]คำสั่งนี้อ่านและเขียนฐานข้อมูล SQLite ที่ Plugin เป็นเจ้าของ ซึ่งเป็นฐานข้อมูลเดียวกับที่แดชบอร์ดและเครื่องมือเอเจนต์ Workboard ใช้ รหัสการ์ดเป็น UUID คำสั่งที่รับรหัสการ์ดยังรับคำนำหน้ารหัสที่ระบุการ์ดได้อย่างไม่กำกวมด้วย (เอาต์พุตข้อความแบบย่อจะแสดงอักขระ 8 ตัวแรก)
ค่า status ที่ใช้ได้: triage, backlog, todo, scheduled, ready, running, review, blocked, done ค่า priority ที่ใช้ได้: low, normal, high, urgent
list
openclaw workboard listopenclaw workboard list --board default --status readyopenclaw workboard list --jsonเอาต์พุตข้อความมีรูปแบบกระชับ:
7f4a2c10 ready high default agent-a Fix stale worker heartbeatคอลัมน์ประกอบด้วยคำนำหน้ารหัส สถานะ ลำดับความสำคัญ รหัสบอร์ด รหัสเอเจนต์ซึ่งมีหรือไม่ก็ได้ และชื่อเรื่อง
| แฟล็ก | วัตถุประสงค์ |
|---|---|
--board <id> |
จำกัดผลลัพธ์ให้อยู่ในเนมสเปซของบอร์ดเดียว |
--status <status> |
จำกัดผลลัพธ์ให้อยู่ในสถานะ Workboard เดียว |
--include-archived |
รวมการ์ดที่เก็บถาวรไว้ในเอาต์พุตข้อความแบบย่อ |
--json |
แสดงรายการการ์ดทั้งหมดเป็น JSON สำหรับเครื่อง |
โดยค่าเริ่มต้น เอาต์พุตข้อความแบบย่อจะซ่อนการ์ดที่เก็บถาวรไว้ เพื่อให้ CLI ทำงานสอดคล้องกับ /workboard list ส่ง --include-archived เพื่อแสดงการ์ดเหล่านั้น เอาต์พุต JSON จะเก็บรายการการ์ดทั้งหมดไว้เสมอ รวมถึงการ์ดที่เก็บถาวร เพื่อรองรับระบบอัตโนมัติที่มีอยู่
create
openclaw workboard create "Fix stale worker heartbeat" --priority high --labels bug,workboardopenclaw workboard create "Write Workboard docs" --status ready --agent docs-agent --board docs --notes "Cover CLI, slash command, dispatch, and SQLite state."| แฟล็ก | วัตถุประสงค์ |
|---|---|
--notes <text> |
บันทึกเริ่มต้นของการ์ด |
--status <status> |
สถานะเริ่มต้น ค่าเริ่มต้นคือ todo |
--priority <priority> |
ลำดับความสำคัญ ค่าเริ่มต้นคือ normal |
--agent <id> |
กำหนดการ์ดให้แก่รหัสเอเจนต์หรือเจ้าของ |
--board <id> |
จัดเก็บการ์ดไว้ในเนมสเปซของบอร์ด |
--labels <items> |
ป้ายกำกับที่คั่นด้วยจุลภาค |
--json |
แสดงการ์ดที่สร้างเป็น JSON สำหรับเครื่อง |
create เขียนลงในสถานะ SQLite ของ Workboard โดยตรง การ์ดจะปรากฏในแท็บ Workboard ของ Control UI และในเครื่องมือ Workboard ทันที
show
openclaw workboard show 7f4a2c10openclaw workboard show 7f4a2c10 --jsonเอาต์พุตข้อความจะแสดงบรรทัดการ์ดแบบย่อและบันทึก เอาต์พุต JSON จะส่งคืนระเบียนการ์ดทั้งหมด รวมถึงข้อมูลกำกับการดำเนินการ จำนวนครั้งที่พยายาม ความคิดเห็น ลิงก์ หลักฐาน อาร์ติแฟกต์ บันทึกของผู้ปฏิบัติงาน สถานะโปรโตคอล ข้อมูลการวินิจฉัย และข้อมูลกำกับระบบอัตโนมัติ
dispatch
openclaw workboard dispatchopenclaw workboard dispatch --jsonopenclaw workboard dispatch --url http://127.0.0.1:18789 --token "$OPENCLAW_GATEWAY_TOKEN"ขั้นแรก dispatch จะเรียกเมธอด RPC workboard.cards.dispatch ของ Gateway ที่กำลังทำงาน ซึ่งใช้รันไทม์เอเจนต์ย่อยเดียวกับการดำเนินการส่งต่อในแดชบอร์ด ทำให้การ์ดที่พร้อมกลายเป็นการทำงานของผู้ปฏิบัติงานที่ติดตามด้วยงานและมีคีย์เซสชันเชื่อมโยงอยู่ การ์ดที่กำหนดเอเจนต์ไว้จะใช้คีย์เซสชันเอเจนต์ย่อยที่มีขอบเขตตามเอเจนต์ ส่วนการ์ดที่ไม่ได้กำหนดเอเจนต์จะคงใช้คีย์เอเจนต์ย่อยที่ไม่มีขอบเขต เพื่อรักษาเอเจนต์เริ่มต้นที่กำหนดค่าไว้ใน Gateway
ลูปการส่งต่อจะ:
- เลื่อนสถานะงานย่อยที่การขึ้นต่อกันพร้อมแล้วเป็น
ready - บล็อกการอ้างสิทธิ์ที่หมดอายุหรือการทำงานของผู้ปฏิบัติงานที่หมดเวลา
- บันทึกข้อมูลกำกับการส่งต่อในการ์ดที่พร้อม
- เลือกการ์ดที่พร้อมและยังไม่มีผู้ใดอ้างสิทธิ์จำนวนเล็กน้อย
- อ้างสิทธิ์การ์ดที่เลือกแต่ละใบให้แก่ตัวส่งต่อหรือเอเจนต์ที่กำหนด
- เริ่มการทำงานของผู้ปฏิบัติงานแบบเอเจนต์ย่อย โดยใช้บริบทการ์ดที่จำกัดขอบเขตและโทเค็นการอ้างสิทธิ์ของการ์ด
- จัดเก็บรหัสการทำงานของผู้ปฏิบัติงาน คีย์เซสชัน การเชื่อมโยงงานเมื่อบัญชีแยกประเภทงานของ Gateway รายงานข้อมูลนี้ สถานะการดำเนินการ และบันทึกของผู้ปฏิบัติงานไว้ในการ์ด
การคัดเลือกเป็นไปอย่างระมัดระวัง โดยค่าเริ่มต้น การส่งต่อหนึ่งครั้งจะเริ่มผู้ปฏิบัติงานไม่เกินสามราย ข้ามการ์ดที่เก็บถาวรหรือถูกอ้างสิทธิ์แล้ว และเริ่มการ์ดเพียงหนึ่งใบต่อเจ้าของหรือเอเจนต์ในการประมวลผลหนึ่งรอบ การ์ดที่มีงานซึ่งเจ้าของกำลังดำเนินการหรืออยู่ระหว่างตรวจสอบจะถูกเว้นไว้สำหรับการส่งต่อครั้งถัดไป
หากการเริ่มผู้ปฏิบัติงานล้มเหลวหลังจากมีการอ้างสิทธิ์การ์ดแล้ว Workboard จะบล็อกการ์ดนั้น ล้างการอ้างสิทธิ์ และบันทึกความล้มเหลวไว้ในข้อมูลกำกับการดำเนินการและบันทึกของผู้ปฏิบัติงานของการ์ด เพื่อให้มองเห็นการเริ่มทำงานที่ล้มเหลวแทนที่จะส่งการ์ดกลับเข้าคิวโดยไม่มีการแจ้งเตือน
หากไม่ได้ระบุปลายทาง Gateway อย่างชัดเจน และ Gateway ภายในเครื่องไม่พร้อมใช้งานหรือยังไม่เปิดเผยเมธอดส่งต่อของ Workboard CLI จะย้อนกลับไปใช้การส่งต่อเฉพาะข้อมูลกับสถานะ Workboard ภายในเครื่อง การส่งต่อเฉพาะข้อมูลยังสามารถเลื่อนสถานะการขึ้นต่อกัน ล้างการอ้างสิทธิ์ที่ค้าง และบล็อกการทำงานที่หมดเวลาได้ แต่จะไม่เริ่มผู้ปฏิบัติงาน ความล้มเหลวด้านการยืนยันตัวตน สิทธิ์ และการตรวจสอบความถูกต้อง รวมถึงความล้มเหลวของปลายทาง --url หรือ --token ที่ระบุไว้อย่างชัดเจน จะถูกรายงานโดยตรงแทนการเรียกใช้การย้อนกลับ
เอาต์พุตข้อความจะรายงานการเริ่มผู้ปฏิบัติงาน:
dispatch complete: started=2 failures=0เอาต์พุตเมื่อย้อนกลับจะระบุไว้อย่างชัดเจน:
gateway unavailable; data dispatch only: promoted=1 blocked=0เอาต์พุต JSON จะรวมผลลัพธ์การส่งต่อ การส่งต่อผ่าน Gateway อาจมี started และ startFailures ส่วนการย้อนกลับแบบเฉพาะข้อมูลจะมี gatewayUnavailable: true โทเค็นการอ้างสิทธิ์จะถูกปกปิดจากเอาต์พุต JSON ของการ์ด
ในแดชบอร์ด ผลลัพธ์การส่งต่อเดียวกันจะแสดงเป็นข้อมูลสรุปสั้น ๆ เพื่อให้ผู้ปฏิบัติงานเห็นจำนวนการ์ดที่เริ่ม เลื่อนสถานะ บล็อก เรียกคืน หรือทำงานล้มเหลวได้โดยไม่ต้องเปิดรายละเอียดการ์ด
ความสอดคล้องกับคำสั่งแบบเครื่องหมายทับ
ช่องทางที่รองรับคำสั่งสามารถใช้คำสั่งแบบเครื่องหมายทับที่ตรงกันได้:
/workboard list/workboard show 7f4a2c10/workboard create Fix stale worker heartbeat/workboard dispatchการส่งต่อด้วยคำสั่งแบบเครื่องหมายทับยังใช้รันไทม์เอเจนต์ย่อยของ Gateway ด้วย จึงมีพฤติกรรมการอ้างสิทธิ์ การเริ่มผู้ปฏิบัติงาน และความล้มเหลวแบบเดียวกับเส้นทาง Gateway ของแดชบอร์ดและ CLI
/workboard list และ /workboard show เป็นคำสั่งอ่านสำหรับผู้ส่งคำสั่งที่ได้รับอนุญาต /workboard create และ /workboard dispatch จะเปลี่ยนแปลงสถานะบอร์ด และต้องมีสถานะเจ้าของบนส่วนติดต่อการแชต หรือเป็นไคลเอนต์ Gateway ที่มี operator.write หรือ operator.admin
สิทธิ์
เส้นทางการส่งต่อของ CLI เรียก RPC ของ Gateway ด้วยขอบเขต operator.read และ operator.write โทเค็น Gateway แบบอ่านอย่างเดียวสามารถตรวจสอบข้อมูล Workboard ผ่านเมธอดอ่านได้ แต่ไม่สามารถสร้างการ์ดหรือส่งต่อผู้ปฏิบัติงานได้
คำสั่ง list, create และ show ภายในเครื่องจะทำงานกับไดเรกทอรีสถานะ OpenClaw ภายในเครื่องที่โปรไฟล์ปัจจุบันใช้ ใช้ --dev หรือ --profile <name> กับคำสั่ง openclaw ระดับบนสุดเมื่อต้องการรากสถานะอื่น
การแก้ไขปัญหา
ไม่มีการ์ดปรากฏขึ้น
ยืนยันว่าเปิดใช้งาน Plugin สำหรับโปรไฟล์และรากสถานะเดียวกัน:
openclaw plugins inspect workboard --runtime --jsonหากแดชบอร์ดแสดงการ์ดแต่ CLI ไม่แสดง ให้ตรวจสอบว่าทั้งสองคำสั่งใช้การตั้งค่า --dev หรือ --profile เดียวกัน
การส่งต่อแจ้งว่าเป็นแบบเฉพาะข้อมูล
เริ่มหรือรีสตาร์ต Gateway:
openclaw gateway restartopenclaw gateway status --deepจากนั้นลอง openclaw workboard dispatch อีกครั้ง การย้อนกลับแบบเฉพาะข้อมูลมีประโยชน์สำหรับการล้างสถานะภายในเครื่อง แต่การทำงานของผู้ปฏิบัติงานต้องใช้ Gateway ที่ทำงานอยู่
การส่งต่อไม่เริ่มงานใดเลย
ตรวจสอบว่ามีการ์ด ready อย่างน้อยหนึ่งใบที่ไม่มีการอ้างสิทธิ์ซึ่งยังใช้งานอยู่:
openclaw workboard list --status readyการ์ดอาจถูกข้ามได้เช่นกันเมื่อเจ้าของเดียวกันมีงานที่กำลังดำเนินการหรืออยู่ระหว่างตรวจสอบอยู่แล้ว ย้ายงานที่เสร็จสมบูรณ์ไปยัง done ปล่อยการอ้างสิทธิ์ที่ค้างผ่านเครื่องมือ Workboard หรือเรียกใช้การส่งต่ออีกครั้งหลังจากผู้ปฏิบัติงานที่กำลังทำงานเสร็จสิ้น