Хмарні робочі простори та агенти
Хмарний робочий простір працює як локальний робочий простір 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 не керує хмарними машинами. Машина, що запускається, відображається як картка-заглушка.