> Цей переклад було згенеровано за допомогою Claude. Якщо у вас є пропозиції щодо покращень, відкрийте PR.
Термінал macOS на базі Ghostty з вертикальними вкладками та сповіщеннями для AI-агентів програмування
English | 日本語 | Tiếng Việt | 简体中文 | 繁體中文 | 한국어 | Deutsch | Español | Français | Italiano | Dansk | Polski | Русский | Bosanski | العربية | Norsk | Português (Brasil) | ไทย | Türkçe | ភាសាខ្មែរ | Українська
Кільця сповіщеньПанелі отримують синє кільце, а вкладки підсвічуються, коли агенти програмування потребують вашої уваги |
|
Панель сповіщеньПереглядайте всі очікувані сповіщення в одному місці, переходьте до останнього непрочитаного |
|
Вбудований браузерРозділіть браузер поруч із терміналом зі скриптовим API, портованим з agent-browser |
|
Вертикальні та горизонтальні вкладкиБічна панель показує гілку git, статус/номер пов'язаного PR, робочу директорію, порти прослуховування та текст останнього сповіщення. Розділяйте горизонтально та вертикально. |
|
SSHcmux ssh user@remote створює робочий простір для віддаленої машини. Панелі браузера маршрутизуються через віддалену мережу, тому localhost працює одразу. Перетягніть зображення у віддалену сесію, щоб завантажити через scp.
|
|
Claude Code Teamscmux claude-teams запускає режим teammate Claude Code однією командою. Учасники команди з'являються як нативні розділення з метаданими у бічній панелі та сповіщеннями. tmux не потрібен.
|
|
Відкрийте `.dmg` та перетягніть cmux до папки Applications. 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 взаємодіяти з вашим dev-сервером напряму.
Все скриптується через CLI та socket API — створення робочих просторів/вкладок, розділення панелей, надсилання натискань клавіш, відкриття URL у браузері.
## Філософія 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 та налаштовуються в `Settings → Keyboard Shortcuts`.
Скорочення навігації палітри команд, включно з ⌃ P, також налаштовуються та можуть бути очищені, щоб натискання клавіш досягало активного термінала.
| Скорочення | Дія |
|----------|--------|
| ⌘ ⇧ L | Відкрити браузер у розділенні |
| ⌘ L | Фокус на адресному рядку |
| ⌘ [ | Назад |
| ⌘ ] | Вперед |
| ⌘ R | Перезавантажити сторінку |
| ⌥ ⌘ I | Перемкнути Інструменти розробника (стандарт Safari) |
| ⌥ ⌘ C | Показати консоль JavaScript (стандарт Safari) |
### Сповіщення
| Скорочення | Дія |
|----------|--------|
| ⌘ I | Показати панель сповіщень |
| ⌘ ⇧ U | Перейти до останнього непрочитаного |
| ⌥ ⌘ U | Перемкнути стан непрочитаного для поточного елемента |
| ⌃ ⌘ U | Позначити поточний елемент як найстаріше непрочитане та перейти до наступного непрочитаного |
### Пошук
| Скорочення | Дія |
|----------|--------|
| ⌘ F | Знайти |
| ⌘ ⇧ F | Знайти в директорії |
| ⌘ G / ⌥ ⌘ G | Знайти наступне / попереднє |
| ⌥ ⌘ ⇧ F | Сховати панель пошуку |
| ⌘ E | Використати виділення для пошуку |
### Термінал
| Скорочення | Дія |
|----------|--------|
| ⌘ K | Очистити буфер прокрутки |
| ⌘ C | Копіювати (з виділенням) |
| ⌘ V | Вставити |
| ⌘ + / ⌘ - | Збільшити / зменшити розмір шрифту |
| ⌘ 0 | Скинути розмір шрифту |
### Вікно
| Скорочення | Дія |
|----------|--------|
| ⌘ ⇧ N | Нове вікно |
| ⌘ ⇧ O | Знову відкрити попередню сесію |
| ⌘ , | Налаштування |
| ⌘ ⇧ , | Перезавантажити конфігурацію |
| ⌘ Q | Вийти |
## Нічні збірки
[Завантажити cmux NIGHTLY](https://github.com/manaflow-ai/cmux/releases/download/nightly/cmux-nightly-macos.dmg)
cmux NIGHTLY — це окремий додаток з власним bundle ID, тому він працює поруч зі стабільною версією. Збирається автоматично з останнього коміту `main` та автоматично оновлюється через власний канал Sparkle.
Повідомляйте про помилки нічних збірок на [GitHub Issues](https://github.com/manaflow-ai/cmux/issues) або в [#nightly-bugs у Discord](https://discord.gg/xsgFEVrWCZ).
## Відновлення сесії
Під час виходу cmux зберігає поточну сесію. Після повторного запуску cmux відновлює стан, яким керує застосунок:
- Макет вікон/робочих просторів/панелей
- Робочі директорії
- Буфер прокрутки терміналу (наскільки можливо)
- 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 обробляється обгорткою cmux Claude, коли інтеграцію 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, зберігаються для перевірки й ручного відновлення, доки ви не схвалите підписаний префікс команди для автоматичного відновлення. Схвалені префікси також прив'язуються до робочої директорії та точних значень середовища, якщо вони присутні. Переглядайте або редагуйте схвалення в **Settings > Terminal > Resume Commands**. cmux автоматично запускає лише ті прив'язки відновлення, які позначає як довірені, наприклад tmux-прив'язки, виявлені з живих процесів, або схвалені користувачем префікси. Чутливі ключі середовища, як-от токени, паролі, секрети та API-ключі, відкидаються перед збереженням прив'язки відновлення.
Щоб відновлені термінали агентів залишалися неактивними замість автоматичного запуску їхніх команд відновлення, вимкніть **Settings > Terminal > Resume Agent Sessions on Reopen** або встановіть це у `~/.config/cmux/cmux.json`:
```json
{
"terminal": {
"autoResumeAgentSessions": false
}
}
```
Це лише вимикає автоматичні команди відновлення агентів. cmux усе одно відновлює збережений макет, робочі директорії, буфер прокрутки та історію браузера.
Якщо потрібно вручну повторно застосувати останній збережений знімок, використовуйте:
- `File > Reopen Previous Session`
- `⌘ ⇧ O`
- `cmux restore-session`
Під капотом cmux записує версіонований знімок у `~/Library/Application Support/cmux/`, а hooks агентів записують зіставлення сесій у `~/.cmuxterm/`. Під час відновлення cmux спочатку відбудовує макет, а потім запускає нативну команду відновлення підтримуваного агента, коли автоматичне відновлення агентів увімкнено.
Прочитайте повний посібник на
WeChat: відскануйте QR-код, щоб приєднатися до спільноти.