メモ
GitHub Copilotのローカル サンドボックスはパブリック プレビューにあり、変更される可能性があります。
重要
Windowsでのローカル サンドボックスには、Windows Insider ビルドが必要です。
ローカル サンドボックスについて
サンドボックスは現在、試験段階の機能です。 これを使用するには、Copilot CLI コマンド ライン オプションで‑‑experimentalを開始するか、セッション中に/experimental onを入力します。
ローカル サンドボックスを有効にすると、 Copilot CLI は、オペレーティング システムサンドボックス内でユーザーに代わって呼び出されるほとんどのコマンドとツールを実行します。 ローカル サンドボックスを有効にすると、無効にするか、特定のセッションでオフにするまで、すべての Copilot CLI セッションに適用されます。 エンタープライズ管理設定でサンドボックス、通常の構成、 --no-sandbox コマンド ライン オプションが必要な場合、 /sandbox disable コマンドでは無効にできません。 ただし、有効なポリシーでサンドボックス バイパスが許可されている場合は、アクティブなバイパスアクセス許可プロンプトから、現在のセッションの残りの部分のサンドボックスを明示的に無効にすることができます。
既定では、サンドボックス化されたコマンドとツールは、現在の作業ディレクトリと一時フォルダー内に書き込むことができます。 ユーザー プロファイル (ホーム) ディレクトリと、システムとツールの場所は読み取り専用です。 その他のディスクの場所はブロックされます。 Git リポジトリでは、現在の作業ディレクトリの上にある残りのリポジトリは読み取り可能ですが、書き込み可能ではありません。 送信インターネット アクセスと同様に、ローカルおよびプライベート ネットワークへのアクセスが許可されます。
既定では、認証された Git と GitHub CLI (gh) の操作はサンドボックス内で引き続き機能します。これは、 Copilot CLI によって GitHub 資格情報がサンドボックス コマンドで使用できるようになるためです。 これにより、 git push や gh pr create などのアクションを成功させることができます。 サンドボックスの設定でこれをオフにすることができます。
Copilot CLIのサンドボックスの概念の概要については、クラウドサンドボックスとローカルサンドボックスについて GitHub Copilot を参照してください。
サンドボックス コマンド
/sandboxスラッシュ コマンドを使用して、Copilot CLI セッション内からローカル サンドボックスを管理します。 これには次のサブコマンドがあります。
| 命令 | Description |
|---|---|
/sandbox status | サンドボックスがセッションで現在使用されているかどうかを示します。 |
| サンドボックスが使用されているかどうかを確認するを参照してください。 | |
/sandbox policy | 現在のディレクトリの有効なファイルシステム ポリシー (読み取り可能、書き込み可能、またはブロックされているパス、ネットワーク アクセスの強制) を表示します。 詳細については、「GitHub Copilot CLI のローカル サンドボックスに関するファイルシステム ポリシーを理解する」を参照してください。 |
/sandbox config | 対話型設定インターフェイスを開きます。 |
/sandboxを単独で入力しても同じことが行います。 詳細については、「ローカル サンドボックス設定の構成」を参照してください。 | |
/sandbox enable | ローカル サンドボックスを有効にします。 |
| 「ローカル サンドボックスの有効化」を参照してください。 | |
/sandbox disable | ローカル サンドボックスをオフにします。 エンタープライズ管理設定でサンドボックスが必要な場合、これは拒否されます。 |
| 「ローカル サンドボックスの無効化」を参照してください。 |
ローカル サンドボックスの有効化
ローカル サンドボックスを有効にするには、対話型の Copilot CLI セッションで次のコマンドを入力します。
/sandbox enable
/sandbox enable
サンドボックスは、現在のセッションですぐに使用を開始します。
ローカル サンドボックスを有効にした後も、現在および将来の対話型セッションとプログラム セッションで引き続き使用されます。
メモ
/sandbox enableを入力したときに他のセッションを開いている場合、それらのセッションではサンドボックスはすぐには使用されません。 既に開いているセッションでサンドボックスを使用するには、そのセッションで次のいずれかの操作を行います。
- たとえば、
copilot --continueを実行して、セッションを閉じて再起動します。 - 「
/sandbox enable」と入力します。
ローカル サンドボックスの無効化
エンタープライズ管理設定でサンドボックスが必要な場合、 /sandbox disable は拒否されます。 有効なポリシーでサンドボックスバイパスが許可されている場合は、代わりにアクティブなバイパスアクセス許可プロンプトから現在のセッションの残りの部分のサンドボックスを明示的に無効にすることができます。
ローカル サンドボックスの使用を停止するには、対話型の Copilot CLI セッションで次のコマンドを入力します。
/sandbox disable
/sandbox disable
サンドボックスは、現在のセッション、または新規および再起動されたセッションでは使用されなくなりました。
ローカル サンドボックスを使用するかどうかの選択は、CLI の個人用設定ファイルに sandbox.enabled 設定として保存されます (既定では~/.copilot/settings.json )。
1 つのセッションにサンドボックスを使用する
--sandboxコマンド ライン オプションを使用すると、他のセッションでサンドボックスを有効にすることなく、1 つのセッションにサンドボックスを使用できます。 サンドボックスが既に有効になっている場合は、 --no-sandbox オプションを使用して、1 つのセッションで無効にすることができます。
--no-sandbox オプションは、サンドボックスを必要とするエンタープライズ管理設定をオーバーライドできません。
これらのオプションを -p コマンド ライン オプションと組み合わせて、CLI をプログラムで使用するためのサンドボックスを制御できます。 例えば次が挙げられます。
copilot --sandbox -p "PROMPT"
copilot --sandbox -p "PROMPT"
サンドボックスの外部で 1 つのコマンドを実行する
コマンドがサンドボックスで許可されているよりも広範なアクセスを必要とする場合、 Copilot はサンドボックスの外部でその 1 つのコマンドの実行を要求できます。 コマンドを説明する確認プロンプトが表示されます。 その 1 つのコマンドを承認したり、サンドボックス内に保持したり、現在のセッションの残りの部分でサンドボックスを無効にしたりできます。 セッションのオプトアウトは、有効なポリシーでサンドボックス バイパスが許可されている場合にのみ、アクティブなバイパス プロンプトに応答している間にのみ使用できます。
この動作は既定で有効になっており、サンドボックス設定でオフにすることができます。
サンドボックスが使用されているかどうかを確認する
ローカル サンドボックスが現在のセッションで使用されているかどうかを確認するには、次のように入力します。
/sandbox status
/sandbox status
Copilot CLI は、セッションに対してサンドボックスが有効になっているかどうかを報告します。 組織の管理設定でサンドボックス化が必要な場合は、ステータスにもその旨が記載されます。 状態はセッションが実際に適用する内容を反映しているため、実行 Copilot コマンドがサンドボックス化されているかどうかを確認する信頼性の高い方法です。
サンドボックスがオンになっているかどうかだけでなく、読み取り可能、書き込み可能、ブロックされているパスを正確に確認するには、「 /sandbox policy」と入力します。 詳細については、「GitHub Copilot CLI のローカル サンドボックスに関するファイルシステム ポリシーを理解する」を参照してください。
サンドボックスの状態は、サンドボックスが使用されている場合の sandbox enabled を含む状態行で一目で確認することもできます。 状態行でのサンドボックス情報の表示は、既定でオンになっています。 オフになっている場合は、オンに戻すことができます。
- 「
/statusline」と入力します。 - オプションの一覧で選択を下に移動して sandbox にします。
- チェック マークが表示されるように設定を切り替えるには、 Enter キー を押します。