ในหน้านี้
ในหน้านี้
CLI commands
CLI กระดานงาน
openclaw workboard คือส่วนติดต่อผ่านเทอร์มินัลสำหรับ Plugin Workboard ที่มาพร้อมระบบ ช่วยให้ผู้ปฏิบัติงานแสดงรายการการ์ด สร้างการ์ด ตรวจสอบการ์ดหนึ่งใบ และสั่งให้ Gateway ที่กำลังทำงานส่งงานที่พร้อมไปยังรอบการทำงานของผู้ปฏิบัติงาน subagent
เปิดใช้ Plugin ก่อนใช้คำสั่ง:
การใช้งาน
คำสั่งนี้อ่านและเขียนฐานข้อมูล SQLite ที่ Plugin เป็นเจ้าของ ซึ่งเป็นฐานข้อมูลเดียวกับที่แดชบอร์ดและเครื่องมือเอเจนต์ Workboard ใช้ รหัสการ์ดเป็น UUID ส่วนคำสั่งที่รับรหัสการ์ดยังรับคำนำหน้ารหัสที่ระบุได้อย่างไม่กำกวมด้วย (เอาต์พุตข้อความแบบย่อแสดงอักขระ 8 ตัวแรก)
ค่าที่ใช้ได้สำหรับ status: triage, backlog, todo, scheduled, ready, running, review, blocked, done ค่าที่ใช้ได้สำหรับ priority: low, normal, high, urgent
list
เอาต์พุตข้อความมีรูปแบบย่อ:
คอลัมน์ประกอบด้วยคำนำหน้ารหัส สถานะ ลำดับความสำคัญ รหัสบอร์ด รหัสเอเจนต์ซึ่งมีหรือไม่มีก็ได้ และชื่อเรื่อง
| แฟล็ก | วัตถุประสงค์ |
|---|---|
--board <id> |
จำกัดผลลัพธ์ไว้ที่เนมสเปซของบอร์ดหนึ่งรายการ |
--status <status> |
จำกัดผลลัพธ์ไว้ที่สถานะ Workboard หนึ่งสถานะ |
--include-archived |
รวมการ์ดที่เก็บถาวรไว้ในเอาต์พุตข้อความแบบย่อ |
--json |
แสดงรายการการ์ดทั้งหมดเป็น JSON สำหรับเครื่อง |
โดยค่าเริ่มต้น เอาต์พุตข้อความแบบย่อจะซ่อนการ์ดที่เก็บถาวรไว้ เพื่อให้ CLI ตรงกับ /workboard list ส่ง --include-archived เพื่อแสดงการ์ดเหล่านั้น เอาต์พุต JSON จะเก็บรายการการ์ดทั้งหมดไว้เสมอ รวมถึงการ์ดที่เก็บถาวร เพื่อรองรับระบบอัตโนมัติที่มีอยู่
create
| แฟล็ก | วัตถุประสงค์ |
|---|---|
--notes <text> |
บันทึกเริ่มต้นของการ์ด |
--status <status> |
สถานะเริ่มต้น ค่าเริ่มต้นคือ todo |
--priority <priority> |
ลำดับความสำคัญ ค่าเริ่มต้นคือ normal |
--agent <id> |
มอบหมายการ์ดให้เอเจนต์หรือรหัสเจ้าของ |
--board <id> |
จัดเก็บการ์ดในเนมสเปซของบอร์ด |
--labels <items> |
ป้ายกำกับที่คั่นด้วยจุลภาค |
--json |
แสดงการ์ดที่สร้างเป็น JSON สำหรับเครื่อง |
create เขียนลงในสถานะ SQLite ของ Workboard โดยตรง การ์ดจะปรากฏทันทีในแท็บ Workboard ของ Control UI และในเครื่องมือ Workboard
show
เอาต์พุตข้อความจะแสดงบรรทัดการ์ดแบบย่อและบันทึก เอาต์พุต JSON จะส่งคืนระเบียนการ์ดทั้งหมด ซึ่งรวมถึงข้อมูลเมตาการดำเนินการ ความพยายาม ความคิดเห็น ลิงก์ หลักฐาน อาร์ติแฟกต์ บันทึกผู้ปฏิบัติงาน สถานะโปรโตคอล การวินิจฉัย และข้อมูลเมตาระบบอัตโนมัติ
สถานะหลักฐานใน JSON คือผลลัพธ์ที่ผู้ปฏิบัติงานรายงาน passed บันทึก
การประเมินตนเองของผู้ปฏิบัติงานต่อคำสั่งหรือการตรวจสอบที่แนบมา โดยไม่ใช่ผลลัพธ์
จากการตรวจสอบยืนยันที่เป็นอิสระ
move
move เปลี่ยนสถานะของการ์ดโดยใช้เส้นทางผู้ปฏิบัติงานแบบกำหนดเองเส้นทางเดียวกับการลากการ์ดในแดชบอร์ด คำสั่งนี้รับรหัสการ์ดแบบเต็มหรือคำนำหน้าที่ระบุได้อย่างไม่กำกวม การพักเนื่องจากการขึ้นต่อกันและกำหนดการที่ยังทำงานอยู่ยังคงมีผล ผู้ปฏิบัติงานสามารถย้ายการ์ดที่มีการอ้างสิทธิ์ได้โดยไม่ต้องใช้โทเค็นการอ้างสิทธิ์ของเอเจนต์ โทเค็นการอ้างสิทธิ์ยังคงจำกัดขอบเขตไว้สำหรับการแก้ไขผ่านเครื่องมือเอเจนต์ และถูกปกปิดจากเอาต์พุต JSON
dispatch
ก่อนอื่น dispatch จะเรียกเมธอด RPC workboard.cards.dispatch ของ Gateway ที่กำลังทำงาน ซึ่งใช้รันไทม์ subagent เดียวกับการดำเนินการส่งงานในแดชบอร์ด ดังนั้นการ์ดที่พร้อมจึงกลายเป็นรอบการทำงานของผู้ปฏิบัติงานที่ติดตามเป็นงาน พร้อมคีย์เซสชันที่เชื่อมโยงกัน --max-starts ใช้เมธอดแบบเพิ่มเติม workboard.cards.dispatchWithOptions เพื่อให้ Gateway รุ่นเก่าปฏิเสธตัวเลือกก่อนเริ่มผู้ปฏิบัติงานใดๆ หลังอัปเกรด ให้รีสตาร์ต Gateway ก่อนใช้แฟล็กนี้ การ์ดที่กำหนดเอเจนต์ไว้จะใช้คีย์เซสชัน subagent ที่จำกัดขอบเขตตามเอเจนต์ ส่วนการ์ดที่ไม่ได้กำหนดเอเจนต์จะยังคงใช้คีย์ subagent ที่ไม่จำกัดขอบเขต เพื่อคงเอเจนต์เริ่มต้นที่กำหนดค่าไว้ของ Gateway
ลูปการส่งงาน:
- เลื่อนรายการลูกที่การขึ้นต่อกันพร้อมแล้วไปเป็น
ready - บล็อกการอ้างสิทธิ์ที่หมดอายุหรือรอบการทำงานของผู้ปฏิบัติงานที่หมดเวลา
- บันทึกข้อมูลเมตาการส่งงานในการ์ดที่พร้อม
- เลือกการ์ดที่พร้อมและยังไม่มีการอ้างสิทธิ์เป็นชุดขนาดเล็ก
- อ้างสิทธิ์การ์ดที่เลือกแต่ละใบให้ผู้ส่งงานหรือเอเจนต์ที่กำหนด
- เริ่มรอบการทำงานของผู้ปฏิบัติงาน subagent ด้วยบริบทการ์ดที่มีขอบเขตจำกัดและโทเค็นการอ้างสิทธิ์ของการ์ด
- จัดเก็บรหัสรอบการทำงานของผู้ปฏิบัติงาน คีย์เซสชัน การเชื่อมโยงงานเมื่อบัญชีแยกประเภทงานของ Gateway รายงานข้อมูลดังกล่าว สถานะการดำเนินการ และบันทึกผู้ปฏิบัติงานไว้ในการ์ด
การคัดเลือกเป็นแบบระมัดระวัง โดยค่าเริ่มต้น การส่งงานหนึ่งครั้งจะเริ่มผู้ปฏิบัติงานไม่เกินสามราย ข้ามการ์ดที่เก็บถาวรหรือมีการอ้างสิทธิ์อยู่แล้ว และเริ่มการ์ดเพียงหนึ่งใบต่อเจ้าของหรือเอเจนต์ในการประมวลผลหนึ่งรอบ การ์ดที่มีเจ้าของเป็นงานที่กำลังทำงานหรืออยู่ระหว่างรีวิวจะถูกเก็บไว้สำหรับการส่งงานครั้งถัดไป ส่ง --max-starts <count> พร้อมจำนวนเต็มบวกเพื่อเปลี่ยนขีดจำกัดต่อรอบ กฎหนึ่งการ์ดต่อเจ้าของยังคงมีผล ดังนั้นจำนวนที่เริ่มจริงอาจต่ำกว่า
หากการเริ่มผู้ปฏิบัติงานล้มเหลวหลังจากมีการอ้างสิทธิ์การ์ด Workboard จะบล็อกการ์ดนั้น ล้างการอ้างสิทธิ์ และบันทึกความล้มเหลวไว้ในข้อมูลเมตาการดำเนินการของการ์ดและบันทึกผู้ปฏิบัติงาน ทำให้การเริ่มที่ล้มเหลวยังคงมองเห็นได้แทนที่จะส่งการ์ดกลับเข้าคิวโดยไม่แจ้งให้ทราบ
หากไม่ได้ระบุเป้าหมาย Gateway อย่างชัดเจน และ Gateway ภายในเครื่องใช้งานไม่ได้หรือยังไม่เปิดเผยเมธอดการส่งงานของ Workboard CLI จะถอยกลับไปใช้การส่งงานแบบข้อมูลเท่านั้นกับสถานะ Workboard ภายในเครื่อง การส่งงานแบบข้อมูลเท่านั้นยังคงเลื่อนลำดับการขึ้นต่อกัน ล้างการอ้างสิทธิ์ที่ค้าง และบล็อกรอบการทำงานที่หมดเวลาได้ แต่จะไม่เริ่มผู้ปฏิบัติงาน ความล้มเหลวด้านการรับรองความถูกต้อง สิทธิ์ และการตรวจสอบความถูกต้อง รวมถึงความล้มเหลวของเป้าหมาย --url หรือ --token ที่ระบุไว้อย่างชัดเจน จะถูกรายงานโดยตรงแทนการเรียกใช้การถอยกลับ
เอาต์พุตข้อความรายงานการเริ่มผู้ปฏิบัติงาน:
เอาต์พุตการถอยกลับระบุไว้อย่างชัดเจน:
เอาต์พุต JSON มีผลลัพธ์การส่งงาน การส่งงานที่รองรับโดย Gateway อาจมี started และ startFailures ส่วนการถอยกลับแบบข้อมูลเท่านั้นมี gatewayUnavailable: true โทเค็นการอ้างสิทธิ์ถูกปกปิดจากเอาต์พุต JSON ของการ์ด
ในแดชบอร์ด ผลลัพธ์การส่งงานเดียวกันจะแสดงเป็นข้อมูลสรุปสั้นๆ เพื่อให้ผู้ปฏิบัติงานเห็นจำนวนการ์ดที่เริ่ม เลื่อน บล็อก เรียกคืน หรือล้มเหลวได้โดยไม่ต้องเปิดรายละเอียดการ์ด
ความสอดคล้องกับคำสั่งแบบทับ
ช่องทางที่รองรับคำสั่งสามารถใช้คำสั่งแบบทับที่ตรงกัน:
การส่งงานด้วยคำสั่งแบบทับยังใช้รันไทม์ subagent ของ Gateway จึงมีพฤติกรรมการอ้างสิทธิ์ การเริ่มผู้ปฏิบัติงาน และความล้มเหลวเช่นเดียวกับเส้นทาง Gateway ของแดชบอร์ดและ CLI
/workboard list และ /workboard show เป็นคำสั่งอ่านสำหรับผู้ส่งคำสั่งที่ได้รับอนุญาต /workboard create, /workboard move และ /workboard dispatch แก้ไขสถานะบอร์ด และต้องมีสถานะเจ้าของบนส่วนติดต่อแชต หรือเป็นไคลเอนต์ Gateway ที่มี operator.write หรือ operator.admin
สิทธิ์
โดยปกติ เส้นทางการส่งงานของ CLI จะร้องขอขอบเขต Gateway operator.write และ operator.read การ์ดที่ผูกกับเวิร์กสเปซจะทำงานโดยตรงในเวิร์กสเปซของเอเจนต์ที่กำหนดค่าไว้อย่างแน่นอน คำขอ worktree จะถูกจำกัดให้แคบลงเฉพาะไดเรกทอรีนั้น แทนที่จะอนุญาตให้โฮสต์สร้างโค้ดที่ควบคุมโดยรีโพซิทอรี ผู้ปฏิบัติงานที่เลือกต้องมีสิทธิ์เข้าถึงแซนด์บ็อกซ์ Docker ที่เขียนได้และไม่ใช้ร่วมกันสำหรับเวิร์กสเปซนั้นโดยเฉพาะ มีแฮชคอนเทนเนอร์ที่ทำงานอยู่ซึ่งตรงกับเมานต์และนโยบายที่ร้องขอ และไม่มีความสามารถในการหลบออกไปยังโฮสต์ ส่ง --admin เพื่อร้องขอ operator.admin อย่างชัดเจน อนุญาตให้ใช้เช็กเอาต์อื่นของโฮสต์ และใช้การตั้งค่า worktree ที่มีการจัดการตามปกติ การเชื่อมต่อจะล้มเหลวหากขอบเขตดังกล่าวไม่ได้รับอนุมัติสำหรับไคลเอนต์ โทเค็น Gateway แบบอ่านอย่างเดียวสามารถตรวจสอบข้อมูล Workboard ผ่านเมธอดอ่าน แต่ไม่สามารถสร้างการ์ดหรือส่งงานให้ผู้ปฏิบัติงานได้ นอกเหนือจากนี้ ข้อจำกัดของเวิร์กสเปซจะไม่เปลี่ยนแปลงการย้ายการ์ดด้วยตนเองสำหรับผู้เรียกที่มีสิทธิ์แก้ไข Workboard
คำสั่ง list, create, show และ move ภายในเครื่องทำงานกับไดเรกทอรีสถานะ OpenClaw ภายในเครื่องที่โปรไฟล์ปัจจุบันใช้ ใช้ --dev หรือ --profile <name> กับคำสั่งระดับบนสุด openclaw เมื่อต้องการใช้รูทสถานะอื่น
การแก้ไขปัญหา
ไม่มีการ์ดปรากฏ
ยืนยันว่าเปิดใช้ Plugin สำหรับโปรไฟล์และรูทสถานะเดียวกัน:
หากแดชบอร์ดแสดงการ์ดแต่ CLI ไม่แสดง ให้ตรวจสอบว่าทั้งสองคำสั่งใช้การตั้งค่า --dev หรือ --profile เดียวกัน
การส่งงานระบุว่าเป็นแบบข้อมูลเท่านั้น
เริ่มหรือรีสตาร์ต Gateway:
จากนั้นลอง openclaw workboard dispatch อีกครั้ง การถอยกลับแบบข้อมูลเท่านั้นมีประโยชน์สำหรับการล้างสถานะภายในเครื่อง แต่รอบการทำงานของผู้ปฏิบัติงานต้องใช้ Gateway ที่ทำงานอยู่
การส่งงานไม่เริ่มสิ่งใด
ตรวจสอบว่ามีการ์ด ready ที่ไม่มีการอ้างสิทธิ์ที่ใช้งานอยู่อย่างน้อยหนึ่งใบ:
ระบบอาจข้ามการ์ดเมื่อเจ้าของเดียวกันมีงานที่กำลังทำงานหรืออยู่ระหว่างรีวิวอยู่แล้ว ย้ายงานที่เสร็จสมบูรณ์ไปยัง done ปลดการอ้างสิทธิ์ที่ค้างผ่านเครื่องมือ Workboard หรือเรียกใช้การส่งงานอีกครั้งหลังจากผู้ปฏิบัติงานที่ใช้งานอยู่ทำงานเสร็จ