CLI commands

CLI กระดานงาน

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

เปิดใช้งาน Plugin ก่อนใช้คำสั่ง:

bash
openclaw plugins enable workboardopenclaw gateway restart

การใช้งาน

bash
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

bash
openclaw workboard listopenclaw workboard list --board default --status readyopenclaw workboard list --json

เอาต์พุตข้อความมีรูปแบบกระชับ:

text
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

bash
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

bash
openclaw workboard show 7f4a2c10openclaw workboard show 7f4a2c10 --json

เอาต์พุตข้อความจะแสดงบรรทัดการ์ดแบบย่อและบันทึก เอาต์พุต JSON จะส่งคืนระเบียนการ์ดทั้งหมด รวมถึงข้อมูลกำกับการดำเนินการ จำนวนครั้งที่พยายาม ความคิดเห็น ลิงก์ หลักฐาน อาร์ติแฟกต์ บันทึกของผู้ปฏิบัติงาน สถานะโปรโตคอล ข้อมูลการวินิจฉัย และข้อมูลกำกับระบบอัตโนมัติ

dispatch

bash
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

ลูปการส่งต่อจะ:

  1. เลื่อนสถานะงานย่อยที่การขึ้นต่อกันพร้อมแล้วเป็น ready
  2. บล็อกการอ้างสิทธิ์ที่หมดอายุหรือการทำงานของผู้ปฏิบัติงานที่หมดเวลา
  3. บันทึกข้อมูลกำกับการส่งต่อในการ์ดที่พร้อม
  4. เลือกการ์ดที่พร้อมและยังไม่มีผู้ใดอ้างสิทธิ์จำนวนเล็กน้อย
  5. อ้างสิทธิ์การ์ดที่เลือกแต่ละใบให้แก่ตัวส่งต่อหรือเอเจนต์ที่กำหนด
  6. เริ่มการทำงานของผู้ปฏิบัติงานแบบเอเจนต์ย่อย โดยใช้บริบทการ์ดที่จำกัดขอบเขตและโทเค็นการอ้างสิทธิ์ของการ์ด
  7. จัดเก็บรหัสการทำงานของผู้ปฏิบัติงาน คีย์เซสชัน การเชื่อมโยงงานเมื่อบัญชีแยกประเภทงานของ Gateway รายงานข้อมูลนี้ สถานะการดำเนินการ และบันทึกของผู้ปฏิบัติงานไว้ในการ์ด

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

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

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

เอาต์พุตข้อความจะรายงานการเริ่มผู้ปฏิบัติงาน:

text
dispatch complete: started=2 failures=0

เอาต์พุตเมื่อย้อนกลับจะระบุไว้อย่างชัดเจน:

text
gateway unavailable; data dispatch only: promoted=1 blocked=0

เอาต์พุต JSON จะรวมผลลัพธ์การส่งต่อ การส่งต่อผ่าน Gateway อาจมี started และ startFailures ส่วนการย้อนกลับแบบเฉพาะข้อมูลจะมี gatewayUnavailable: true โทเค็นการอ้างสิทธิ์จะถูกปกปิดจากเอาต์พุต JSON ของการ์ด

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

ความสอดคล้องกับคำสั่งแบบเครื่องหมายทับ

ช่องทางที่รองรับคำสั่งสามารถใช้คำสั่งแบบเครื่องหมายทับที่ตรงกันได้:

text
/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 สำหรับโปรไฟล์และรากสถานะเดียวกัน:

bash
openclaw plugins inspect workboard --runtime --json

หากแดชบอร์ดแสดงการ์ดแต่ CLI ไม่แสดง ให้ตรวจสอบว่าทั้งสองคำสั่งใช้การตั้งค่า --dev หรือ --profile เดียวกัน

การส่งต่อแจ้งว่าเป็นแบบเฉพาะข้อมูล

เริ่มหรือรีสตาร์ต Gateway:

bash
openclaw gateway restartopenclaw gateway status --deep

จากนั้นลอง openclaw workboard dispatch อีกครั้ง การย้อนกลับแบบเฉพาะข้อมูลมีประโยชน์สำหรับการล้างสถานะภายในเครื่อง แต่การทำงานของผู้ปฏิบัติงานต้องใช้ Gateway ที่ทำงานอยู่

การส่งต่อไม่เริ่มงานใดเลย

ตรวจสอบว่ามีการ์ด ready อย่างน้อยหนึ่งใบที่ไม่มีการอ้างสิทธิ์ซึ่งยังใช้งานอยู่:

bash
openclaw workboard list --status ready

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

เนื้อหาที่เกี่ยวข้อง

Was this useful?
On this page

On this page