เปิดตัว cmux บน Show HN

เราโพสต์ cmux บน Show HN เมื่อ 19 ก.พ.:

ผมรัน Claude Code และ Codex หลายเซสชันพร้อมกัน ก่อนหน้านี้ใช้ Ghostty กับแยกหน้าจอหลายอัน และพึ่งพาการแจ้งเตือน macOS เนทีฟเพื่อรู้ว่า agent ตัวไหนต้องการผม แต่เนื้อหาแจ้งเตือนของ Claude Code มีแค่ "Claude is waiting for your input" โดยไม่มีบริบท และเมื่อเปิดแท็บมากพอ ผมอ่านชื่อแท็บไม่ได้อีกแล้ว

ผมลอง coding orchestrator หลายตัวแต่ส่วนใหญ่เป็นแอป Electron/Tauri และประสิทธิภาพทำให้ผมรำคาญ ผมยังชอบเทอร์มินัลมากกว่าเพราะ GUI orchestrator ล็อคคุณเข้ากับ workflow ของมัน ดังนั้นผมจึงสร้าง cmux เป็นแอป macOS เนทีฟใน Swift/AppKit ใช้ libghostty สำหรับการเรนเดอร์เทอร์มินัลและอ่านคอนฟิก Ghostty ที่มีอยู่สำหรับธีม, ฟอนต์, สี และอื่นๆ

สิ่งที่เพิ่มเข้ามาหลักๆ คือแถบข้างและระบบแจ้งเตือน แถบข้างมีแท็บแนวตั้งที่แสดง git branch, working directory, port ที่กำลัง listen และข้อความแจ้งเตือนล่าสุดของแต่ละ workspace ระบบแจ้งเตือนรับ terminal sequence (OSC 9/99/777) และมี CLI (cmux notify) ที่คุณต่อเข้ากับ agent hook สำหรับ Claude Code, OpenCode ฯลฯ ได้ เมื่อ agent กำลังรอ พาเนลของมันจะมีวงแหวนสีน้ำเงินและแท็บจะสว่างในแถบข้าง ผมจึงบอกได้ว่าอันไหนต้องการผมข้ามแยกหน้าจอและแท็บ Cmd+Shift+U กระโดดไปที่แจ้งเตือนที่ยังไม่ได้อ่านล่าสุด

เบราว์เซอร์ในแอปมี API ที่เขียนสคริปต์ได้ Agent สามารถ snapshot accessibility tree, รับ element ref, คลิก, กรอกฟอร์ม, evaluate JS และอ่าน console log คุณสามารถแยกเบราว์เซอร์ข้างเทอร์มินัลและให้ Claude Code โต้ตอบกับ dev server ของคุณโดยตรง

ทุกอย่างเขียนสคริปต์ได้ผ่าน CLI และ socket API: สร้าง workspace/แท็บ, แยกหน้าจอ, ส่งการกดปุ่ม, เปิด URL ในเบราว์เซอร์

ตอนที่ขึ้นสูงสุด มันขึ้นอันดับ 2 บน Hacker News Mitchell Hashimoto แชร์มัน:

คอมเมนต์ที่ผมชอบที่สุดจากกระทู้ HN:

Hey, this looks seriously awesome. Love the ideas here, specifically: the programmability (I haven't tried it yet, but had been considering learning tmux partly for this), layered UI, browser w/ api. Looking forward to giving this a spin. Also want to add that I really appreciate Mitchell Hashimoto creating libghostty; it feels like an exciting time to be a terminal user.

Some feedback (since you were asking for it elsewhere in the thread!):

  • It's not obvious/easy to open browser dev tools (cmd-alt-i didn't work), and when I did find it (right click page → inspect element) none of the controls were visible but I could see stuff happening when I moved my mouse over the panel
  • Would be cool to borrow more of ghostty's behavior:
    • hotkey overrides
    • command palette (cmd-shift-p)
    • cmd-z to "zoom in" to a pane

johnthedebs

อย่างไม่คาดคิด cmux กลายเป็นไวรัลในญี่ปุ่น:

คำแปล: "ดูดีนะ แอปเทอร์มินัลที่สร้างบน Ghostty ออกแบบมาเพื่อไม่ให้หลงทางเมื่อรัน CLI หลายตัวอย่าง Claude Code พร้อมกัน แผงที่รอ input จะมีกรอบสีน้ำเงิน และมีระบบแจ้งเตือนของตัวเอง"

และกึ่งไวรัลในจีน:

อีกสิ่งที่น่าตื่นเต้นคือเห็นคนสร้างสิ่งต่างๆ บน cmux CLI sasha สร้างส่วนขยาย pi-cmux ที่แสดงข้อมูลโมเดล, การใช้โทเค็น และสถานะ agent ในแถบข้าง:

ทุกอย่างใน cmux เขียนสคริปต์ได้ผ่าน CLI: สร้าง workspace, ส่งการกดปุ่ม, ควบคุมเบราว์เซอร์, อ่านการแจ้งเตือน ส่วนหนึ่งของปรัชญา cmux คือการเขียนโปรแกรมได้และประกอบกันได้ เพื่อให้คนปรับแต่งวิธีทำงานกับ coding agent ได้ สถานะของ coding agent เปลี่ยนแปลงเร็ว และคุณไม่อยากถูกล็อคอยู่กับ GUI orchestrator ที่ไม่ยืดหยุ่นซึ่งตามไม่ทัน

ถ้าคุณรัน coding agent หลายตัว ลองใช้ cmux ดู

cmux GitHub star history showing growth from near 0 to 900+ stars after the Show HN launch