Запуск cmux на Show HN

Lawrence Chen@lawrencecchen

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

— johnthedebs

Несподівано cmux став вірусним у Японії:

Переклад: "Виглядає добре. Термінальний застосунок на основі Ghostty, створений, щоб ви не загубилися, коли паралельно запускаєте кілька CLI на кшталт Claude Code. Панель, що чекає на введення, отримує синю рамку, і є власна система сповіщень."

І напіввірусним у Китаї:

Ще одна радісна подія: люди почали будувати власні рішення на основі CLI cmux. sasha створив розширення pi-cmux, яке показує в бічній панелі інформацію про модель, використання токенів і стан агента:

У cmux усім можна керувати скриптами через CLI: створювати робочі простори, надсилати натискання клавіш, керувати браузером, читати сповіщення. Частина філософії cmux — програмованість і компонованість, щоб люди могли налаштувати свою роботу з агентами для програмування під себе. Агенти для програмування швидко змінюються, і вам не варто прив'язуватися до негнучкого GUI-оркестратора, який не встигає за ними.

Якщо ви працюєте з кількома агентами для програмування, спробуйте cmux.

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