Запуск 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