Запуск cmux на Show HN
19 лютого ми виклали cmux на Show HN:
Я запускаю багато сесій Claude Code і Codex паралельно. Я користувався Ghostty з купою розділених панелей і покладався на нативні сповіщення macOS, щоб знати, коли агент мене чекає. Але текст сповіщення Claude Code завжди лише "Claude is waiting for your input" без жодного контексту, а коли вкладок багато, я навіть заголовків уже не міг прочитати.
Я спробував кілька оркестраторів для програмування, але більшість із них — застосунки на Electron/Tauri, і їхня продуктивність мене дратувала. До того ж я просто віддаю перевагу терміналу, бо GUI-оркестратори прив'язують вас до свого робочого процесу. Тож я написав cmux як нативний застосунок для macOS на Swift/AppKit. Він використовує libghostty для відображення терміналу й читає вашу наявну конфігурацію Ghostty: теми, шрифти, кольори тощо.
Головні нововведення — бічна панель і система сповіщень. Бічна панель має вертикальні вкладки, які показують гілку git, робочий каталог, порти, що прослуховуються, і текст останнього сповіщення для кожного робочого простору. Система сповіщень розпізнає термінальні послідовності (OSC 9/99/777) і має CLI (cmux notify), який можна підключити до хуків агентів для Claude Code, OpenCode тощо. Коли агент чекає, його панель отримує синю рамку, а вкладка підсвічується в бічній панелі, тож я бачу, кому я потрібен, серед усіх розділень і вкладок. Cmd+Shift+U переходить до найновішого непрочитаного.
Вбудований браузер має API для скриптів. Агенти можуть робити знімок дерева доступності, отримувати посилання на елементи, клацати, заповнювати форми, виконувати JS і читати журнали консолі. Можна розмістити панель браузера поруч із терміналом, і Claude Code працюватиме з вашим сервером розробки напряму.
Усім можна керувати скриптами через CLI і socket API: створювати робочі простори й вкладки, розділяти панелі, надсилати натискання клавіш, відкривати URL у браузері.
На піку cmux посів 2-ге місце на Hacker News. Мітчелл Хашимото поділився ним:
Мій улюблений коментар з обговорення на 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
Несподівано cmux став вірусним у Японії:
Переклад: "Виглядає добре. Термінальний застосунок на основі Ghostty, створений, щоб ви не загубилися, коли паралельно запускаєте кілька CLI на кшталт Claude Code. Панель, що чекає на введення, отримує синю рамку, і є власна система сповіщень."
І напіввірусним у Китаї:
Ще одна радісна подія: люди почали будувати власні рішення на основі CLI cmux. sasha створив розширення pi-cmux, яке показує в бічній панелі інформацію про модель, використання токенів і стан агента:
У cmux усім можна керувати скриптами через CLI: створювати робочі простори, надсилати натискання клавіш, керувати браузером, читати сповіщення. Частина філософії cmux — програмованість і компонованість, щоб люди могли налаштувати свою роботу з агентами для програмування під себе. Агенти для програмування швидко змінюються, і вам не варто прив'язуватися до негнучкого GUI-оркестратора, який не встигає за ними.
Якщо ви працюєте з кількома агентами для програмування, спробуйте cmux.

