Cloud 工作區與代理
Cloud 工作區的用法和本機 cmux 工作區相同,只是其中的終端機在雲端機器上執行。本頁說明持久終端機、執行代理、通知,以及每台機器上預先安裝的工具。
持久終端機
終端機位於機器的常駐程式中,而不在你的 Mac 上。關閉窗格、結束 cmux、Wi-Fi 中斷或闔上筆電時,終端機都會繼續執行。從任何已登入的 Mac 重新開啟機器,終端機的輸出和執行中的程序都還在。
如果連線中斷,窗格會顯示 Cloud session disconnected 和 Reconnect 按鈕,同時 cmux 會自動重試。
如果機器的常駐程式重新啟動,cmux 會還原工作區版面配置,但先前執行中的程序不會在重新啟動後保留。
關閉工作區時,其終端機會以分離狀態繼續執行。移除工作區則會停止其終端機。
執行程式設計代理
每台機器都已預先安裝 Claude Code、Codex、OpenCode 和 Pi。開啟 Cloud 工作區,像在本機一樣啟動代理即可。代理 hook 已設定完成,因此代理狀態和通知會傳回你的 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 技能,並輸出一段教它使用 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啟動開發伺服器
cmux vm dev 會上傳專案,找出啟動方式,並在包含伺服器和瀏覽器的工作區中開啟它。它能偵測 package.json 專案、Cargo、Go、Makefile 的 dev 目標、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 上為該終端機顯示通知。代理 hook 會在代理完成、需要核准、提出問題或失敗時傳送通知。標題最多 128 位元組,內文最多 1 KB,短時間內大量的通知會受到速率限制。
# Inside a Cloud machine
cmux notify --title "Build" --body "Tests passed"貼上圖片
在 Cloud 終端機中,當剪貼簿中有圖片時按 ⌘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 使用與 cmux new-workspace --layout 相同的 JSON。
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機器內的 cmux CLI
在機器內,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 應用程式不管理 Cloud 機器。正在啟動的機器會顯示為預留位置卡片。