# GitHub Copilot CLI セッションのリモート 制御について

リモート コントロールを使用すると、コンピューターから離れた後でも、Copilot CLIまたはGitHub.comからGitHub Mobile セッションを監視および操作できます。

この記事では、 Copilot CLI セッションのリモート 制御に関する概念について説明します。 リモート コントロールを有効にする方法については、 [別のデバイスからの GitHub Copilot CLI セッションのステアリング](/ja/copilot/how-tos/copilot-cli/use-copilot-cli/steer-remotely) を参照してください。

## リモート コントロールが役立つ場合

既定では、 GitHub Copilot CLI セッションはローカル コンピューターからのみ操作できます。 ただし、セッションのリモート制御を有効にすることはできます。 リモート コントロールは、セッションが実行されているコンピューターに留まる必要なく、進行状況を表示したり、プロンプトやアクセス許可要求に応答したりする場合に便利です。 例えば次が挙げられます。

* **ワークステーションから離れる**: セッションが実行されているコンピューターに戻ることなく、電話または別のデバイスから Copilot を操作し続けます。
* **実行時間の長いタスクには、** アクセス許可要求を承認し、質問が表示されたら回答するという入力が必要です。そのため、離れている間、タスクはブロックされません。
* **簡単な状態チェックが必要です**。他の作業を行っている間に、 GitHub Mobile からのセッションの進行状況を一目で確認できます。

## 前提条件

リモート コントロールには次のものが必要です。

* **ポリシーの有効化**: Copilot シートが組織から来ている場合、企業または組織の所有者は、"クラウドにローカル セッションを保存する" ポリシーを "表示と制御" (既定では構成解除) に設定する必要があります。 この記事 [で後述する「リモート コントロールの管理](#administering-remote-control) 」を参照してください。
* **マシンはオンラインである必要があります**。CLI セッションは、インターネットに接続されているコンピューター上のターミナルでアクティブに実行されている必要があります。 マシンがスリープ状態になったり、接続が失われると、コンピューターがオンラインに戻るまで、リモート コントロールを使用できなくなります。 この記事の後半の [「再接続」](#reconnection) を参照してください。
* **対話型セッション**: リモート アクセスは対話型セッションでのみ使用できます。 スクリプトで CLI を使用する場合など、 `--prompt` コマンド ライン オプションを使用して CLI をプログラムで使用する場合は使用できません。

リモート コントロールでは、作業ディレクトリに、 GitHub.comでホストされている Git リポジトリを含める必要はありません。
Copilotシートが企業または組織から取得されたユーザーの場合、リポジトリ ホスティングではなく、該当するエンタープライズポリシーまたは組織ポリシーによって、リモート コントロールが使用可能かどうかが決定されます。 この記事 [で後述する「リモート コントロールの管理](#administering-remote-control) 」を参照してください。

## セッションへのリモート アクセス

Copilot CLI セッションに対してリモート 制御を有効にすると、GitHub.comまたはGitHub Mobileに移動し、最近使用したエージェント セッションの一覧でそのセッションを見つけることができます。 リモート インターフェイスはリアルタイムで更新されるため、セッションからの継続的な出力を監視し、プロンプトとアクセス許可の要求に応答できます。

ローカル ターミナルとリモート インターフェイスの両方が同時にアクティブになります。 どちらのインターフェイスでもコマンドを入力できます。
Copilot CLI は、プロンプトまたはアクセス許可の要求に対して受信した最初の応答を使用します。

セッションはローカル コンピューターで引き続き実行されます。 リモート インターフェイスはセッションを操作する方法を提供しますが、CLI 自体 (および実行されるすべてのツール、シェル コマンド、および実行されるファイル操作) は、セッションを開始したマシンに残ります。

## リモートで実行できること

GitHub.comまたはGitHub Mobileからリモートでセッションに接続すると、次のことができます。

* **アクセス許可要求に応答する**: ツール、ファイル パス、および URL アクセス許可要求を承認または拒否します。
* **質問に回答する**: Copilot から詳細情報の入力または決定を求められた場合に回答します。
* **プランの承認または却下**: Copilot がプラン モードのときに、プランの承認プロンプトに応答します。
* **新しいプロンプトを送信する**: ターミナルの場合と同様に、質問または手順を入力します。
* **切り替えモード**: 対話型モードとプラン モードの間など、セッション モードを変更します。
* **現在の操作を終了**する: エージェントの現在の作業を取り消します。

> \[!NOTE]
> `/allow-all`などのスラッシュ コマンドは、現在リモート インターフェイスからは使用できません。

## 再接続

ネットワークの中断などによってローカル コンピューターと GitHub の間の接続が一時的に失われた場合は、接続が復元されたらすぐにリモートでセッションを使用し続けることができます。

`/keep-alive`スラッシュ コマンドを使用して、コンピューターがスリープ状態にならないようにすることができます。 「 [コンピューターがスリープ状態にならないようにする」を参照してください](/ja/copilot/how-tos/copilot-cli/use-copilot-cli/steer-remotely#preventing-your-machine-from-going-to-sleep)。

`copilot --continue`または`copilot --resume`を使用して、リモート コントロールが有効になっている CLI セッションを再開すると、リモート コントロールが自動的に再び有効になります。

## セキュリティとプライバシー

リモート コントロールは、CLI セッションを開始したのと同じアカウントで GitHub にサインインしたユーザーのみが使用できます。 他のユーザーはセッションをリモートで表示または操作できません。

リモート コントロールが有効な場合:

* セッション イベント (会話メッセージ、ツール実行イベント、アクセス許可要求) は、ローカル コンピューターから GitHubに送信されます。
* リモート コマンドは、Copilot CLIからGitHubによってポーリングされ、ローカル セッションに挿入されます。
* CLI は引き続きローカルで実行されます。 すべてのシェル コマンド、ファイル操作、およびツールの実行は、コンピューター上で実行されます。 リモート 制御では、CLI エージェントがセッション内で実行できる以外に、コンピューターへの直接アクセスは許可されません。

## リモート コントロールの管理

企業と組織の所有者は、ユーザーが "クラウドにローカル セッションを保存する" ポリシーを使用してリモート コントロールを有効にできるかどうかを制御します。

* **組織レベルのポリシー** (既定では未構成): 組織の所有者は、このポリシーを "クラウドから表示" (同期のみ) または "表示と制御" (同期とリモート コントロール) に設定できます。 ポリシーが無効または未構成の場合、組織のユーザーはセッション同期もリモート コントロールも使用できません。
* **エンタープライズ レベルのポリシー**: エンタープライズ所有者は、すべての組織に設定を適用するか、\[組織が決定できるようにする] を選択して、各組織が独自のレベルを選択できるようにします。 企業が "表示と制御" を強制している場合、その下にあるすべての組織がその設定を受け取ります。

リモート コントロールを使用できるようにするには、該当するポリシー (エンタープライズ適用レベルまたは組織レベル) を "表示および制御" に設定する必要があります。

エンタープライズ所有者は、"クラウドにローカル セッションを保存する" ポリシーの上に適用される、 `remoteControl` エンタープライズ管理設定を使用して、リモート 制御をさらに制限できます。 この設定はデバイスごとに適用 **され、そのデバイスでホストされているセッションを** リモートで制御できるかどうかを制御します。制御するクライアントが特定の組織に対して SSO 承認されている必要がある場合や、そのデバイスでホストされているセッションのリモート 制御を完全に無効にする必要がある場合があります。 他のデバイスでホストされているセッションをリモートで制御する同じユーザーの機能には影響しません。 「[エンタープライズ管理設定](/ja/copilot/reference/enterprise-administrators/enterprise-managed-settings)」を参照してください。

詳細については、「[組織内のGitHub Copilotのポリシーと機能の管理](/ja/copilot/how-tos/administer-copilot/manage-for-organization/manage-policies)」および「[企業向けの Copilot CLI の管理](/ja/copilot/how-tos/copilot-cli/administer-copilot-cli-for-your-enterprise)」を参照してください。