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

cmux

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

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

English | 日本語 | Tiếng Việt | 简体中文 | 繁體中文 | 한국어 | 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`](https://cmux.com/docs/custom-commands), которые запускаются из палитры команд - **Скриптуемость** — CLI и socket API для создания рабочих пространств, разделения панелей, отправки нажатий клавиш и автоматизации браузера - **Нативное приложение macOS** — Создано на Swift и AppKit, не Electron. Быстрый запуск, низкое потребление памяти. - **Совместимость с Ghostty** — Читает вашу существующую конфигурацию `~/.config/ghostty/config` для тем, шрифтов и цветов - **Ускорение GPU** — На базе libghostty для плавного рендеринга - **Сочетания клавиш** — [Обширные сочетания](https://cmux.com/docs/keyboard-shortcuts) для рабочих пространств, разделений, браузера и многого другого - **Открытый исходный код** — Бесплатно и под лицензией GPL ## Установка ### DMG (рекомендуется) Скачать cmux для macOS Откройте файл `.dmg` и перетащите cmux в папку «Программы». cmux автоматически обновляется через Sparkle, поэтому скачивание требуется только один раз. ### Homebrew ```bash brew tap manaflow-ai/cmux brew install --cask cmux ``` Для обновления в дальнейшем: ```bash 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](https://github.com/vercel-labs/agent-browser). Агенты могут делать снимок дерева доступности, получать ссылки на элементы, кликать, заполнять формы и выполнять JS. Вы можете разделить панель браузера рядом с терминалом и позволить Claude Code взаимодействовать с вашим сервером разработки напрямую. Всё скриптуемо через CLI и socket API — создание рабочих пространств/вкладок, разделение панелей, отправка нажатий клавиш, открытие URL в браузере. ## The Zen of cmux cmux не навязывает разработчикам, как использовать свои инструменты. Это терминал и браузер с CLI, а остальное зависит от вас. cmux — это примитив, а не решение. Он даёт вам терминал, браузер, уведомления, рабочие пространства, разделения, вкладки и CLI для управления всем этим. cmux не заставляет вас использовать агентов для кодирования определённым образом. То, что вы построите из этих примитивов, принадлежит вам. Лучшие разработчики всегда создавали собственные инструменты. Никто ещё не нашёл лучший способ работы с агентами, и команды, создающие закрытые продукты, тоже этого не сделали. Разработчики, ближе всех к своим кодовым базам, найдут это первыми. Дайте миллиону разработчиков композируемые примитивы, и они коллективно найдут наиболее эффективные рабочие процессы быстрее, чем любая продуктовая команда могла бы спроектировать сверху вниз. ## Документация Подробнее о настройке cmux читайте в [нашей документации](https://cmux.com/docs/getting-started?utm_source=readme). ## Сочетания Клавиш ### Рабочие пространства | Сочетание | Действие | |----------|--------| | ⌘ N | Новое рабочее пространство | | ⌘ 1–8 | Перейти к рабочему пространству 1–8 | | ⌘ 9 | Перейти к последнему рабочему пространству | | ⌃ ⌘ ] | Следующее рабочее пространство | | ⌃ ⌘ [ | Предыдущее рабочее пространство | | ⌘ ⇧ W | Закрыть рабочее пространство | | ⌘ ⇧ R | Переименовать рабочее пространство | | ⌥ ⌘ E | Редактировать описание рабочего пространства | | ⌘ B | Переключить боковую панель | | ⌥ ⌘ B | Переключить правую боковую панель | | ⌘ ⇧ E | Переключить фокус правой боковой панели | ### Поверхности | Сочетание | Действие | |----------|--------| | ⌘ T | Новая поверхность | | ⌘ ⇧ ] | Следующая поверхность | | ⌘ ⇧ [ | Предыдущая поверхность | | ⌃ Tab | Следующая поверхность | | ⌃ ⇧ Tab | Предыдущая поверхность | | ⌃ 1–8 | Перейти к поверхности 1–8 | | ⌃ 9 | Перейти к последней поверхности | | ⌘ W | Закрыть поверхность | ### Разделённые Панели | Сочетание | Действие | |----------|--------| | ⌘ D | Разделить вправо | | ⌘ ⇧ D | Разделить вниз | | ⌥ ⌘ ← → ↑ ↓ | Фокус панели по направлению | | ⌘ ⇧ H | Мигнуть фокусированной панелью | ### Браузер Сочетания клавиш инструментов разработчика браузера соответствуют настройкам Safari по умолчанию и настраиваются в `Настройки → Сочетания клавиш`. Сочетания клавиш навигации по палитре команд, включая ⌃ P, также настраиваются и могут быть очищены, чтобы нажатие клавиши достигало активного терминала. | Сочетание | Действие | |----------|--------| | ⌘ ⇧ L | Открыть браузер в разделении | | ⌘ L | Фокус на адресной строке | | ⌘ [ | Назад | | ⌘ ] | Вперёд | | ⌘ R | Перезагрузить страницу | | ⌥ ⌘ I | Переключить Инструменты Разработчика (по умолчанию Safari) | | ⌥ ⌘ C | Показать Консоль JavaScript (по умолчанию Safari) | ### Уведомления | Сочетание | Действие | |----------|--------| | ⌘ I | Показать панель уведомлений | | ⌘ ⇧ U | Перейти к последнему непрочитанному | | ⌥ ⌘ U | Переключить состояние «прочитано» для текущего элемента | | ⌃ ⌘ U | Отметить текущий элемент как самый старый непрочитанный и перейти к следующему последнему непрочитанному | ### Поиск | Сочетание | Действие | |----------|--------| | ⌘ F | Поиск | | ⌘ ⇧ F | Поиск в каталоге | | ⌘ G / ⌥ ⌘ G | Найти следующий / предыдущий | | ⌥ ⌘ ⇧ F | Скрыть панель поиска | | ⌘ E | Использовать выделение для поиска | ### Терминал | Сочетание | Действие | |----------|--------| | ⌘ K | Очистить scrollback | | ⌘ C | Копировать (с выделением) | | ⌘ V | Вставить | | ⌘ + / ⌘ - | Увеличить / уменьшить размер шрифта | | ⌘ 0 | Сбросить размер шрифта | ### Окно | Сочетание | Действие | |----------|--------| | ⌘ ⇧ N | Новое окно | | ⌘ ⇧ O | Открыть предыдущую сессию заново | | ⌘ , | Настройки | | ⌘ ⇧ , | Перезагрузить конфигурацию | | ⌘ Q | Выход | ## Ночные сборки [Скачать cmux NIGHTLY](https://github.com/manaflow-ai/cmux/releases/download/nightly/cmux-nightly-macos.dmg) cmux NIGHTLY — это отдельное приложение с собственным идентификатором пакета, поэтому оно работает параллельно со стабильной версией. Собирается автоматически из последнего коммита `main` и обновляется через собственный канал Sparkle. Сообщайте об ошибках в ночных сборках на [GitHub Issues](https://github.com/manaflow-ai/cmux/issues) или в [#nightly-bugs в Discord](https://discord.gg/xsgFEVrWCZ). ## Восстановление сессии При выходе cmux сохраняет текущую сессию. При повторном запуске cmux восстанавливает состояние, которым управляет приложение: - Макет окон/рабочих пространств/панелей - Рабочие каталоги - Scrollback терминала (по возможности) - URL браузера и история навигации cmux не создает checkpoint для произвольного состояния живых процессов. tmux, vim, shell и неподдерживаемые терминальные приложения открываются заново как обычные терминалы. Поддерживаемые сессии агентов могут возобновляться, если hooks сохранили нативный ID сессии. Устанавливайте hooks после установки CLI агента, чтобы его бинарный файл был в `PATH`: ```bash cmux hooks setup cmux hooks setup codex cmux hooks setup --agent opencode ``` `cmux hooks setup` устанавливает поддерживаемых агентов, которых может найти, и выводит сводку для пропущенных агентов. Поддерживаемые интеграции возобновления включают Claude Code, Codex, Grok, OpenCode, Pi, Amp, Cursor CLI, Gemini, Rovo Dev, Copilot, CodeBuddy, Factory и Qoder. Claude Code обрабатывается обёрткой Claude cmux, когда интеграция Claude включена в Настройках. Опытные пользователи и интеграции могут привязать пользовательскую команду возобновления к текущей terminal surface. Это полезно для инструментов с собственным долговременным состоянием, например tmux-сессий или пользовательских agent CLI: ```bash cmux surface resume set --kind tmux --checkpoint work --shell "tmux attach -t work" cmux surface resume show --json cmux surface resume clear --checkpoint work ``` Привязка остается связанной с surface в cmux. Привязки, созданные публичным CLI или socket, сохраняются для проверки и ручного возобновления, если вы не одобрите подписанный префикс команды для автоматического возобновления. Одобренные префиксы также привязаны к рабочему каталогу и точным значениям окружения, если они присутствуют. Просматривайте или редактируйте одобрения в **Настройки > Терминал > Resume Commands**. cmux автоматически запускает только привязки возобновления, которые помечает как доверенные, например tmux-привязки, обнаруженные из живых процессов, или одобренные пользователем префиксы. Чувствительные ключи окружения, такие как токены, пароли, секреты и API-ключи, отбрасываются перед сохранением привязки возобновления. Чтобы восстановленные терминалы агентов оставались бездействующими вместо автоматического запуска их команд возобновления, отключите **Настройки > Терминал > Resume Agent Sessions on Reopen** или задайте это в `~/.config/cmux/cmux.json`: ```json { "terminal": { "autoResumeAgentSessions": false } } ``` Это отключает только автоматические команды возобновления агентов. cmux по-прежнему восстанавливает сохранённый макет, рабочие каталоги, scrollback и историю браузера. Если вам нужно вручную повторно применить последний сохранённый снимок, используйте: - `File > Reopen Previous Session` - `⌘ ⇧ O` - `cmux restore-session` Под капотом cmux записывает версионированный снимок в `~/Library/Application Support/cmux/`, а hooks агентов записывают сопоставления сессий в `~/.cmuxterm/`. При восстановлении cmux сначала перестраивает макет, а затем запускает нативную команду возобновления поддерживаемого агента, когда автоматическое возобновление агентов включено. Прочтите полное руководство на . ## FAQ ### Как cmux связан с Ghostty? cmux не является форком Ghostty. Он использует [libghostty](https://github.com/ghostty-org/ghostty) как библиотеку для рендеринга терминала, так же как приложения используют WebKit для веб-представлений. Ghostty — это самостоятельный терминал; cmux — это другое приложение, построенное поверх его движка рендеринга. ### Какие платформы поддерживаются? Пока только macOS. cmux — это нативное приложение Swift + AppKit. ### Есть ли приложение для iOS? Да, в бета-версии. Свяжите свой iPhone с Mac из окна Mobile Connect и подключайтесь к своим терминалам с телефона, с опциональной пересылкой уведомлений терминала. Оно поставляется в TestFlight как cmux BETA. Смотрите [документацию по iOS](https://cmux.com/docs/ios). ### С какими агентами программирования работает cmux? Со всеми. cmux — это терминал, поэтому любой агент, работающий в терминале, работает из коробки: Claude Code, Codex, OpenCode, Gemini CLI, Kiro, Aider, Goose, Amp, Cline, Cursor Agent и всё остальное, что можно запустить из командной строки. ### Может ли cmux оркестрировать несколько агентов и субагентов? Да. Когда агент порождает субагентов или напарников, cmux превращает их в нативные панели и разделения вместо скрытых фоновых процессов. Он поддерживает [Claude Code teams](https://cmux.com/docs/agent-integrations/claude-code-teams) и мульти-модельную оркестрацию [oh-my-opencode](https://cmux.com/docs/agent-integrations/oh-my-opencode), так что каждый агент в запуске виден и управляем. ### Могу ли я использовать cmux с удалёнными машинами? Да. Открывайте рабочие пространства по SSH и подключайтесь к удалённым tmux-сессиям, чтобы агенты могли работать на удалённом хосте, пока вы управляете ими из cmux. Смотрите [SSH и удалённый доступ](https://cmux.com/docs/ssh). ### Как работают уведомления? Когда процесс требует внимания, cmux показывает кольца уведомлений вокруг панелей, значки непрочитанного в боковой панели, всплывающее окно уведомлений и десктопное уведомление macOS. Они срабатывают автоматически через стандартные escape-последовательности терминала (OSC 9/99/777), или вы можете запустить их с помощью [cmux CLI](https://cmux.com/docs/notifications#cli-usage) и [хуков агентов](https://cmux.com/docs/notifications#integration-examples). Работает любой агент, поддерживающий hooks или OSC, включая Claude Code, Codex, OpenCode и pi. ### Программируется ли cmux? Да. Каждое действие доступно через cmux CLI и Unix-сокет: создание рабочих пространств, открытие разделённых панелей, отправка ввода, чтение содержимого экрана, создание снимков экрана и управление встроенным браузером. Смотрите [справочник по CLI](https://cmux.com/docs/api) и документацию по [автоматизации браузера](https://cmux.com/docs/browser-automation). ### Что может встроенный браузер? cmux может разделить настоящую панель браузера рядом с вашим терминалом, и она полностью программируется: навигация, снимок DOM, клики, ввод, выполнение JavaScript, а также чтение активности консоли и сети через тот же socket API. Агенты используют его для проверки собственных веб-изменений, не покидая cmux. Смотрите [автоматизацию браузера](https://cmux.com/docs/browser-automation). ### Есть ли у cmux skills? Да. Skills — это многоразовые рабочие процессы, которые вы можете дать любому агенту, работающему в cmux, для таких вещей, как управление CLI, автоматизация рабочих пространств, настройки и поверхности браузера. Просматривайте открытую коллекцию на [cmux-skills](https://github.com/manaflow-ai/cmux-skills) или читайте [документацию по skills](https://cmux.com/docs/skills). ### Могу ли я настроить сочетания клавиш? Сочетания клавиш терминала читаются из вашего файла конфигурации Ghostty (`~/.config/ghostty/config`). Специфичные для cmux сочетания (рабочие пространства, разделения, браузер, уведомления) можно настроить в Настройках. Полный список смотрите в [сочетаниях по умолчанию](https://cmux.com/docs/keyboard-shortcuts). ### Могу ли я настроить cmux? Да. Рендеринг терминала использует вашу конфигурацию Ghostty, поэтому темы, шрифты, цвета и курсор переносятся напрямую. Собственные настройки cmux в `~/.config/cmux/cmux.json` управляют боковой панелью, панелью вкладок, разделёнными панелями и поведением, и каждое [сочетание клавиш](https://cmux.com/docs/keyboard-shortcuts) можно редактировать. Смотрите [конфигурацию](https://cmux.com/docs/configuration). ### Сохраняются ли мои сессии? Да. cmux восстанавливает ваши окна, рабочие пространства, панели, рабочие каталоги и scrollback при повторном запуске, и состояние переживает полную перезагрузку компьютера, а не только закрытие приложения. Сессии агентов, такие как Claude Code, Codex и OpenCode, тоже возвращаются. Смотрите [восстановление сессии](https://cmux.com/docs/session-restore). ### Как он сравнивается с tmux? tmux — это мультиплексор терминала, который работает внутри любого терминала. cmux — это нативное приложение macOS с GUI: вертикальные вкладки, разделённые панели, встроенный браузер и socket API, всё встроено, без необходимости в файлах конфигурации или префиксных клавишах. Тем не менее, многие с удовольствием используют cmux вместе с SSH и tmux, и cmux может нативно подключаться к вашим удалённым tmux-сессиям ([beta](https://cmux.com/docs/remote-tmux)). ### Бесплатен ли cmux? Да, cmux бесплатен в использовании. Исходный код доступен на [GitHub](https://github.com/manaflow-ai/cmux). ### Как я могу поддержать cmux? cmux бесплатен и с открытым исходным кодом, и всегда будет таким. Если вы хотите поддержать разработку и получить ранний доступ к тому, что будет дальше, включая cmux AI, приложение для iOS и Cloud VMs, ознакомьтесь с [cmux Founders Edition](https://github.com/manaflow-ai/cmux#founders-edition). ### У меня есть запрос на функцию или я нашёл ошибку? Мы хотим об этом услышать. Откройте [issue](https://github.com/manaflow-ai/cmux/issues) или [pull request](https://github.com/manaflow-ai/cmux/pulls) на GitHub, или [напишите нам](mailto:founders@manaflow.com?subject=cmux%20feature%20request). ## История звёзд Star History Chart ## Участие Способы принять участие: - Подписывайтесь на нас в X для получения обновлений [@manaflowai](https://x.com/manaflowai), [@lawrencecchen](https://x.com/lawrencecchen) и [@austinywang](https://x.com/austinywang) - Присоединяйтесь к обсуждению в [Discord](https://discord.gg/xsgFEVrWCZ) - Создавайте и участвуйте в [GitHub issues](https://github.com/manaflow-ai/cmux/issues) и [обсуждениях](https://github.com/manaflow-ai/cmux/discussions) - Расскажите нам, что вы создаёте с помощью cmux ## Сообщество - [Discord](https://discord.gg/xsgFEVrWCZ) - [WhatsApp](https://chat.whatsapp.com/Fblh7FB58lOI2cx6ccdIqY?mode=gi_t) - [GitHub](https://github.com/manaflow-ai/cmux) - [X / Twitter](https://twitter.com/manaflowai) - [YouTube](https://www.youtube.com/channel/UCAa89_j-TWkrXfk9A3CbASw) - [LinkedIn](https://www.linkedin.com/company/manaflow-ai/) - [Reddit](https://www.reddit.com/r/cmux/)

WeChat: отсканируйте QR-код, чтобы присоединиться к сообществу.
QR-код WeChat для присоединения к сообществу cmux

## Издание основателя cmux бесплатен, с открытым исходным кодом и всегда будет таким. Если вы хотите поддержать разработку и получить ранний доступ к будущим возможностям: **[Получить Издание основателя](https://buy.stripe.com/3cI00j2Ld0it5OU33r5EY0q)** - **Приоритетные запросы на функции/исправления ошибок** - **Ранний доступ: cmux AI, который даёт контекст по каждому рабочему пространству, вкладке и панели** - **Ранний доступ: приложение для iOS с терминалами, синхронизированными между компьютером и телефоном** - **Ранний доступ: облачные виртуальные машины** - **Ранний доступ: голосовой режим** - **Мой личный iMessage/WhatsApp** ## Лицензия cmux распространяется с открытым исходным кодом по лицензии [GPL-3.0-or-later](LICENSE). Если ваша организация не может соблюдать условия GPL, доступна коммерческая лицензия. Свяжитесь с [founders@manaflow.com](mailto:founders@manaflow.com) для получения подробностей.