cmux CloudEspaços de trabalho e agentes
cmux Cloud

Espaços de trabalho e agentes no Cloud

Um espaço de trabalho do Cloud funciona como um espaço de trabalho local do cmux, mas seus terminais rodam em uma máquina na nuvem. Esta página aborda terminais duráveis, execução de agentes, notificações e as ferramentas instaladas em todas as máquinas.

Terminais duráveis

Os terminais vivem no daemon da máquina, não no seu Mac. Eles continuam rodando quando você fecha um painel, sai do cmux, perde o Wi-Fi ou fecha o notebook. Abra a máquina de novo em qualquer Mac com sessão iniciada e o terminal ainda terá sua saída e seu processo em execução.

Se a conexão cair, o painel mostra Cloud session disconnected com um botão Reconnect, e o cmux tenta de novo automaticamente.

Se o daemon da máquina reiniciar, o cmux restaura o layout do espaço de trabalho, mas os processos que estavam em execução não sobrevivem ao reinício.

Fechar um espaço de trabalho mantém seus terminais rodando desanexados. Remover um espaço de trabalho encerra seus terminais.

Execute agentes de codificação

Claude Code, Codex, OpenCode e Pi vêm instalados em todas as máquinas. Abra um espaço de trabalho do Cloud e inicie o agente como faz localmente. Os hooks dos agentes já estão configurados, então o status e as notificações dos agentes chegam ao seu Mac.

cmux vm agent inicia um agente em uma máquina a partir do seu Mac. Com um prompt, ele usa o modo de execução única do agente. Adicione --sync para enviar antes o diretório atual e --wait para esperar o resultado.

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 instala uma skill do cmux Cloud para o seu agente local e imprime um prompt que o ensina a usar máquinas do Cloud.

cmux vm prompt --open claude

Execute comandos

cmux vm run executa um comando em uma máquina e retorna o código de saída. A primeira execução a partir de um diretório escolhe uma máquina e a memoriza para esse diretório por 14 dias. Adicione --sync para enviar antes o diretório e --pull para baixar um resultado.

cmux vm run -- npm test
cmux vm run --sync --pull dist -- npm run build
cmux vm route --json

cmux vm exec executa um comando curto sem terminal. Ele serve para verificações rápidas. O tempo limite é de 30 segundos por padrão e de no máximo 5 minutos. Use cmux vm run, cmux vm agent ou um terminal de espaço de trabalho para tarefas longas.

cmux vm exec brave-otter -- uname -a
cmux vm exec --timeout 120 brave-otter -- docker ps

Inicie um servidor de desenvolvimento

cmux vm dev envia um projeto, descobre como iniciá-lo e o abre em um espaço de trabalho com o servidor e um navegador. Ele detecta projetos com package.json, Cargo, Go, alvos dev de Makefile, Django, uv, pyproject, requirements.txt e sites estáticos com index.html. Use --dry-run para ver o plano antes.

cmux vm dev brave-otter --dry-run
cmux vm dev brave-otter . --port 3000

Notificações

cmux notify dentro de uma máquina mostra uma notificação no seu Mac para aquele terminal. Os hooks dos agentes enviam notificações quando um agente termina, precisa de aprovação, faz uma pergunta ou falha. Os títulos são limitados a 128 bytes e os corpos a 1 KB, e rajadas têm limite de taxa.

# Inside a Cloud machine
cmux notify --title "Build" --body "Tests passed"

Cole imagens

Pressione ⌘V com uma imagem na área de transferência em um terminal do Cloud. O cmux envia a imagem para a máquina e cola o caminho remoto, para que Claude Code e Codex possam lê-la. PNG, JPEG, GIF e WebP são suportados, com até 20 MB cada e 8 imagens por vez.

Layouts e terminais pela CLI

cmux vm workspace cria, abre, renomeia, fecha e remove espaços de trabalho em uma máquina. cmux vm terminal envia texto, lê a saída e espera por um texto ou pelo encerramento. cmux vm tree mostra os espaços de trabalho e terminais da máquina. cmux vm layout export e apply usam o mesmo JSON que 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

O que vem instalado

As máquinas executam Ubuntu 24.04. Você trabalha como o usuário cmux com sudo sem senha, não como root. O Docker inicia no boot.

  • Linguagens e ferramentas: Node.js LTS, Bun, Python 3.12, uv, Docker, git, GitHub CLI, ripgrep, fd, fzf, jq, tmux, sqlite3, ferramentas de build, vim, nano e rsync.
  • Navegador e desktop: Chrome, agent-browser, um desktop VNC e Ghostty.
  • Agentes: Claude Code, Codex, OpenCode e Pi. Eles são fixados em versões testadas e são atualizados quando a imagem da máquina é atualizada.

Se um comando de agente não for encontrado logo após você criar uma máquina, a configuração ainda está em andamento. O log de configuração fica em /tmp/cmux/provision.log.

Acesso a modelos

Os agentes em uma máquina podem usar o roteamento de modelos do cmux sem uma chave na máquina. A credencial real é adicionada fora da máquina, então nenhum token de conta fica armazenado na VM. Você também pode iniciar sessão em um agente dentro da máquina ou enviar contas para a sua equipe com cmux ai-accounts upload.

cmux ai-accounts list
cmux ai-accounts upload claude
cmux coderouter status

Documentação do CodeRouter: contas compatíveis, compartilhamento e uso

A CLI do cmux dentro de uma máquina

Dentro de uma máquina, o comando cmux controla a sessão dessa máquina. Ele oferece suporte a tree, new-workspace, new-split, send, send-key, read-screen, terminal, layout, env, notify, open-url e self. cmux self mostra o proprietário, a máquina e suas outras máquinas. cmux vm verb peer controla suas outras máquinas de dentro de uma máquina.

# Inside a Cloud machine
cmux tree
cmux new-split right
cmux self peers
cmux vm exec calm-heron -- git status

O login, o envio de contas de IA e os comandos de ciclo de vida da máquina, como new, delete, checkpoint, fork, resize, pause, domains, open e vpn, só funcionam no seu Mac.

iPhone

O app cmux para iOS não gerencia máquinas do Cloud. Uma máquina que está iniciando aparece como um cartão provisório.