Cloud Sessions
Cloud Sessions は、ローカルの Copilot CLI プロセスではなく GitHub 側のホスト環境でセッションを実行する機能です。Mission Control 上でタスクが予約され、クラウド側のcopilot-agent が接続して処理を進めます。
通常の Remote Sessions は「ローカルで動くセッションを GitHub Web/モバイルから見えるようにする」機能です。実行場所自体を GitHub ホスト環境にしたい場合は Cloud Sessions を使います。
前提条件
- ユーザーが Cloud Agent を利用できる Copilot 権限を持っている
- GitHub トークン、またはログイン済み Copilot CLI ユーザーで認証できる
- 可能なら GitHub リポジトリ情報を関連付ける
- 組織ポリシーでクラウド実行とリモート閲覧が許可されている
基本的な使い方
SessionConfig の cloud に CloudSessionOptions を指定します。リポジトリ情報は SDK 型としては任意ですが、Mission Control とクラウドエージェントに文脈を渡すため指定することを推奨します。
最初のプロンプトを送るタイミング
Cloud Session は 2 段階で初期化されます。session.create は Mission Control でタスクが予約された時点で戻りますが、クラウド側の copilot-agent が接続して session.start を発行するまで少し時間があります。
最初のプロンプトを確実に届けるには、先にイベントを購読し、producer が copilot-agent の session.start を確認してから送信してください。
session.start 確認後にプロンプトを送る構成にすると扱いやすいです。
Remote Sessions との違い
| 機能 | 実行場所 | 主な用途 |
|---|---|---|
| Remote Sessions | ローカルまたは自前サーバー | Web/モバイルから既存セッションを閲覧・操作する |
| Cloud Sessions | GitHub ホスト環境 | ユーザー端末や自前サーバーで Copilot CLI を動かさずに処理する |
注意点
- Cloud Sessions は権限と組織ポリシーの影響を受けます
streaming: trueにするとassistant.message_deltaなどのリアルタイムイベントを受け取れます- 権限リクエストの扱いは通常セッションと同じです。Laravel 版の Facade 経由ではデフォルトで deny-all なので、必要に応じて
PermissionHandler::approveSafety()などを指定してください
参考
最新情報は GitHub リポジトリ を参照してください。