
offstage
offstage cloud · 程式設計 · 生產力
offstage 給 AI 代理與 CI 工作一台真正的 Mac:Apple 晶片上的全新 macOS 27 帳號,用 API 操作,依秒計費。

關於 offstage
About
offstage 是什麼
offstage 是給 AI 代理與 CI 工作用的 macOS 沙箱。每個沙箱都是 Mac Studio 上的一個完整使用者帳號,你可透過 Mac 雲端 API 或一套 TypeScript SDK 連進去。執行 shell 指令、收送檔案、擷取畫面,工作結束就把帳號關掉。
兩件事催生了這個產品。在 Linux 主機上編譯與測試 Apple 軟體很麻煩,讓代理在自己電腦上亂點則有風險。這裡的做法是每個工作拿到獨立帳號,而不是共用機器上的 root,帳號關閉後直接清除。
限制也是產品的一部分:沒有 sudo、沒有 Homebrew,xcodebuild test 對 iOS 模擬器仍有缺口,沙箱最長只活 24 小時。
開始使用
- 登入 console.offstage.cloud 主控台,在 API keys 建立金鑰。金鑰以 sk_offstage_ 開頭,只顯示一次。
- 用 npm install offstage-cloud 安裝 SDK,或以任何語言直接呼叫 HTTP API。
- 用 Sandbox.create() 建立沙箱,逾時設定配合當下的工作。
- 用 sandbox.commands.run() 執行指令,再用 sandbox.files.write() 與 sandbox.files.read() 收送檔案。
- 在 finally 區塊關閉沙箱,計時才會停止。
產品資訊
快速了解 offstage 的定價、支援平台與效能。
適合對象
這項工具最適合的使用者、任務與情境。
使用者
- iOS 與 macOS 開發者:不必在辦公室擺一台 Mac mini 也能跑 Xcode CI,前提是每個工作控制在 60 分鐘內。
- 打造電腦操作代理的團隊:每個代理擁有自己的桌面工作階段,可開視窗應用、可截圖,不用額外準備機器。
- 在 Windows 或 Linux 寫程式的人:花幾分鐘在真正的 Apple 晶片上跑 swift test,不必為此買一台 Mac。
任務
- 每次 pull request 都跑 swift build 與 swift test:工作流程改一行,macOS CI 工作就落到 Mac Studio,小團隊等於有了自己的 Swift 建置伺服器。
- 重現只在 macOS 27 出現的錯誤:開一個沙箱、複製儲存庫,用同一套工具鏈執行出錯的指令。
- 為文件產生畫面截圖:gui 沙箱讓腳本開啟應用,再呼叫 sandbox.screenshot()。
- 啟動 iOS 模擬器檢查版面:用 xcrun simctl 安裝並開啟建置成果,再存一張 PNG。
情境
- 寫程式的代理走到需要 Mac 的步驟:借一台遠端 Mac 把建置做完,然後釋放帳號。
- 發版週 CI 排隊排很長:工作免費等候空出來的機器,只在實際執行時計費。
- 測試桌面自動化腳本:同一個沙箱開一小時,邊改邊試,結束就刪掉。
主要功能
每個沙箱一個 macOS 帳號
每個 Apple 晶片沙箱都以 macOS 27 執行,是附有自己家目錄與行程的完整使用者帳號。你一次一個呼叫地操作:在 zsh 執行指令、寫入最大 10 MiB 的檔案、以文字或原始位元組讀回。同一台 Mac Studio 上的其他工作看不到你的檔案。
行為像終端機的指令執行器
sandbox.commands.run() 在 zsh -lc 中執行,回傳 stdout、stderr、結束碼與耗時。結束碼不是零也不會拋出例外,測試失敗只是正常結果,你可據此決定下一步。長時間指令最多追蹤 30 分鐘。
無介面與桌面兩種工作階段
無介面沙箱直接開進 shell,適合建置與腳本。gui 沙箱跑在已登入的桌面工作階段裡,供視窗應用與螢幕截圖使用。這裡沒有點擊或打字 API,你得用一支在 Mac 上執行的程式來操作介面。
GitHub Actions 的 macOS runner
在主控台連接 GitHub 組織,然後在 workflow 裡寫 runs-on: offstage-macos。每個工作拿到全新帳號,GitHub 的 runner 執行那一個工作,結束後帳號清除。工作若需要桌面跑模擬器介面測試,改用 offstage-macos-gui。
免盯場的 CI 任務
task 會複製公開儲存庫的預設分支、執行你的指令,並保留你指定的產出檔案。failureReason 欄位分得清建置壞掉、複製失敗、逾時,還是機器一直沒出現。在佇列裡等待不收費。
依秒計費與支出上限
每個沙箱與 task 每秒 $0.000217,等於每小時 $0.78,沒有最低消費,也不按人頭收費。新團隊有 $5 額度與每月 $50 預算,擁有者可在主控台調高或取消,並在 50%、80%、100% 時收到提醒。
優缺點
優點
- 隔離:代理待在自己的 macOS 帳號裡,一個粗心的指令碰不到你的筆電,也碰不到別團隊的檔案。
- Apple 工具鏈已裝好:Xcode 27.2、Swift、SwiftPM、clang、git、make 每台機器都有。
- 排隊免費、計費按秒,兩分鐘的測試大約三分美金。
- 寫程式的代理只要讀 api.offstage.cloud/SKILL.md 這一個檔案就能自己設定,不必有人手動複製金鑰。
- task 會說明失敗原因,可分辨是建置、複製或容量出問題。
缺點
- 沒有 sudo 也沒有 Homebrew,需要系統套件的工具只能在專案裡自行編譯,或裝到家目錄。
- xcodebuild test 對 iOS 模擬器目標仍不支援,介面測試套件還是得找別的 runner。
- 一個團隊同時只能開 4 個沙箱,CI 工作 60 分鐘就停,長時間的建置矩陣因此放不進來。
- 沒有點擊或打字 API,操作電腦的代理必須自備自動化程式來驅動桌面。
常見問題
按需執行 macOS 工作:Apple 建置、測試、模擬器,以及需要桌面的代理迴圈。你用 API 送指令,不必租一台 Mac,也不必在桌上留一台。
相關內容
探索與 offstage 相關的工具、技能與文章。
offstage 替代方案
Base Code
Base44 (Wix) · 程式設計 · 生產力Base Code 是 Base44 推出的共享雲端開發環境。團隊在對話中描述對既有 GitHub 儲存庫的修改,看著預覽確認結果,再以 Pull Request 交回工程團隊。
Google EmbeddingGemma 2
Google DeepMind · 寫作 · 圖片 · 程式設計Google EmbeddingGemma 2 是 7.4 億參數的開源模型,能把文字、程式碼、圖片、音訊與影片畫面轉成同一個 768 維空間裡的向量,在手機與筆電上就能執行。
GitGlow
GitGlow · 程式設計 · 生產力GitGlow 是桌面版 Git 用戶端,把你自己的程式碼與 AI 代理程式的變更集中在同一份審查裡,讓你在交付前看清楚機器上究竟要送出什麼。
