การแปลนี้สร้างโดย Claude หากมีข้อเสนอแนะในการปรับปรุง กรุณาเปิด PR
เทอร์มินัล macOS ที่ใช้ Ghostty พร้อมแท็บแนวตั้งและการแจ้งเตือนสำหรับเอเจนต์เขียนโค้ด AI
English | 日本語 | 简体中文 | 繁體中文 | 한국어 | Deutsch | Español | Français | Italiano | Dansk | Polski | Русский | Bosanski | العربية | Norsk | Português (Brasil) | ไทย | Türkçe | ភាសាខ្មែរ | Українська
▶ วิดีโอสาธิต · The Zen of cmux
| แผงจะมีวงแหวนสีน้ำเงินและแท็บจะสว่างขึ้นเมื่อเอเจนต์เขียนโค้ดต้องการความสนใจของคุณ |
|
| ดูการแจ้งเตือนที่รอดำเนินการทั้งหมดในที่เดียว ข้ามไปยังรายการที่ยังไม่ได้อ่านล่าสุด |
|
| แบ่งเบราว์เซอร์ข้างเทอร์มินัลพร้อม API ที่เขียนสคริปต์ได้ ย้ายมาจาก agent-browser |
|
| แถบด้านข้างแสดง git branch, สถานะ/หมายเลข PR ที่เชื่อมโยง, ไดเรกทอรีทำงาน, พอร์ตที่กำลังฟัง และข้อความแจ้งเตือนล่าสุด แบ่งแนวนอนและแนวตั้ง |
|
- เขียนสคริปต์ได้ — CLI และ socket API สำหรับสร้างเวิร์กสเปซ แบ่งแผง ส่งการกดแป้นพิมพ์ และควบคุมเบราว์เซอร์อัตโนมัติ
- แอป macOS ดั้งเดิม — สร้างด้วย Swift และ AppKit ไม่ใช่ Electron เริ่มต้นเร็ว ใช้หน่วยความจำน้อย
- เข้ากันได้กับ Ghostty — อ่านการตั้งค่าที่มีอยู่ของคุณจาก
~/.config/ghostty/configสำหรับธีม ฟอนต์ และสี - เร่งความเร็วด้วย GPU — ขับเคลื่อนโดย libghostty สำหรับการแสดงผลที่ลื่นไหล
เปิดไฟล์ .dmg แล้วลาก cmux ไปยังโฟลเดอร์แอปพลิเคชัน cmux อัปเดตอัตโนมัติผ่าน Sparkle คุณจึงต้องดาวน์โหลดเพียงครั้งเดียว
brew tap manaflow-ai/cmux
brew install --cask cmuxสำหรับอัปเดตในภายหลัง:
brew upgrade --cask cmuxเมื่อเปิดใช้งานครั้งแรก macOS อาจขอให้คุณยืนยันการเปิดแอปจากนักพัฒนาที่ได้รับการระบุตัวตน คลิก เปิด เพื่อดำเนินการต่อ
ผมรันเซสชัน Claude Code และ Codex จำนวนมากพร้อมกัน ผมใช้ Ghostty กับแผงแบ่งหลายอัน และพึ่งพาการแจ้งเตือนดั้งเดิมของ macOS เพื่อรู้ว่าเมื่อไหร่ที่เอเจนต์ต้องการผม แต่ข้อความแจ้งเตือนของ Claude Code มีแค่ "Claude is waiting for your input" โดยไม่มีบริบท และเมื่อเปิดแท็บมากพอ ผมไม่สามารถอ่านชื่อแท็บได้เลย
ผมลองใช้ออร์เคสเตรเตอร์สำหรับเขียนโค้ดบางตัว แต่ส่วนใหญ่เป็นแอป Electron/Tauri และประสิทธิภาพทำให้ผมรำคาญ ผมยังชอบเทอร์มินัลมากกว่าเพราะออร์เคสเตรเตอร์ GUI บังคับให้คุณใช้เวิร์กโฟลว์ของมัน ผมจึงสร้าง cmux เป็นแอป macOS ดั้งเดิมด้วย Swift/AppKit มันใช้ libghostty สำหรับการแสดงผลเทอร์มินัลและอ่านการตั้งค่า Ghostty ที่มีอยู่ของคุณสำหรับธีม ฟอนต์ และสี
สิ่งที่เพิ่มเติมหลักคือแถบด้านข้างและระบบแจ้งเตือน แถบด้านข้างมีแท็บแนวตั้งที่แสดง git branch, สถานะ/หมายเลข PR ที่เชื่อมโยง, ไดเรกทอรีทำงาน, พอร์ตที่กำลังฟัง และข้อความแจ้งเตือนล่าสุดสำหรับแต่ละเวิร์กสเปซ ระบบแจ้งเตือนจับลำดับเทอร์มินัล (OSC 9/99/777) และมี CLI (cmux notify) ที่คุณสามารถเชื่อมต่อกับ hook ของเอเจนต์สำหรับ Claude Code, OpenCode เป็นต้น เมื่อเอเจนต์กำลังรอ แผงของมันจะมีวงแหวนสีน้ำเงินและแท็บจะสว่างขึ้นในแถบด้านข้าง เพื่อให้ผมบอกได้ว่าอันไหนต้องการผมข้ามแผงแบ่งและแท็บต่าง ๆ Cmd+Shift+U ข้ามไปยังรายการที่ยังไม่ได้อ่านล่าสุด
เบราว์เซอร์ในแอปมี API ที่เขียนสคริปต์ได้ ย้ายมาจาก agent-browser เอเจนต์สามารถจับภาพ accessibility tree, รับ element refs, คลิก, กรอกฟอร์ม และรัน JS ได้ คุณสามารถแบ่งแผงเบราว์เซอร์ข้างเทอร์มินัลและให้ Claude Code โต้ตอบกับเซิร์ฟเวอร์สำหรับพัฒนาของคุณโดยตรง
ทุกอย่างเขียนสคริปต์ได้ผ่าน CLI และ socket API — สร้างเวิร์กสเปซ/แท็บ แบ่งแผง ส่งการกดแป้นพิมพ์ เปิด URL ในเบราว์เซอร์
cmux ไม่ได้กำหนดว่านักพัฒนาต้องใช้เครื่องมืออย่างไร มันเป็นเทอร์มินัลและเบราว์เซอร์พร้อม CLI ส่วนที่เหลือขึ้นอยู่กับคุณ
cmux เป็นส่วนประกอบพื้นฐาน ไม่ใช่โซลูชันสำเร็จรูป มันให้เทอร์มินัล เบราว์เซอร์ การแจ้งเตือน เวิร์กสเปซ แผงแบ่ง แท็บ และ CLI เพื่อควบคุมทั้งหมด cmux ไม่บังคับให้คุณใช้เอเจนต์เขียนโค้ดในแบบที่มีความคิดเห็นตายตัว สิ่งที่คุณสร้างด้วยส่วนประกอบพื้นฐานเหล่านี้เป็นของคุณ
นักพัฒนาที่ดีที่สุดสร้างเครื่องมือของตัวเองมาตลอด ยังไม่มีใครหาวิธีทำงานกับเอเจนต์ที่ดีที่สุด และทีมที่สร้างผลิตภัณฑ์แบบปิดก็ยังไม่ได้หาเช่นกัน นักพัฒนาที่อยู่ใกล้โค้ดเบสของตัวเองมากที่สุดจะเป็นคนหาคำตอบก่อน
ให้ส่วนประกอบพื้นฐานที่ประกอบกันได้แก่นักพัฒนาล้านคน แล้วพวกเขาจะร่วมกันค้นพบเวิร์กโฟลว์ที่มีประสิทธิภาพที่สุดได้เร็วกว่าทีมผลิตภัณฑ์ใดจะออกแบบจากบนลงล่าง
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการตั้งค่า cmux, ไปที่เอกสารของเรา
| ปุ่มลัด | การทำงาน |
|---|---|
| ⌘ N | เวิร์กสเปซใหม่ |
| ⌘ 1–8 | ข้ามไปเวิร์กสเปซ 1–8 |
| ⌘ 9 | ข้ามไปเวิร์กสเปซสุดท้าย |
| ⌃ ⌘ ] | เวิร์กสเปซถัดไป |
| ⌃ ⌘ [ | เวิร์กสเปซก่อนหน้า |
| ⌘ ⇧ W | ปิดเวิร์กสเปซ |
| ⌘ ⇧ R | เปลี่ยนชื่อเวิร์กสเปซ |
| ⌘ B | สลับแถบด้านข้าง |
| ปุ่มลัด | การทำงาน |
|---|---|
| ⌘ T | เซอร์เฟซใหม่ |
| ⌘ ⇧ ] | เซอร์เฟซถัดไป |
| ⌘ ⇧ [ | เซอร์เฟซก่อนหน้า |
| ⌃ Tab | เซอร์เฟซถัดไป |
| ⌃ ⇧ Tab | เซอร์เฟซก่อนหน้า |
| ⌃ 1–8 | ข้ามไปเซอร์เฟซ 1–8 |
| ⌃ 9 | ข้ามไปเซอร์เฟซสุดท้าย |
| ⌘ W | ปิดเซอร์เฟซ |
| ปุ่มลัด | การทำงาน |
|---|---|
| ⌘ D | แบ่งไปทางขวา |
| ⌘ ⇧ D | แบ่งลงล่าง |
| ⌥ ⌘ ← → ↑ ↓ | โฟกัสแผงตามทิศทาง |
| ⌘ ⇧ H | กะพริบแผงที่โฟกัส |
ปุ่มลัดเครื่องมือสำหรับนักพัฒนาของเบราว์เซอร์ใช้ค่าเริ่มต้นของ Safari และสามารถปรับแต่งได้ใน Settings → Keyboard Shortcuts
| ปุ่มลัด | การทำงาน |
|---|---|
| ⌘ ⇧ L | เปิดเบราว์เซอร์ในแผงแบ่ง |
| ⌘ L | โฟกัสแถบที่อยู่ |
| ⌘ [ | ย้อนกลับ |
| ⌘ ] | ไปข้างหน้า |
| ⌘ R | โหลดหน้าใหม่ |
| ⌥ ⌘ I | เปิด/ปิดเครื่องมือสำหรับนักพัฒนา (ค่าเริ่มต้น Safari) |
| ⌥ ⌘ C | แสดง JavaScript Console (ค่าเริ่มต้น Safari) |
| ปุ่มลัด | การทำงาน |
|---|---|
| ⌘ I | แสดงแผงแจ้งเตือน |
| ⌘ ⇧ U | ข้ามไปยังรายการที่ยังไม่ได้อ่านล่าสุด |
| ปุ่มลัด | การทำงาน |
|---|---|
| ⌘ F | ค้นหา |
| ⌘ G / ⌘ ⇧ G | ค้นหาถัดไป / ก่อนหน้า |
| ⌘ ⇧ F | ซ่อนแถบค้นหา |
| ⌘ E | ใช้ส่วนที่เลือกสำหรับค้นหา |
| ปุ่มลัด | การทำงาน |
|---|---|
| ⌘ K | ล้างประวัติการเลื่อน |
| ⌘ C | คัดลอก (เมื่อเลือกข้อความ) |
| ⌘ V | วาง |
| ⌘ + / ⌘ - | เพิ่ม / ลดขนาดฟอนต์ |
| ⌘ 0 | รีเซ็ตขนาดฟอนต์ |
| ปุ่มลัด | การทำงาน |
|---|---|
| ⌘ ⇧ N | หน้าต่างใหม่ |
| ⌘ , | การตั้งค่า |
| ⌘ ⇧ , | โหลดการตั้งค่าใหม่ |
| ⌘ Q | ออก |
cmux NIGHTLY เป็นแอปแยกต่างหากที่มี bundle ID เป็นของตัวเอง จึงสามารถรันควบคู่กับเวอร์ชันเสถียรได้ สร้างอัตโนมัติจากคอมมิต main ล่าสุดและอัปเดตอัตโนมัติผ่านฟีด Sparkle ของตัวเอง
เมื่อเปิดใหม่ cmux จะกู้คืนเลย์เอาต์และข้อมูลเมตาของแอปเท่านั้น:
- เลย์เอาต์หน้าต่าง/เวิร์กสเปซ/แผง
- ไดเรกทอรีทำงาน
- ประวัติการเลื่อนของเทอร์มินัล (พยายามอย่างดีที่สุด)
- URL ของเบราว์เซอร์และประวัติการนำทาง
cmux ไม่กู้คืนสถานะกระบวนการที่กำลังทำงานภายในแอปเทอร์มินัล ตัวอย่างเช่น เซสชัน Claude Code/tmux/vim ที่กำลังทำงานอยู่จะยังไม่ถูกกู้คืนหลังจากรีสตาร์ท
วิธีเข้าร่วม:
- ติดตามเราบน X สำหรับข่าวสาร @manaflowai, @lawrencecchen และ @austinywang
- เข้าร่วมสนทนาบน Discord
- สร้างและมีส่วนร่วมใน GitHub issues และ discussions
- แจ้งให้เรารู้ว่าคุณกำลังสร้างอะไรด้วย cmux
cmux เป็นซอฟต์แวร์ฟรี โอเพนซอร์ส และจะเป็นเช่นนั้นตลอดไป หากคุณต้องการสนับสนุนการพัฒนาและเข้าถึงสิ่งที่กำลังจะมาถึงก่อนใคร:
- คำขอฟีเจอร์/แก้ไขบั๊กที่ได้รับความสำคัญ
- เข้าถึงก่อน: cmux AI ที่ให้บริบทเกี่ยวกับทุกเวิร์กสเปซ แท็บ และแผง
- เข้าถึงก่อน: แอป iOS ที่ซิงค์เทอร์มินัลระหว่างเดสก์ท็อปและโทรศัพท์
- เข้าถึงก่อน: Cloud VMs
- เข้าถึงก่อน: โหมดเสียง
- iMessage/WhatsApp ส่วนตัวของผม
cmux เป็นโอเพนซอร์สภายใต้ AGPL-3.0-or-later
หากองค์กรของคุณไม่สามารถปฏิบัติตาม AGPL ได้ มีสัญญาอนุญาตเชิงพาณิชย์ให้เลือกใช้ ติดต่อ founders@manaflow.com สำหรับรายละเอียด




