Запуск cmux на Show HN

Ми опублікували cmux на Show HN 19 лютого:

Я запускаю багато сесій 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 взаємодіяти з вашим dev-сервером напряму.

Все підтримує скрипти через CLI та socket API: створення робочих просторів/вкладок, розділення панелей, надсилання натискань клавіш, відкриття 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. Панель, що очікує введення, отримує синю рамку, і є власна система сповіщень.»

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

Ще одна захоплююча річ — спостерігати, як люди будують поверх cmux CLI. 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