cmuxlayer
cmuxLayer
Ваши ИИ-агенты не видят терминалы друг друга. Один работает во вкладке 1, другой — во вкладке 2, а вы выступаете в роли буфера обмена между ними. cmuxLayer решает эту проблему: 22 инструмента MCP, которые дают ИИ-агентам программный контроль над рабочими областями терминала.
Быстрый старт
npm install -g cmuxlayerТребуется запущенный cmux.
Добавьте в конфигурацию MCP (Claude Code, Cursor, VS Code, Claude Desktop):
{
"mcpServers": {
"cmux": {
"command": "cmuxlayer"
}
}
}Расположение конфигураций: Claude Code
.mcp.jsonилиclaude mcp add cmuxlayer -s user -- cmuxlayer| Cursor.cursor/mcp.json| VS Code.vscode/mcp.json| Claude Desktop — см. документацию MCP для путей, специфичных для платформы
Что вы можете делать
Давайте своему ИИ-агенту команды вроде:
"Раздели панель справа и запусти там мой набор тестов"
"Запусти агента Claude Code в новой панели для рефакторинга auth.ts"
"Прочитай экран surface:2 и скажи, прошла ли сборка"
"Дождись завершения всех агентов, затем прочитай их вывод"
"Установи статус боковой панели, чтобы отобразить прогресс развертывания"
Внутри cmuxLayer предоставляет 22 инструмента MCP для управления терминалом, чтения экрана и оркестрации нескольких агентов. read_screen анализирует метаданные агента (статус, модель, токены, % контекста) для Claude Code, Codex, Gemini, Cursor и Kiro.
Инструменты MCP (22)
Все инструменты поставляются с ToolAnnotations для автоматического обеспечения соблюдения политик безопасности.
Управление терминалом — new_split send_input send_key read_screen rename_tab close_surface browser_surface
Жизненный цикл агента — spawn_agent send_to_agent wait_for wait_for_all interact stop_agent kill
Рабочая область — list_surfaces list_agents my_agents get_agent_state read_agent_output notify set_status set_progress
Только для чтения (6)
Инструмент | Что он делает |
| Список всех поверхностей во всех рабочих областях |
| Чтение вывода терминала с проанализированным статусом агента |
| Полное состояние отслеживаемого агента |
| Все агенты с дополнительными фильтрами |
| Дочерние элементы родительского агента с живым статусом экрана |
| Структурированный вывод между маркерами разделителей |
Изменяющие (13)
Инструмент | Что он делает |
| Создание разделенной панели терминала или браузера |
| Отправка текста на поверхность |
| Отправка нажатия клавиши (return, escape, ctrl-c и т.д.) |
| Переименование вкладки поверхности |
| Показ баннера уведомлений cmux |
| Установка пары ключ-значение статуса боковой панели |
| Установка индикатора прогресса (0.0-1.0) |
| Взаимодействие с поверхностями браузера |
| Запуск CLI-агента в новой панели |
| Отправка промпта запущенному агенту |
| Блокировка до достижения агентом целевого состояния |
| Блокировка до завершения нескольких агентов |
| Отправка интерактивного ввода (подтверждение, отмена, возобновление) |
Деструктивные (3)
Инструмент | Что он делает |
| Закрытие панели терминала или браузера |
| Корректная остановка агента |
| Принудительное завершение процессов агента |
Поддерживаемые агенты
CLI | Команда | Автоопределение |
Claude Code |
| статус, модель, токены, % контекста |
Codex |
| статус, модель |
Gemini CLI |
| статус, модель |
Cursor |
| статус |
Kiro |
| статус |
read_screen автоматически определяет тип агента и анализирует метаданные из вывода терминала.
Архитектура
AI Agent ─── MCP ───> cmuxLayer ─── Unix socket ───> cmux
├── Agent engine (spawn → monitor → teardown)
├── Screen parser (5 agent formats)
├── Mode policy (autonomous vs manual)
└── State manager + event logСокет-клиент подключается к cmux через Unix-сокет. Автоматически переподключается при разрыве соединения, переключается на CLI-подпроцесс, если сокет недоступен.
Соединение | Задержка | Ускорение |
CLI-подпроцесс | ~142мс | базовая линия |
Unix-сокет | ~0.1мс | 1,423x |
Устранение неполадок
cmux не запущен cmuxLayer требует запущенного экземпляра cmux. Сначала установите его, затем запустите сессию cmux перед использованием cmuxLayer.
Инструменты не появляются в Claude Code
Перезапустите Claude Code после добавления конфигурации MCP. Выполните claude mcp list, чтобы убедиться, что cmuxlayer подключен.
Ошибка подключения к сокету
cmuxLayer автоматически обнаруживает сокет cmux (macOS: ~/Library/Application Support/cmux/cmux.sock). При необходимости переопределите его с помощью CMUX_SOCKET_PATH.
Тестирование
npm test # 335 tests via vitest
npm run typecheck # Type checkingРазработка
npm install
npm run dev # Run with tsx (hot reload)
npm run build # Compile TypeScript
npm start # Run compiled outputУчастие в разработке
См. CONTRIBUTING.md для настройки среды разработки и правил оформления PR.
Лицензия
Apache 2.0 — см. LICENSE.
Часть экосистемы ИИ-агентов Golems. cmuxlayer.etanheyman.com | Создано @EtanHey.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/EtanHey/cmuxlayer'
If you have feedback or need assistance with the MCP directory API, please join our Discord server