offstage

offstage

offstage cloud · コーディング · 生産性向上

offstage は AI エージェントと CI ジョブに本物の Mac を渡す。Apple Silicon 上の macOS 27 アカウントを API で操作し、秒単位で課金される。

offstage の画面プレビュー

offstage について

About

offstage とは

offstage は AI エージェントと CI ジョブ向けの macOS サンドボックスだ。サンドボックスは Mac Studio 上の 1 つのユーザーアカウントで、Mac クラウド API か TypeScript SDK から触る。シェルコマンドを走らせ、ファイルを出し入れし、スクリーンショットを撮り、仕事が終わったらアカウントを閉じる。

きっかけは 2 つの面倒だった。Linux ホストで Apple のソフトをビルドしてテストするのは手間がかかる。エージェントに自分のノート PC をクリックさせるのは危ない。どちらも共有マシンの root ではなく専用アカウントを渡す形にし、閉じた時点で中身を消す。

制約も製品のうちだ。sudo も Homebrew もなく、xcodebuild test の iOS シミュレータ対応はまだ穴があり、サンドボックスは最長 24 時間で終わる。

使い始める

  1. console.offstage.cloud のコンソールにサインインし、API keys でキーを作る。sk_offstage_ で始まり、表示は 1 回だけだ。
  2. npm install offstage-cloud で SDK を入れる。HTTP API を任意の言語から叩いてもよい。
  3. Sandbox.create() でサンドボックスを作る。タイムアウトはこれから走らせる仕事に合わせる。
  4. sandbox.commands.run() でコマンドを実行し、sandbox.files.write() と sandbox.files.read() でファイルを動かす。
  5. finally ブロックで sandbox を閉じる。課金のカウントはそこで止まる。

AIツール情報

offstageの料金、対応プラットフォーム、性能を簡単に確認できます。

無料プランはい
有料プラン$0.000217/sec, about $0.78/hr
プラットフォームWeb, API, TypeScript SDK, GitHub Actions
開発元offstage cloud
カテゴリコーディング · 生産性向上
リリース日N/A
最終更新Nov 2026
サイト訪問数N/A
サイト世界ランキングN/A
API提供状況はい

こんな人におすすめ

このツールが最も力を発揮するユーザー、タスク、シーン。

ユーザー

  • iOS と macOS の開発者:オフィスに Mac mini を置かずに Xcode CI を回せる。1 ジョブ 60 分の上限に収まる仕事が条件だ。
  • コンピュータ操作エージェントを作るチーム:エージェントごとにデスクトップセッションを渡し、ウィンドウ付きアプリと画面撮影を扱える。余分なハードは要らない。
  • Windows や Linux で書く人:本物の Apple Silicon で swift test を数分だけ動かせる。マシンを買わずに済む。

タスク

  • pull request ごとに swift build と swift test を回す:ワークフローの 1 行を変えるだけで macOS CI のジョブが Mac Studio に載る。小さなチームでも Swift ビルド用のサーバーを自前で持てる。
  • macOS 27 でしか出ない不具合を再現する:サンドボックスを開き、リポジトリを clone し、同じツールチェーンで失敗するコマンドを叩く。
  • ドキュメント用のスクリーンショットを撮る:gui サンドボックスなら、スクリプトがアプリを開いて sandbox.screenshot() を呼べる。
  • iOS シミュレータを起動してレイアウトを見る:xcrun simctl でビルドを入れて起動し、PNG を保存する。

シーン

  • コーディングエージェントが Mac の要る工程に差しかかる:リモート Mac を借りてビルドを終わらせ、アカウントを返す。
  • リリース週で CI の待ち行列が長い:タスクは空きマシンを無料で待ち、走っている間だけ課金される。
  • デスクトップ自動化スクリプトを試作する:同じサンドボックスを 1 時間開いたまま直し、終わったら消す。

主な機能

サンドボックスごとに 1 つの macOS アカウント

Apple Silicon のサンドボックスは macOS 27 を 1 つのユーザーアカウントとして動かす。ホームディレクトリもプロセスも独立している。呼び出し 1 回ずつ操作する形で、zsh でコマンドを走らせ、最大 10 MiB のファイルを書き、テキストか生バイトで読み戻す。同じ Mac Studio の他の仕事からはファイルが見えない。

ターミナルらしく動くコマンド実行

sandbox.commands.run() は zsh -lc の中で走り、stdout、stderr、終了コード、所要時間を返す。終了コードが 0 以外でも例外は投げない。テストの失敗は普通の結果として受け取り、次の判断に使える。長いコマンドは 30 分まで追跡する。

ヘッドレスとデスクトップの 2 種類

ヘッドレスの sandbox はシェルで直接立ち上がる。ビルドやスクリプトに向く。gui の sandbox はログイン済みのデスクトップセッションで動き、ウィンドウ付きアプリと画面撮影を扱える。クリックや入力の API はない。Mac 上で動くプログラムから UI を操作する。

GitHub Actions の macOS ランナー

コンソールで GitHub 組織をつなぎ、ワークフローに runs-on: offstage-macos と書く。ジョブごとに新しいアカウントが付き、GitHub のランナーがその 1 件を実行し、終了時にアカウントは消える。シミュレータの UI テストでデスクトップが要るなら offstage-macos-gui に切り替える。

放っておける CI のためのタスク

タスクは公開リポジトリの既定ブランチを clone し、指定したコマンドを走らせ、名前を挙げた成果物を残す。failureReason を見れば、ビルドの失敗、clone の失敗、タイムアウト、マシンが来なかったことを区別できる。待ち行列の時間は課金されない。

秒単位の課金と予算の上限

sandbox もタスクも 1 秒 $0.000217、1 時間で $0.78。最低額も席数もない。新しいチームは $5 のクレジットと月 $50 の予算から始まり、所有者がコンソールで上げるか外せる。50%、80%、100% で通知が来る。

メリットとデメリット

メリット

  • 隔離:エージェントは自分の macOS アカウントに閉じる。雑なコマンドが手元のノート PC や他チームのファイルに届かない。
  • Apple のツールチェーンが入っている:Xcode 27.2、Swift、SwiftPM、clang、git、make がどのマシンにもある。
  • 待ち時間は無料で課金は秒単位。2 分のテストなら 3 セントほどだ。
  • コーディングエージェントは api.offstage.cloud/SKILL.md の 1 ファイルを読むだけで自分を設定できる。人がキーをコピーしなくてよい。
  • タスクが失敗の理由を返すので、ビルド、clone、容量のどこで詰まったか分かる。

デメリット

  • sudo も Homebrew もない。システムパッケージを前提にするツールは、プロジェクト内でビルドするかホームディレクトリに入れる必要がある。
  • xcodebuild test の iOS シミュレータ先はまだ動かない。シミュレータの UI テストは別のランナーが要る。
  • チームで同時に開ける sandbox は 4 個まで、CI ジョブは 60 分で止まる。長いビルド行列は収まらない。
  • クリックや入力の API がない。コンピュータ操作エージェントは自前の自動化プログラムを持ち込むことになる。

よくある質問

macOS の仕事を必要なときだけ動かすためのものだ。Apple のビルド、テスト、シミュレータ、デスクトップが要るエージェントのループに使う。Mac を借りたり机に置いたりせず、API でコマンドを送る。