Claude Code + CMUX: идеальный терминал для ИИ-программирования

BBetter Stack
컴퓨터/소프트웨어AI/미래기술

Transcript

00:00:00Это Cmux — терминал, созданный для кодинг-агентов, который дает им возможность
00:00:04открывать и управлять браузером, создавать субагентов в разных панелях, присылать уведомления
00:00:09и многое другое через CLI и сокет-API.
00:00:13Но при наличии таких терминальных агентов, как Warp, Solotam и Dmux, чем же так
00:00:19особенен Cmux?
00:00:20Подписывайтесь, и давайте во всем разберемся.
00:00:24Несмотря на название, Cmux не имеет отношения к tmux. Это нативное приложение для Mac на базе
00:00:30libghosty, использующее браузер WebKit и Bun.split для компоновки: вкладок, панелей и
00:00:36всего прочего.
00:00:37Но настоящая магия заключается в том, как агент взаимодействует с приложением.
00:00:41Позвольте показать.
00:00:42После установки и настройки Cmux мы видим обычный с виду терминал,
00:00:46который поддерживает вкладки, разделение панелей по вертикали или горизонтали,
00:00:53а при желании — даже вкладки внутри этих панелей.
00:00:55С установленным Cmux нам также доступен Cmux CLI, который дает
00:01:00массу возможностей: создание рабочих пространств и новых панелей, вывод
00:01:06логов и прогресса в сайдбаре и даже использование команд, совместимых с tmux.
00:01:11Все это благодаря Unix-сокету Cmux, о котором мы поговорим позже.
00:01:15Но давайте сделаем что-нибудь интересное.
00:01:16Сначала я все очищу и запущу Claude Code. Мы видим, как
00:01:20изменился заголовок сайдбара. Я переключу модель на Haiku, чтобы не тратить
00:01:25лишние токены.
00:01:26Затем я попрошу Claude использовать Cmux CLI, чтобы открыть браузер в новой панели,
00:01:30перейти на google.com, ввести «hello world» в поле поиска и выполнить поиск.
00:01:36Нажимаю Enter, и Claude приступает к работе.
00:01:38Здесь он учится использовать Cmux.
00:01:40Он открыл новую вкладку с Google.
00:01:42Посмотрим, выполнит ли он поиск.
00:01:44Так, он немного призадумался...
00:01:45И вот, он ввел запрос «hello world».
00:01:47Поиск выполнен идеально.
00:01:49Я даже могу попросить его кликать по ссылкам.
00:01:51Допустим, я хочу перейти по этой ссылке IMDb. Я пишу: «кликни на
00:01:55ссылку hello world от IMDb».
00:01:57И Claude это делает.
00:01:59Что действительно круто — даже внутри этого браузера в панели у меня есть доступ к
00:02:04инструментам разработчика, что помогает отлаживать страницы, над которыми я работаю.
00:02:07Все это работает через команды браузера, похожие на API браузера агента Cells.
00:02:12Преимущество такого вида «браузер рядом с терминалом» в том, что агент может
00:02:16перемещаться по сайту, проводить тесты и возвращать результаты, а вы как
00:02:20разработчик видите все это в реальном времени.
00:02:21Попробуем кое-что еще.
00:02:22Я закрою эту вкладку и очищу информацию.
00:02:25Я попрошу Claude создать два своих экземпляра в отдельных панелях: один для
00:02:30понимания проекта, а другой — для анализа кода этого проекта.
00:02:33По завершении они должны передать информацию основному экземпляру Claude,
00:02:38а затем закрыть свои панели.
00:02:39Нажимаем Enter: создаются две панели, и в каждой запускается Claude.
00:02:45Мы видим, как он раздает им инструкции. Наблюдать за этим вживую — просто безумие.
00:02:50Неактивные панели сейчас затемнены, но можно кликнуть по ним,
00:02:53чтобы сделать их ярче.
00:02:54Я перемотаю эту часть видео, так как это займет некоторое время.
00:02:57Итак, обе панели закончили работу. Claude автоматически закрыл их и получил данные
00:03:02от первого экземпляра здесь и от второго — ниже. Очень круто.
00:03:07Только представьте, сколько применений у этой функции — например, для контроля
00:03:11субагентов, чтобы они не зависали.
00:03:12Но в этой демонстрации была одна проблема: если кому-то из них
00:03:16приходило уведомление или требовалась помощь, я об этом никак не узнавал.
00:03:21К счастью, Cmux решает и эту задачу.
00:03:23Попробуем еще раз.
00:03:24В новой сессии Claude Code я даю промпт: создать новый экземпляр
00:03:28Claude в отдельной панели через Cmux и попросить его изучить
00:03:33проект и предложить улучшения кода.
00:03:36Когда он закончит, он должен отправить уведомление через Cmux и запустить вспышку,
00:03:40чтобы привлечь мое внимание.
00:03:41Команда активирует синюю мигающую рамку вокруг нужной панели.
00:03:45Пока процесс идет, я создам новое рабочее пространство и запущу там
00:03:48OpenCode.
00:03:49Прелесть Cmux в том, что, будучи CLI, он работает с любой оболочкой для агентов.
00:03:54И как только я открыл OpenCode, мы видим уведомление от Cmux.
00:03:58Нажав на колокольчик, видим: «Параллельный анализ запущен» — значит, он еще не закончен.
00:04:03Но если кликнуть на уведомление, оно подсветит панель с информацией.
00:04:07Он сделал не совсем то, что я просил, поэтому я велю ему повторить.
00:04:10И пока он занят, вернемся в OpenCode и сделаем то, что я
00:04:13планировал изначально: используем Cmux CLI, чтобы добавить имя ветки проекта
00:04:19и поставить подходящую иконку рядом с названием этой ветки.
00:04:21Нажимаю Enter, ждем результата... и вот пришло уведомление
00:04:25от Cmux о том, что параллельный анализ начат. Похоже,
00:04:29в этот раз все запустилось правильно.
00:04:30Мы даже видим сообщение в сайдбаре.
00:04:32Готово.
00:04:33Теперь я попрошу его закрыть панель и очистить текст в сайдбаре.
00:04:36Как видите, он добавил имя ветки с иконкой. Ранее я сказал
00:04:40«SF icons», но имел в виду «SF symbols», и рад, что он сам догадался.
00:04:45Панель закрыта, и текст из сайдбара удален.
00:04:49Все эти примеры были довольно простыми, но, надеюсь, они дают
00:04:52представление о мощи терминала Cmux, когда агент получает над ним контроль.
00:04:57Я даже не упомянул такие крутые фишки, как использование индикатора
00:05:00прогресса, выбор цвета для воркспейса, переименование вкладок агентом,
00:05:05все опции в палитре команд и тот факт, что Cmux умеет считывать
00:05:10и применять ваши настройки Ghosty.
00:05:11Я использовал Cmux без хуков и навыков, а также отключил песочницу в Claude Code,
00:05:16иначе возникла бы ошибка. Но я очень рекомендую установить
00:05:20навыки Core и Browser для Cmux от создателя, а также настроить
00:05:26хуки Claude Code для авто-уведомлений или написания своих скриптов.
00:05:29Все это делает Cmux гораздо полезнее. Но хотелось бы иметь более простой
00:05:33способ настройки с нуля, вместо того чтобы вручную копировать
00:05:38и вставлять навыки и уведомления.
00:05:39По аналогии со skills.sh, который сам определяет вашу среду агента и применяет
00:05:43навык в нужную директорию, было бы здорово, если бы Cmux делал так же
00:05:48для упрощения настройки.
00:05:49Но Cmux уже отличный инструмент, и скрипт установки наверняка добавят позже.
00:05:53Мне нравится, что это нативное Mac-приложение — это плюс к памяти и производительности,
00:05:58а также то, что CLI общается с приложением через JSON по Unix-сокетам,
00:06:02что делает передачу данных быстрой и простой.
00:06:04Кстати о быстроте и простоте: знали ли вы, что есть база данных в 138 раз быстрее,
00:06:10чем SQLite? Она написана на Rust и называется StoolLab. Подробнее о ней
00:06:17можно узнать в этом видео от Андриса.

Key Takeaway

Cmux превращает стандартный терминал в мощную среду управления ИИ-агентами, позволяя им автономно взаимодействовать с браузером, файловой системой и друг другом под визуальным контролем разработчика.

Highlights

Cmux — это нативное приложение для Mac на базе libghosty, разработанное специально для управления ИИ-агентами через CLI и сокет-API.

Интеграция с Claude Code позволяет ИИ-агенту самостоятельно управлять интерфейсом: открывать вкладки, разделять панели и использовать встроенный браузер.

Поддержка мультиагентных систем дает возможность запускать несколько экземпляров ИИ (например, Claude Haiku) для параллельного выполнения разных задач.

Система уведомлений и визуальных сигналов (вспышки панелей) помогает разработчику отслеживать прогресс автономных подзадач.

Использование Unix-сокетов и JSON-коммуникации обеспечивает высокую производительность и глубокую интеграцию с системными инструментами.

Возможность кастомизации сайдбара, рабочих пространств и использования SF Symbols делает терминал информативным дашбордом для мониторинга кода.

Timeline

Введение в экосистему Cmux

Автор представляет Cmux как специализированный терминал для кодинг-агентов, который выделяется на фоне конкурентов вроде Warp или Dmux. Это нативное приложение для Mac, построенное с использованием libghosty, WebKit и Bun.split для эффективной компоновки интерфейса. Основная ценность продукта заключается в предоставлении агентам возможности управлять браузером и создавать субагентов через CLI. В этом разделе подчеркивается, что Cmux не является форком tmux, несмотря на созвучное название. Архитектура решения ориентирована на глубокое взаимодействие ИИ с графическими элементами терминала.

Интерфейс и возможности Cmux CLI

Демонстрируется стандартный на первый взгляд интерфейс терминала, который поддерживает продвинутое управление вкладками и панелями. Ключевым инструментом выступает Cmux CLI, позволяющий программно создавать рабочие пространства, выводить логи в сайдбар и управлять панелями. Автор отмечает наличие Unix-сокета, через который происходит все взаимодействие с приложением. Система поддерживает даже команды, совместимые с классическим tmux, что упрощает переход для опытных пользователей. Этот фундамент подготавливает почву для демонстрации того, как ИИ-агенты используют эти инструменты для автоматизации.

Интеграция с Claude Code и управление браузером

В этой части видео показан практический пример использования Claude Code внутри Cmux для выполнения задач в браузере. Агент успешно интерпретирует команды пользователя, открывает Google, вводит поисковые запросы и даже переходит по специфическим ссылкам на IMDb. Важной особенностью является доступ к инструментам разработчика (DevTools) прямо внутри терминальной панели браузера. Это позволяет разработчику в реальном времени наблюдать, как агент тестирует веб-страницы или отлаживает код. Такой подход «браузер рядом с терминалом» значительно ускоряет цикл разработки и проверки фронтенд-задач.

Параллельная работа субагентов и автоматизация

Автор демонстрирует впечатляющий сценарий, где один экземпляр Claude создает два субагента в разных панелях для одновременного анализа проекта. Один агент изучает общую структуру, а другой фокусируется на конкретном коде, после чего они передают данные основному процессу и закрываются. Визуально это отображается через затемнение неактивных панелей, что помогает пользователю фокусироваться на текущей активности. Этот пример иллюстрирует мощь масштабируемости, где сложные задачи делегируются нескольким ИИ-моделям одновременно. Результаты работы консолидируются автоматически, избавляя программиста от рутинного переключения между контекстами.

Уведомления, кастомизация и советы по настройке

Раздел посвящен системе обратной связи между агентом и пользователем через уведомления и визуальные эффекты, такие как мигающие рамки панелей. Автор показывает, как настроить отображение имени ветки Git с иконками SF Symbols и управлять содержимым сайдбара. Обсуждаются технические нюансы: необходимость отключения песочницы в Claude Code для корректной работы и важность установки навыков (skills) Core и Browser. Несмотря на текущие сложности ручной настройки, Cmux оценивается как чрезвычайно перспективный инструмент. Автор выражает надежду на появление автоматизированных скриптов установки в будущих обновлениях.

Производительность и заключительные мысли

В финальной части подчеркиваются преимущества нативного приложения для Mac в контексте экономии памяти и общей отзывчивости системы. Использование JSON-сообщений через Unix-сокеты называется ключевым фактором быстрой передачи данных между CLI и графической оболочкой. Автор кратко упоминает стороннюю высокопроизводительную базу данных StoolLab на Rust как пример быстрорастущих технологий в экосистеме. Видео завершается выводом о том, что Cmux является идеальным терминалом для новой эры программирования с участием ИИ. Весь процесс взаимодействия с агентами становится прозрачным, управляемым и высокотехнологичным.

Community Posts

View all posts