前提条件
開始する前に、以下を準備してください。- サンドボックスへのアクセス用に
SANDBOX_USERaction が付与された CoreWeave API アクセストークン。 - Serverless Inference またはその他の OpenCode プロバイダー経由でのモデルへのアクセス。プロバイダーへのアクセスと 請求は、サンドボックスへのアクセスとは別に管理されます。
- 公開リポジトリの URL。非公開リポジトリを使用する場合は、サンドボックス内に Git の認証情報が必要です。
- インストール手順に従って
インストールした
cws-agent。
[API-ACCESS-TOKEN] をお使いの CoreWeave API アクセストークンに置き換えます。
cws-agent で OpenCode を起動する
cws-agent を使用して、サンドボックスに OpenCode をインストールし、リポジトリを
/workspace/project ディレクトリにクローンして、
ファイルシステムスナップショット用のスナップショットマウントを設定します。
以下のプロバイダーオプションのいずれかを選択してください。[SANDBOX-NAME] は、
英小文字、数字、ハイフンからなる 1~40 文字のセッション名に置き換えてください。名前の
先頭は英字または数字にする必要があります。[REPOSITORY-URL] は、公開リポジトリの URL に置き換えてください。
Serverless Inference を使用する (推奨)
このガイドでは、Serverless Inference を推奨プロバイダーとしています。Serverless Inference を使用すると、 ホストされたオープンモデルにアクセスできます。代わりに、OpenCode がサポートする任意のモデルとプロバイダーを 使用することもできます。その場合は、 別のモデルプロバイダーを使用するの手順に従ってください。 Forge project の作成を含む Serverless Inference の前提条件を満たしたうえで、 利用可能な 推論クレジットを確認してください。 推論用の Forge APIキーを設定します。この例では、GLM 5.2 を明示的に指定しています。--wandb プリセットは、Forge の推論エンドポイントを設定し、OpenCode が使用するプロバイダーをそのエンドポイントに限定します。この CLI プリセットでは環境変数名 WANDB_API_KEY が必要なため、コマンドは FORGE_API_KEY をその名前にマッピングしてサンドボックスに渡します。サンドボックスへのアクセスには CWSANDBOX_API_KEY を使用します。別の
Forge モデルを選択するには、zai-org/GLM-5.2 を
利用可能なモデルのリストにある ID に置き換えてください。
別のモデルプロバイダーを使用する
別のプロバイダーを使用するには、サンドボックスの作成時に--wandb と --wandb-model を指定しないでください。
次に、そのプロバイダーの APIキーをローカル環境でエクスポートします。たとえば、次のいずれかを選択し、
キーのプレースホルダーを実際の値に置き換えてください。
- Anthropic
- OpenAI
[PROVIDER-ID]/[MODEL-ID] を OpenCode のモデル識別子に置き換えてください。その際、プロバイダーに応じて anthropic/ または openai/ の接頭辞を付けます。
small_model フィールドでは、タイトル生成などの軽量なタスクに使用するモデルを指定します。詳しくは、OpenCode models を参照してください。
ANTHROPIC_API_KEY と OPENAI_API_KEY が設定されている場合、cws-agent はこれらを転送します。
キーが自動的に転送されないプロバイダーについては、各プロバイダーの
OpenCode プロバイダー設定 に従い、
追加の環境変数は --env-passthrough [VARIABLE-NAME] で渡してください。
どちらの起動オプションでも、セットアップ完了後に session ready. と出力されます。--detach を指定すると、
ターミナルインターフェースを開かず、ローカルのスキルや Model Context Protocol (MCP) 設定もインポートしないまま、
サンドボックスを実行し続けます。2 時間の有効期間はセットアップ時間を含む
実時間での上限です。作業が終わったら、コンピュートを停止してください。
タスクを実行して結果を確認する
ローカルのターミナルから、OpenCode にファイルの書き込みと読み取りを指示します。--permission-mode native
を指定すると、OpenCode で設定済みの権限がそのまま維持されます。指定しない場合、cws-agent はデフォルトで
承認リクエストを受け入れます。OpenCode のポリシーでこの
タスクに承認が必要な場合は、インタラクティブセッションを使用して承認してください。詳しくは
OpenCode permissions を参照してください。
エージェントの応答とは別に、実際のファイルを直接確認します。
Hello from CoreWeave と出力されるはずです。コンピュートを停止する前に、ローカルコピーを
取得します。
オプション: インタラクティブに作業する
macOS または Linux の対話型ターミナルから、 同じワークスペースで OpenCode を開きます。--no-config-sync フラグを指定すると、ローカルのスキルと MCP のインポートがスキップされます。OpenCode でプロンプトを送信して
action を承認したら、/exit でローカルのターミナルに戻ります。
OpenCode を終了しても、サンドボックスは実行され続けます。OpenCode を再度開くには、接続
コマンドをもう一度実行します。以前の会話は自動的には選択されません。
会話履歴と再開コマンドについては、
cws-agent sessions を参照してください。
保存、停止、リストア
エージェントの処理が完了したら、ワークスペースのスナップショットを作成してコンピュートを停止します。down は、サンドボックスを停止する前に /workspace ディレクトリを保存します。スナップショットの作成に失敗した場合、
サンドボックスは実行中のままになります。エラーを確認し、原因を解決してから再試行してください。
明示的なスナップショットの完了を待たずに停止するには、次のコマンドを実行します。
FORGE_API_KEY が引き続きエクスポートされていることを確認してから、次のコマンドを実行します。
--wandb-model の値を使用してください。--wandb を使用している場合にこれを省略すると、リストア時にはプリセットのデフォルトモデルが選択されます。
別のプロバイダーを使用する場合は、そのプロバイダーのキーと OPENCODE_CONFIG_CONTENT を再度エクスポートしてから、次のコマンドを実行します。
sandbox-proof.txt ファイルが残っていることを確認します。その後、
cws-agent run または対話型接続コマンドで作業を続けます。作業が終了したら、リストアしたサンドボックスを
cws-agent down で停止します。
トラブルシューティング
セットアップまたはタスクが失敗した場合は、次の点を確認してください。- サンドボックスの認証に失敗する: CoreWeave API アクセストークンと サンドボックスへのアクセス権を確認してください。
- Forge モデルへのリクエストが失敗する: 推論へのアクセス権、クレジット、モデル ID を確認してください。サンドボックスへのアクセス権があるだけでは、推論へのアクセス権は得られません。
- 他のプロバイダーを利用できない:
--wandbを指定せずに新しいセッションを開始してください。 Forge プリセットはワークスペースに保存されるため、リストア時に--wandbを省略しても プリセットは削除されません。既存のワークスペースについては、 Forge プリセットの設定を参照してください。 - ヘッドレスタスクで承認が求められる: インタラクティブに接続し、OpenCode の 承認プロンプトで承認してから続行してください。
次のステップ
詳細については、次のガイドを参照してください。- CoreWeave サンドボックスでエージェントを実行する: エージェントの実行モデルとワークスペースの有効期間について説明しています。
- OpenCode の設定: モデル、プロバイダー、プロジェクトの設定について説明しています。
- Sandboxes SDK を使用する: アプリケーションからコマンドの実行を直接管理する方法について説明しています。