Skip to content

Latest commit

 

History

History
294 lines (225 loc) · 20.3 KB

File metadata and controls

294 lines (225 loc) · 20.3 KB

Этот перевод создан Claude. Если у вас есть предложения по улучшению, откройте PR.

cmux

Терминал macOS на базе Ghostty с вертикальными вкладками и уведомлениями для AI-агентов программирования

Скачать cmux для macOS

English | 日本語 | 简体中文 | 繁體中文 | 한국어 | Deutsch | Español | Français | Italiano | Dansk | Polski | Русский | Bosanski | العربية | Norsk | Português (Brasil) | ไทย | Türkçe | ភាសាខ្មែរ | Українська

X / Twitter Discord GitHub stars

Скриншот cmux

▶ Демо-видео · The Zen of cmux

Возможности

Кольца уведомлений

Панели получают синее кольцо, а вкладки подсвечиваются, когда агенты программирования нуждаются в вашем внимании
Кольца уведомлений

Панель уведомлений

Просматривайте все ожидающие уведомления в одном месте, переходите к последнему непрочитанному
Значок уведомлений в боковой панели

Встроенный браузер

Разделите браузер рядом с терминалом со скриптуемым API, портированным из agent-browser
Встроенный браузер

Вертикальные + горизонтальные вкладки

Боковая панель показывает ветку git, статус/номер связанного PR, рабочий каталог, прослушиваемые порты и текст последнего уведомления. Горизонтальное и вертикальное разделение.
Вертикальные вкладки и разделённые панели

SSH

cmux ssh user@remote создаёт рабочее пространство для удалённой машины. Панели браузера маршрутизируются через удалённую сеть, поэтому localhost просто работает. Перетащите изображение в удалённую сессию для загрузки через scp.
cmux SSH

Claude Code Teams

cmux claude-teams запускает режим напарника Claude Code одной командой. Напарники появляются как нативные разделения с метаданными в боковой панели и уведомлениями. tmux не требуется.
Claude Code Teams
  • Импорт из браузера — Импорт куки, истории и сессий из Chrome, Firefox, Arc и 20+ других браузеров, чтобы панели браузера запускались авторизованными
  • Пользовательские команды — Определяйте команды для конкретного проекта в cmux.json, которые запускаются из палитры команд
  • Скриптуемость — CLI и socket API для создания рабочих пространств, разделения панелей, отправки нажатий клавиш и автоматизации браузера
  • Нативное приложение macOS — Создано на Swift и AppKit, не Electron. Быстрый запуск, низкое потребление памяти.
  • Совместимость с Ghostty — Читает вашу существующую конфигурацию ~/.config/ghostty/config для тем, шрифтов и цветов
  • Ускорение GPU — На базе libghostty для плавного рендеринга

Установка

DMG (рекомендуется)

Скачать cmux для macOS

Откройте файл .dmg и перетащите cmux в папку «Программы». cmux автоматически обновляется через Sparkle, поэтому скачивание требуется только один раз.

Homebrew

brew tap manaflow-ai/cmux
brew install --cask cmux

Для обновления в дальнейшем:

brew upgrade --cask cmux

При первом запуске macOS может попросить вас подтвердить открытие приложения от идентифицированного разработчика. Нажмите Открыть, чтобы продолжить.

Почему cmux?

Я запускаю множество сессий Claude Code и Codex параллельно. Я использовал Ghostty с кучей разделённых панелей и полагался на нативные уведомления macOS, чтобы знать, когда агент нуждается во мне. Но тело уведомления Claude Code — это всегда просто «Claude is waiting for your input» без контекста, а при достаточном количестве открытых вкладок я даже не мог прочитать заголовки.

Я попробовал несколько оркестраторов для кодирования, но большинство из них были приложениями Electron/Tauri, и их производительность меня раздражала. К тому же я просто предпочитаю терминал, поскольку GUI-оркестраторы привязывают вас к своему рабочему процессу. Поэтому я создал cmux как нативное приложение macOS на Swift/AppKit. Оно использует libghostty для рендеринга терминала и читает вашу существующую конфигурацию Ghostty для тем, шрифтов и цветов.

Основные дополнения — это боковая панель и система уведомлений. Боковая панель имеет вертикальные вкладки, которые показывают ветку git, статус/номер связанного PR, рабочий каталог, прослушиваемые порты и текст последнего уведомления для каждого рабочего пространства. Система уведомлений перехватывает терминальные последовательности (OSC 9/99/777) и имеет CLI (cmux notify), который можно подключить к хукам агентов для Claude Code, OpenCode и т.д. Когда агент ожидает, его панель получает синее кольцо, а вкладка подсвечивается в боковой панели, так что я могу определить, какой из них нуждается во мне, среди разделений и вкладок. Cmd+Shift+U переходит к последнему непрочитанному.

Встроенный браузер имеет скриптуемый API, портированный из agent-browser. Агенты могут делать снимок дерева доступности, получать ссылки на элементы, кликать, заполнять формы и выполнять JS. Вы можете разделить панель браузера рядом с терминалом и позволить Claude Code взаимодействовать с вашим сервером разработки напрямую.

Всё скриптуемо через CLI и socket API — создание рабочих пространств/вкладок, разделение панелей, отправка нажатий клавиш, открытие URL в браузере.

The Zen of cmux

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 по умолчанию и настраиваются в Настройки → Сочетания клавиш.

Сочетание Действие
⌘ ⇧ L Открыть браузер в разделении
⌘ L Фокус на адресной строке
⌘ [ Назад
⌘ ] Вперёд
⌘ R Перезагрузить страницу
⌥ ⌘ I Переключить Инструменты Разработчика (по умолчанию Safari)
⌥ ⌘ C Показать Консоль JavaScript (по умолчанию Safari)

Уведомления

Сочетание Действие
⌘ I Показать панель уведомлений
⌘ ⇧ U Перейти к последнему непрочитанному

Поиск

Сочетание Действие
⌘ F Поиск
⌘ G / ⌘ ⇧ G Найти следующий / предыдущий
⌘ ⇧ F Скрыть панель поиска
⌘ E Использовать выделение для поиска

Терминал

Сочетание Действие
⌘ K Очистить scrollback
⌘ C Копировать (с выделением)
⌘ V Вставить
⌘ + / ⌘ - Увеличить / уменьшить размер шрифта
⌘ 0 Сбросить размер шрифта

Окно

Сочетание Действие
⌘ ⇧ N Новое окно
⌘ , Настройки
⌘ ⇧ , Перезагрузить конфигурацию
⌘ Q Выход

Ночные сборки

Скачать cmux NIGHTLY

cmux NIGHTLY — это отдельное приложение с собственным идентификатором пакета, поэтому оно работает параллельно со стабильной версией. Собирается автоматически из последнего коммита main и обновляется через собственный канал Sparkle.

Восстановление сессии (текущее поведение)

При перезапуске cmux в настоящее время восстанавливает только макет приложения и метаданные:

  • Макет окон/рабочих пространств/панелей
  • Рабочие каталоги
  • Scrollback терминала (по возможности)
  • URL браузера и история навигации

cmux не восстанавливает состояние живых процессов внутри терминальных приложений. Например, активные сессии Claude Code/tmux/vim пока не возобновляются после перезапуска.

История звёзд

Star History Chart

Участие

Способы принять участие:

Сообщество

Издание основателя

cmux бесплатен, с открытым исходным кодом и всегда будет таким. Если вы хотите поддержать разработку и получить ранний доступ к будущим возможностям:

Получить Издание основателя

  • Приоритетные запросы на функции/исправления ошибок
  • Ранний доступ: cmux AI, который даёт контекст по каждому рабочему пространству, вкладке и панели
  • Ранний доступ: приложение для iOS с терминалами, синхронизированными между компьютером и телефоном
  • Ранний доступ: облачные виртуальные машины
  • Ранний доступ: голосовой режим
  • Мой личный iMessage/WhatsApp

Лицензия

cmux распространяется с открытым исходным кодом по лицензии GPL-3.0-or-later.

Если ваша организация не может соблюдать условия GPL, доступна коммерческая лицензия. Свяжитесь с founders@manaflow.com для получения подробностей.