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

English | 简体中文 | 繁體中文 | 한국어 | Deutsch | Español | Français | Italiano | Dansk | 日本語 | Polski | Русский | Bosanski | العربية | Norsk | Português (Brasil) | ไทย | Türkçe

cmux

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

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

Скриншот cmux

## Возможности - **Вертикальные вкладки** — Боковая панель показывает ветку git, рабочий каталог, прослушиваемые порты и текст последнего уведомления - **Кольца уведомлений** — Панели получают синее кольцо, а вкладки подсвечиваются, когда AI-агенты (Claude Code, OpenCode) нуждаются в вашем внимании - **Панель уведомлений** — Просматривайте все ожидающие уведомления в одном месте, переходите к последнему непрочитанному - **Разделённые панели** — Горизонтальное и вертикальное разделение - **Встроенный браузер** — Разделите браузер рядом с терминалом со скриптуемым API, портированным из [agent-browser](https://github.com/vercel-labs/agent-browser) - **Скриптуемость** — CLI и socket API для создания рабочих пространств, разделения панелей, отправки нажатий клавиш и автоматизации браузера - **Нативное приложение macOS** — Создано на Swift и AppKit, не Electron. Быстрый запуск, низкое потребление памяти. - **Совместимость с Ghostty** — Читает вашу существующую конфигурацию `~/.config/ghostty/config` для тем, шрифтов и цветов - **Ускорение GPU** — На базе libghostty для плавного рендеринга ## Установка ### 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, рабочий каталог, прослушиваемые порты и текст последнего уведомления для каждого рабочего пространства. Система уведомлений перехватывает терминальные последовательности (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 в браузере. ## Сочетания Клавиш ### Рабочие пространства | Сочетание | Действие | |----------|--------| | ⌘ N | Новое рабочее пространство | | ⌘ 1–8 | Перейти к рабочему пространству 1–8 | | ⌘ 9 | Перейти к последнему рабочему пространству | | ⌃ ⌘ ] | Следующее рабочее пространство | | ⌃ ⌘ [ | Предыдущее рабочее пространство | | ⌘ ⇧ W | Закрыть рабочее пространство | | ⌘ B | Переключить боковую панель | ### Поверхности | Сочетание | Действие | |----------|--------| | ⌘ T | Новая поверхность | | ⌘ ⇧ ] | Следующая поверхность | | ⌘ ⇧ [ | Предыдущая поверхность | | ⌃ Tab | Следующая поверхность | | ⌃ ⇧ Tab | Предыдущая поверхность | | ⌃ 1–8 | Перейти к поверхности 1–8 | | ⌃ 9 | Перейти к последней поверхности | | ⌘ W | Закрыть поверхность | ### Разделённые Панели | Сочетание | Действие | |----------|--------| | ⌘ D | Разделить вправо | | ⌘ ⇧ D | Разделить вниз | | ⌥ ⌘ ← → ↑ ↓ | Фокус панели по направлению | | ⌘ ⇧ H | Мигнуть фокусированной панелью | ### Браузер | Сочетание | Действие | |----------|--------| | ⌘ ⇧ L | Открыть браузер в разделении | | ⌘ L | Фокус на адресной строке | | ⌘ [ | Назад | | ⌘ ] | Вперёд | | ⌘ R | Перезагрузить страницу | | ⌥ ⌘ I | Открыть Инструменты Разработчика | ### Уведомления | Сочетание | Действие | |----------|--------| | ⌘ I | Показать панель уведомлений | | ⌘ ⇧ U | Перейти к последнему непрочитанному | ### Поиск | Сочетание | Действие | |----------|--------| | ⌘ F | Поиск | | ⌘ G / ⌘ ⇧ G | Найти следующий / предыдущий | | ⌘ ⇧ F | Скрыть панель поиска | | ⌘ E | Использовать выделение для поиска | ### Терминал | Сочетание | Действие | |----------|--------| | ⌘ K | Очистить scrollback | | ⌘ C | Копировать (с выделением) | | ⌘ V | Вставить | | ⌘ + / ⌘ - | Увеличить / уменьшить размер шрифта | | ⌘ 0 | Сбросить размер шрифта | ### Окно | Сочетание | Действие | |----------|--------| | ⌘ ⇧ N | Новое окно | | ⌘ , | Настройки | | ⌘ ⇧ , | Перезагрузить конфигурацию | | ⌘ Q | Выход | ## Лицензия Этот проект лицензирован под GNU Affero General Public License v3.0 или более поздней версии (`AGPL-3.0-or-later`). Полный текст см. в файле `LICENSE`.