Облачные рабочие пространства и агенты
Облачное рабочее пространство работает как локальное рабочее пространство cmux, но его терминалы выполняются на облачной машине. На этой странице описаны постоянные терминалы, запуск агентов, уведомления и инструменты, установленные на каждой машине.
Постоянные терминалы
Терминалы живут в демоне машины, а не на вашем Mac. Они продолжают работать, когда вы закрываете панель, выходите из cmux, теряете Wi-Fi или закрываете ноутбук. Снова откройте машину с любого Mac, на котором выполнен вход, и в терминале останутся его вывод и запущенный процесс.
Если соединение обрывается, панель показывает Cloud session disconnected с кнопкой Reconnect, а cmux сам повторяет попытки.
Если демон машины перезапускается, cmux восстанавливает раскладку рабочего пространства, но запущенные процессы не переживают перезапуск.
При закрытии рабочего пространства его терминалы продолжают работать в отсоединенном режиме. При удалении рабочего пространства его терминалы останавливаются.
Запуск агентов кодирования
Claude Code, Codex, OpenCode и Pi установлены на каждой машине. Откройте облачное рабочее пространство и запустите агента так же, как локально. Хуки агентов уже настроены, поэтому статус агентов и уведомления приходят на ваш Mac.
cmux vm agent запускает агента на машине с вашего Mac. С промптом используется одноразовый режим агента. Добавьте --sync, чтобы сначала загрузить текущий каталог, и --wait, чтобы дождаться результата.
cmux vm agent --agent claude --machine brave-otter -- "add tests for the parser"
cmux vm agent --agent codex --machine brave-otter --sync --wait -- "fix the build"
cmux vm agent --agent opencode --new --size 16g -- "profile the importer"cmux vm prompt устанавливает навык cmux Cloud для вашего локального агента и выводит промпт, который учит его пользоваться облачными машинами.
cmux vm prompt --open claudeЗапуск команд
cmux vm run выполняет команду на машине и возвращает ее код выхода. При первом запуске из каталога выбирается машина, и она запоминается для этого каталога на 14 дней. Добавьте --sync, чтобы сначала загрузить каталог, и --pull, чтобы скачать результат.
cmux vm run -- npm test
cmux vm run --sync --pull dist -- npm run build
cmux vm route --jsoncmux vm exec выполняет короткую команду без терминала. Она предназначена для быстрых проверок. Тайм-аут по умолчанию 30 секунд, максимум 5 минут. Для долгой работы используйте cmux vm run, cmux vm agent или терминал рабочего пространства.
cmux vm exec brave-otter -- uname -a
cmux vm exec --timeout 120 brave-otter -- docker psЗапуск dev-сервера
cmux vm dev загружает проект, определяет, как его запустить, и открывает его в рабочем пространстве с сервером и браузером. Команда распознает проекты с package.json, Cargo, Go, dev-цели Makefile, Django, uv, pyproject, requirements.txt и статические сайты с index.html. Используйте --dry-run, чтобы сначала увидеть план.
cmux vm dev brave-otter --dry-run
cmux vm dev brave-otter . --port 3000Уведомления
cmux notify внутри машины показывает уведомление на вашем Mac для этого терминала. Хуки агентов отправляют уведомления, когда агент завершает работу, ждет одобрения, задает вопрос или завершается с ошибкой. Заголовки ограничены 128 байтами, текст — 1 KB, а частота всплесков ограничена.
# Inside a Cloud machine
cmux notify --title "Build" --body "Tests passed"Вставка изображений
Нажмите ⌘V в облачном терминале, когда в буфере обмена есть изображение. cmux загружает изображение на машину и вставляет удаленный путь, чтобы Claude Code и Codex могли его прочитать. Поддерживаются PNG, JPEG, GIF и WebP, до 20 MB каждое и до 8 изображений за раз.
Раскладки и терминалы из CLI
cmux vm workspace создает, открывает, переименовывает, закрывает и удаляет рабочие пространства на машине. cmux vm terminal отправляет текст, читает вывод и ждет появления текста или завершения. cmux vm tree показывает рабочие пространства и терминалы машины. cmux vm layout export и apply используют тот же JSON, что и cmux new-workspace --layout.
cmux vm tree brave-otter
cmux vm workspace new brave-otter --name review
cmux vm terminal send brave-otter term_2f9c "npm run dev" --keys enter
cmux vm terminal wait brave-otter term_2f9c --pattern "ready" --timeout 60
cmux vm terminal read brave-otter term_2f9c
cmux vm layout export brave-otter review > layout.json
cmux vm layout apply brave-otter layout.json --openЧто установлено
Машины работают на Ubuntu 24.04. Вы работаете как пользователь cmux с sudo без пароля, а не как root. Docker запускается при загрузке.
- Языки и инструменты: Node.js LTS, Bun, Python 3.12, uv, Docker, git, GitHub CLI, ripgrep, fd, fzf, jq, tmux, sqlite3, инструменты сборки, vim, nano и rsync.
- Браузер и рабочий стол: Chrome, agent-browser, рабочий стол VNC и Ghostty.
- Агенты: Claude Code, Codex, OpenCode и Pi. Их версии закреплены на проверенных и обновляются вместе с образом машины.
Если команда агента не найдена сразу после создания машины, настройка еще идет. Журнал настройки находится в /tmp/cmux/provision.log.
Доступ к моделям
Агенты на машине могут использовать маршрутизацию моделей cmux без ключа на машине. Настоящие учетные данные добавляются вне машины, поэтому в VM не хранится токен аккаунта. Также можно войти в агента внутри машины или загрузить аккаунты для команды с помощью cmux ai-accounts upload.
cmux ai-accounts list
cmux ai-accounts upload claude
cmux coderouter statusДокументация CodeRouter: поддерживаемые аккаунты, общий доступ и расход
CLI cmux внутри машины
Внутри машины команда cmux управляет сеансом этой машины. Она поддерживает tree, new-workspace, new-split, send, send-key, read-screen, terminal, layout, env, notify, open-url и self. cmux self показывает владельца, машину и ваши другие машины. cmux vm verb peer управляет другими вашими машинами изнутри машины.
# Inside a Cloud machine
cmux tree
cmux new-split right
cmux self peers
cmux vm exec calm-heron -- git statusВход, загрузка AI-аккаунтов и команды жизненного цикла машин, например new, delete, checkpoint, fork, resize, pause, domains, open и vpn, работают только на вашем Mac.
iPhone
Приложение cmux для iOS не управляет облачными машинами. Запускающаяся машина отображается как карточка-заглушка.