บทความ
แนะนำ Deckhand: เปลี่ยน Claude Code ให้เป็นแผงควบคุมกลางสำหรับ AI ตัวอื่น
Deckhand เป็นปลั๊กอินโอเพนซอร์สสำหรับ Claude Code ที่เพิ่มแถบเครื่องมือไว้เหนือช่องป้อนข้อความ: ส่งต่องานไปยัง Codex, Cursor agent หรือ agy แบบ read-only เพื่อขอความเห็นที่สอง กระจายงานย่อยแบบขนานด้วย Sub5 พร้อมแสดงเมตริกการใช้งานและปุ่มสลับโมเดล บทความนี้จะอธิบายวิธีการติดตั้ง การใช้งานฟีเจอร์ต่างๆ ทิศทางการไหลของข้อมูล และข้อจำกัดที่ควรทราบ
· อ่าน 2 นาที
Deckhand เป็นปลั๊กอินสำหรับ Claude Code ที่เพิ่มแถบเครื่องมือไว้เหนือช่องป้อนข้อความ โดย Claude จะยังคงทำหน้าที่เป็นเอเจนต์หลัก แถบเครื่องมือนี้สามารถส่งต่องานไปยัง Codex, Cursor agent หรือ agy ให้ประมวลผลแบบ read-only เมื่อได้รับคำตอบกลับมา Claude จะตรวจสอบก่อนตัดสินใจว่าจะนำไปใช้หรือไม่
นอกจากนี้ แถบเครื่องมือยังมีเมตริกการใช้งาน ตัวสลับโมเดล และ Sub5 สำหรับแบ่งงานออกให้ซับเอเจนต์หลายตัวทำงานพร้อมกันแบบขนาน รองรับการใช้งานทั้งบนเทอร์มินัลและเดสก์ท็อปแอป ปัจจุบันเป็นเวอร์ชัน 1.1.1 ภายใต้สัญญาอนุญาต MIT
ข้อมูลเปิดเผย: Deckhand พัฒนาขึ้นโดยผู้เขียนเว็บไซต์นี้
ภาพรวมฟีเจอร์#
| ส่วน |
ฟังก์ชัน |
cL cS cA cR gF |
ส่งต่องานไปยัง AI CLI ตัวอื่นแบบ read-only จากนั้นให้ Claude ตรวจสอบคำตอบ |
Sub5 |
แบ่งงานปัจจุบันออกเป็นสูงสุด 5 รายการ เพื่อให้ซับเอเจนต์ทำงานพร้อมกันบน git worktree ของแต่ละตัว |
O F S H |
สลับเป็น Opus, Fable, Sonnet หรือ Haiku |
| เมตริกการใช้งาน |
รอบ 5 ชั่วโมง, รอบรายสัปดาห์ของแต่ละโมเดล, รอบรายสัปดาห์รวมของทุกโมเดล, context window |
Recap |
อธิบายบริบทปัจจุบันในหน้าต่างด้านข้าง |
⚙ |
เปิดหน้าต่างการตั้งค่า |
การติดตั้งและความต้องการของระบบ#
รันคำสั่งต่อไปนี้ใน Claude Code:
/plugin marketplace add stephen-taipei/deckhand
/plugin install deckhand@deckhand
หากแถบเครื่องมือไม่ปรากฏขึ้นมา ให้เปิดเซสชันใหม่
ความต้องการของระบบ:
- macOS หรือ Linux ส่วน Windows ยังอยู่ในระหว่างการทดสอบ
- Claude Code เวอร์ชันที่รองรับโมดูล hook สำหรับปลั๊กอิน (ทดสอบแล้วบน 2.1.288)
- Python 3.9 ขึ้นไป
- ตัวเลือกเสริม: ฟีเจอร์มอนิเตอร์ต้องใช้
gh สำหรับปุ่มส่งต่องานต้องมี codex, Cursor agent หรือ agy CLI หากไม่ได้ติดตั้ง CLI ใด ปุ่มที่เกี่ยวข้องจะถูกซ่อนไว้
การส่งต่องาน: ขอความเห็นที่สองแบบ Read-Only#
เมื่อกดปุ่มส่งต่องาน Deckhand จะส่งงานไปยัง CLI ที่สอดคล้องกัน ตัวที่รับงานจะสามารถอ่านได้เท่านั้น ไม่สามารถแก้ไขโค้ดได้ และเมื่อเขียนคำตอบเสร็จแล้วจะส่งกลับมาให้ Claude ตรวจสอบ
ปลายทางเริ่มต้นสำหรับการส่งต่องาน:
| ปุ่ม |
CLI |
โมเดล |
Effort |
cL |
Codex |
GPT-6 Luna |
max |
cS |
Codex |
GPT-6.1 Sol |
medium |
cA |
Codex |
GPT-6 Astra |
medium |
cR |
Cursor agent |
Grok 4.7 |
high |
gF |
agy |
Gemini 3.8 Flash |
high |
สามารถแก้ไขเลเบล, CLI, รหัสโมเดล, effort และชื่อได้ในการตั้งค่า
การบังคับใช้โหมด read-only จะควบคุมผ่านแฟล็กหรือโหมดของแต่ละ CLI เอง:
- Codex:
-s read-only
- Cursor agent:
--mode ask
- agy: headless mode โดยการเรียกใช้เครื่องมือจะถูกปฏิเสธโดยอัตโนมัติ
ก่อนส่งงาน Deckhand จะตรวจสอบคำอธิบายงาน หากพบว่ามีโทเคน คีย์ หรือรหัสผ่าน ระบบจะปฏิเสธการส่ง คำอธิบายงานและคำตอบจะถูกจัดเก็บไว้ในโฟลเดอร์ชั่วคราวที่เป็นส่วนตัว และจะถูกลบหลังจากผ่านไป 3 วัน
ระหว่างที่การส่งต่องานกำลังทำงานอยู่ จะมีแถวเพิ่มขึ้นมาเหนือแถบการใช้งาน แสดงเลเบล, CLI, โมเดล และเวลาที่ใช้ไป คำสั่ง /delegates จะแสดงรายการส่งต่องานย้อนหลัง 3 วัน โดยสามารถเปิด คัดลอก หรือดึงคำตอบกลับมายังช่องป้อนข้อความได้ และจะแสดงจำนวนโทเคนที่ CLI รายงานด้วยเช่นกัน
การส่งต่องานจะส่งคำอธิบายงานไปยังผู้ให้บริการเบื้องหลังของ CLI นั้นๆ
Sub5: ซับเอเจนต์แบบขนาน#
Sub5 จะแบ่งงานปัจจุบันออกเป็นรายการที่แยกจากกันอย่างอิสระสูงสุด 5 รายการ โดยแต่ละรายการจะได้รับการจัดการโดยซับเอเจนต์หนึ่งตัวบน git worktree ของตัวเอง เมื่องานทั้งหมดเสร็จสิ้น เอเจนต์หลักจะตรวจสอบผลลัพธ์ รวมการเปลี่ยนแปลง และล้าง worktree กับกิ่งก้าน (branch) ออก
การทำงานกับ git จะดำเนินการผ่านสคริปต์ bin/sub5.py โดยไม่มีการใช้คำสั่ง force และไม่มีการ push สามารถปรับแต่งโมเดลของซับเอเจนต์, effort และจำนวนรายการสูงสุดได้ในการตั้งค่า
หาก run ถูกขัดจังหวะ (รอบการทำงานถูกสั่งหยุด, เวิร์กเกอร์ล้มเหลว หรือเซสชันถูกปิด) อาจมี worktree และกิ่งก้านหลงเหลืออยู่ คำสั่ง /sub5-clean จะแสดงรายการสิ่งตกค้างเหล่านี้ และหลังจากยืนยันแล้ว จะลบเฉพาะ worktree ที่ไม่มีการเปลี่ยนแปลงที่ยังไม่ได้คอมมิต รวมถึงกิ่งก้านที่รวมเข้าไปแล้วเท่านั้น ส่วนรายการที่เพิ่งใช้งานภายในหนึ่งชั่วโมงที่ผ่านมาจะถูกเก็บไว้
หากรายการงานต้องพึ่งพาซึ่งกันและกัน จะไม่เหมาะกับการใช้ Sub5 เนื่องจากการประมวลผลแบบขนานจะยิ่งเพิ่มความขัดแย้งในการรวมโค้ด
การสลับโมเดล#
O F S H หมายถึง Opus, Fable, Sonnet และ Haiku ตามลำดับ
- เทอร์มินัล: สลับโมเดลของเซสชันปัจจุบันได้โดยตรง และคงระดับ effort เดิมไว้
- เดสก์ท็อปแอป: Claude Code ไม่รองรับให้ปลั๊กอินส่งพรอมต์ที่ขึ้นต้นด้วย
/ และตัวแอปเองก็ไม่อนุญาตให้เซสชันสลับโมเดลของตนเอง ดังนั้นปุ่มนี้จะใส่รหัสโมเดลแบบเต็ม เช่น /model claude-opus-5-5 ลงในช่องป้อนข้อความแทน การสลับจะมีผลหลังจากกด Enter จากนั้น Deckhand จะรีเซ็ตค่า effort กลับเป็นระดับเดิม
เมตริกการใช้งาน#
5h: รอบ 5 ชั่วโมง
fb, sn, op: รอบรายสัปดาห์ของแต่ละโมเดลที่บัญชีมี
7d: รอบรายสัปดาห์รวมของทุกโมเดล
ctx: สัดส่วนการใช้งาน context window
ตัวเลขจะตรงกับการ์ดการใช้งานใน Claude App โดยจะปัดเศษลงเสมอ หากรอบใดรอบหนึ่งเกินเกณฑ์เตือน Deckhand จะแจ้งเตือนหนึ่งครั้ง ซึ่งสามารถปรับเกณฑ์ดังกล่าวได้ในการตั้งค่า
Recap#
Recap จะอธิบายบริบทปัจจุบันทั้งหมดด้วยภาษาที่เข้าใจง่ายในหน้าต่างด้านข้าง โดยไม่เพิ่มข้อความใดๆ เข้าไปในบทสนทนา
เครื่องมือมอนิเตอร์และระบบป้องกัน#
| เครื่องมือ |
วัตถุประสงค์ |
/watch-deploy, watch_deploy |
มอนิเตอร์ PR, การรัน CI หรือ URL ในเบื้องหลัง และหยุดอัตโนมัติเมื่อได้ผลลัพธ์เดิมติดต่อกัน N ครั้ง |
| การป้องกันลูปโพลลิง |
ป้องกันลูปโพลลิงที่ใช้ sleep และการรอแบบบล็อกคำสั่งอย่าง gh run watch |
| การป้องกันการใส่เครดิตผู้เขียนร่วม |
ลบเทรลเลอร์ Co-Authored-By และท้ายข้อความของ Claude Code ออกจากคำสั่งคอมมิตและ PR |
/handoff, /handoff-in, /codex |
ส่งต่องานระหว่าง Claude กับ Codex |
translate |
ส่งงานให้เป้าหมายที่กำหนดทำการแปลตามท้องถิ่น (ปิดใช้งานเป็นค่าเริ่มต้น) |
search |
ส่งงานให้เป้าหมายที่กำหนดค้นหาข้อมูลบนเว็บพร้อมระบุแหล่งที่มา จากนั้นให้ Claude ตรวจสอบความถูกต้อง (ปิดใช้งานเป็นค่าเริ่มต้น) |
การตั้งค่า#
คลิกที่ ⚙ ทางด้านขวาสุดของแถบเครื่องมือ หรือรันคำสั่ง /deckhand เพื่อเปิดหน้าต่างการตั้งค่า โดยจะแบ่งออกเป็น 5 แท็บ ได้แก่ ทั่วไป, การส่งต่องาน, การแปลและการค้นหา, Sub5 และขั้นสูง การตั้งค่าจะถูกบันทึกไว้ในเครื่อง สามารถส่งออกเป็น JSON เพื่อนำไปนำเข้าในเครื่องอื่นได้
อินเทอร์เฟซรองรับ English, 繁體中文, 简体中文, 日本語 และ 한국어 โดยค่าเริ่มต้นจะอิงตามการตั้งค่า language ของ Claude Code
ทิศทางการไหลของข้อมูล#
ข้อมูลที่จะออกจากเครื่องของคุณมีเพียง 3 ประเภทนี้เท่านั้น:
- คำอธิบายงานที่ส่งต่อ: เมื่อกดปุ่มส่งต่องาน ข้อมูลจะถูกส่งไปยังผู้ให้บริการของ CLI ที่เลือก
- ข้อมูลการใช้งาน: เรียกไปยังเอนด์พอยต์การใช้งานของ Anthropic ผ่าน Claude Code โดยใช้ข้อมูลประจำตัวของเซสชันปัจจุบัน
- เครื่องมือที่ถูกเรียกใช้งานอย่างชัดเจน:
translate และ search จะส่งไปยังเป้าหมายที่กำหนด ส่วนฟังก์ชันมอนิเตอร์จะสอบถาม GitHub ผ่าน gh หรืออ่านข้อมูลจาก URL ที่ระบุ
ข้อจำกัดที่ควรทราบ#
- Windows ยังอยู่ในระหว่างการทดสอบ
- ปุ่มโมเดลบนเดสก์ท็อปแอปไม่สามารถสลับได้ในคลิกเดียว จำเป็นต้องกด Enter ในช่องป้อนข้อความ
- การส่งต่องานไม่มีปุ่มหยุด: Deckhand ทำหน้าที่เพียงตรวจสอบการเรียก Bash ที่รันงานส่งต่อ จึงไม่สามารถยกเลิกคำสั่งดังกล่าวได้
- คำอธิบายงานที่ส่งต่อจะถูกส่งไปยังผู้ให้บริการภายนอก
สามารถดูซอร์สโค้ดและเอกสารฉบับเต็มได้ที่ GitHub ทั้งนี้ Deckhand เป็นปลั๊กอินที่พัฒนาขึ้นโดยอิสระ ไม่ใช่ผลิตภัณฑ์ของ Anthropic