> Цей переклад було згенеровано за допомогою 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

▶ Демо-відео · Філософія cmux

## Можливості

Кільця сповіщень

Панелі отримують синє кільце, а вкладки підсвічуються, коли агенти програмування потребують вашої уваги
Кільця сповіщень

Панель сповіщень

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

Вбудований браузер

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

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

Бічна панель показує гілку git, статус/номер пов'язаного PR, робочу директорію, порти прослуховування та текст останнього сповіщення. Розділяйте горизонтально та вертикально.
Вертикальні вкладки та розділені панелі

SSH

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

Claude Code Teams

cmux claude-teams запускає режим teammate 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 до папки 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 спочатку відбудовує макет, а потім запускає нативну команду відновлення підтримуваного агента, коли автоматичне відновлення агентів увімкнено. Прочитайте повний посібник на . ## 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 socket: створюйте робочі простори, відкривайте розділені панелі, надсилайте ввід, читайте вміст екрана, робіть знімки екрана та керуйте вбудованим браузером. Дивіться [довідник 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)? Так. Навички — це повторно використовувані робочі процеси, які ви можете надати будь-якому агенту, що працює в cmux, для таких речей, як керування CLI, автоматизація робочого простору, налаштування та поверхні браузера. Перегляньте відкриту колекцію на [cmux-skills](https://github.com/manaflow-ai/cmux-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 відновлює ваші вікна, робочі простори, панелі, робочі директорії та буфер прокрутки під час повторного запуску, і цей стан переживає повний перезапуск комп'ютера, а не лише вихід із застосунку. Сесії агентів, як-от Claude Code, Codex та OpenCode, також повертаються. Дивіться [відновлення сесії](https://cmux.com/docs/session-restore). ### Як він порівнюється з tmux? tmux — це термінальний мультиплексор, який працює всередині будь-якого терміналу. cmux — це нативний додаток macOS із GUI: вертикальні вкладки, розділені панелі, вбудований браузер та socket API, усе вбудоване, без файлів конфігурації чи префіксних клавіш. Тим не менш, багато людей із задоволенням запускають cmux разом із SSH та tmux, і cmux може нативно підключатися до ваших віддалених сесій tmux ([бета](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). ## Історія зірок Діаграма історії зірок ## Участь у проєкті Способи долучитися: - Підписуйтесь на нас у 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

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