ターミナル チャット (試験段階)

ターミナル チャットは、 Windows ターミナル カナリア と好みの AI サービスを統合する試験的な機能です。

ターミナル チャットを AI サービス プロバイダー (GitHub Copilot、Azure OpenAI、または OpenAI) に接続すると、ターミナルのコンテキストを維持しながら、使用しているシェル (PowerShell、CMD、WSL Ubuntu、Azure Cloud Shell など) に固有の質問をすることができます。

ターミナル チャットでは、次のことができます。

  • コマンドの構文と説明を指定する
  • コマンド ラインのエラー メッセージについて説明する
  • コマンド ライン テキスト エディターにコード候補を送信する

ターミナル チャットには、独自の大きな言語モデルは含まれません。 現時点では、この試験的な機能は Windows ターミナル カナリア でのみ使用でき、 GitHub CopilotAzure OpenAI ServiceOpenAI をサポートしています。

ターミナル チャットは、チャットにメッセージを入力した場合にのみ、選択した AI サービスと通信します。 ユーザーのアクティブなシェルのチャット履歴と名前も、AI サービスに送信されるメッセージに追加されます。 Windows ターミナルでは、ターミナル セッションの終了後、チャット履歴は保存されません。

ターミナル チャットのユーザー インターフェイスのスクリーンショット

前提条件

  • この試験的な機能は、Windows ターミナルカナリアでのみ使用できます。

  • AI サービス プロバイダーのサブスクリプションが必要です。 GitHub Copilot、Azure OpenAI、OpenAI は現在サポートされています。

ターミナル チャットでサービス プロバイダーを設定する

ターミナル チャットを使用するには、GitHub Copilot に接続するか、ターミナル チャット設定に Azure OpenAI または OpenAI エンドポイントを追加する必要があります。

  1. Windows ターミナル開き、上部のメニュー バーの右端にあるドロップダウン メニューから Settings を選択します。

  2. ターミナル チャット (試験段階) タブを選択して、サービス プロバイダーの構成設定を表示します。

  3. Service Provider を選択します。 ターミナル チャットを使用するには、次のいずれかの AI サービス プロバイダーへのサブスクリプションが必要です。 サービス プロバイダーの設定で AI サービスを設定して認証する必要があります。 優先する AI サービス プロバイダーをアクティブ化するには、次の手順を参照してください。

AI サービス プロバイダー

GitHub Copilot: [サービス プロバイダー] で GitHub Copilot を選択し、GitHub 経由で認証を GitHub にサインインします。 [アクティブなプロバイダーとして設定] をオンにして、GitHub Copilot をアクティブなサービス プロバイダーとして設定します。

GitHub Copilot をターミナル チャットに接続するには、個人用アカウントに GitHub Copilot のアクティブなサブスクリプションが必要です。または、組織のシートを割り当てる必要があります。 個人用アカウントで GitHub Copilot 無料試用版にサインアップ GitHub Copilot を評価できます。

GitHub Copilot をターミナル チャットに接続し、ターミナル チャットで質問するアニメーション GIF

Note

組織を介して GitHub Copilot にアクセスできる場合、組織の所有者が CLI で GitHub Copilot を無効にしている場合、GitHub Copilot を使用することはできません。 「組織内の Copilot の管理ポリシー」を参照してください。

Windows ターミナルで GitHub Copilot を責任を持って使用する方法の詳細については、「Windows ターミナルでの GitHub Copilot の責任ある使用」」を参照してください。

Azure OpenAI: [サービス プロバイダー] で Azure OpenAI を選択し、エンドポイントの URL とキーを入力し、 StoreSave を選択します。

Azure OpenAI のターミナル チャット設定のスクリーンショット

Azure OpenAI サービス エンドポイントとキーを取得するには、Azure OpenAI サービス リソースを作成してデプロイする必要があります。

gpt-35-turbo モデルを使用し、展開で脱獄 コンテンツ フィルターが有効になっていることを確認する必要があります。

リソースを作成してモデルをデプロイしたら、Azure OpenAI Studio の Chat プレイグラウンドに移動し、[チャット セッション] セクションで View コード を選択することで、エンドポイントと API キーを見つけることができます。 ポップアップ ダイアログには、ターミナル チャット サービス プロバイダーの設定で使用できるエンドポイント URL とキーが表示されます。

OpenAI: [Service Providers]\(サービス プロバイダー\) で OpenAI を選択し、エンドポイントの URL とキーを入力し、 Store および Save を選択します。

OpenAI エンドポイントとキーを取得するには、OpenAI のドキュメントを参照してください。

OpenAI は、Microsoft ではなくサード パーティによって提供されます。 ターミナル チャットでメッセージを送信すると、セッションごとのターミナル チャット履歴とアクティブなシェル プロファイルの名前が、OpenAI で使用するためにサードパーティの AI サービスに送信されます。 OpenAI の使用は、関連するサード パーティの使用条件、プライバシーに関する声明に準拠します。

ターミナル チャットの使用例

次の例では、ターミナル チャットの使用を検討する方法をいくつか示します。

ターミナル チャットで質問をするアニメーション GIF

  • コマンド候補: 使用するコマンドを要求します。 ターミナル チャットは、送信後にアクティブなシェルの名前をプロンプトに追加します。 たとえば、PowerShell を使用していて、"新しいディレクトリを作成する方法" を尋ねる場合、応答は md可能性があります。 WSL で Ubuntu (Linux) コマンド ラインを使用している場合、応答が mkdir可能性があります。 検索候補をクリックすると、ターミナルの入力行にコピーされます。 このアクションでは、提案は自動的には実行されません。

  • 翻訳コマンド: ターミナル チャットを使用して、コマンドを "翻訳" します。 たとえば、新しいファイルを作成するための Linux および Unix ベースのtouch コマンドと同等の PowerShell コマンドである touch の提案を取得するには、「PowerShell のNew-Item」または「PowerShell でtouchする方法」を確認します。

  • エラーを説明する: コマンド ラインで不慣れなエラー応答が表示された場合は、それをコピーしてターミナル チャットに貼り付け、エラー コードとその修正方法の説明を求めます。 たとえば、"操作方法修正Error: getaddrinfo ENOTFOUND?" などです。

  • コマンド ライン テキスト エディターにコード候補を送信する: WSL でコマンド ライン テキスト エディター ( nanoviなど) を使用している場合は、[コピー] ボタンを選択してコードを生成し、コード提案をエディターに送信するようにターミナル チャットに依頼できます。

  • PowerShell コマンドレットの検索と説明: cmdlet (発音されたコマンド レット) は、PowerShell で特定の関数を実行するために使用される軽量のスクリプト コマンドです。 ターミナル チャットは、役に立つ可能性のあるコマンドレットを見つけ、実行するタスクを説明するのに役立ちます。 たとえば、"アクティブなプロセスの一覧を表示するコマンドレットを検索する" と Get-Process。 または、「 Get-ChildItem コマンドレットについて説明する」では、コマンドレットを使用して、指定した場所内の項目の一覧を取得します。

ターミナル固有のコンテキスト

ターミナル チャットでは、アクティブなシェルの名前を取得し、その名前を追加のコンテキストとして AI サービスに送信して、そのシェルに合わせて調整された候補を取得します。

PowerShell でのターミナル チャット

この機能は、ターミナル チャットで、ユーザーのアクティブなシェルがコマンド プロンプトか PowerShell かを識別できることを意味します。

コマンド プロンプトでのターミナル チャット

ターミナル チャットにキーバインドを割り当てる

Windows ターミナル設定の [アクション] タブで、ターミナル チャットをキー バインドとして 設定します[+ 新規追加] を選択して新しいキーバインドを追加し、ドロップダウンから [ターミナル チャットの切り替え] を選択して、ターミナル チャット機能の新しいキーバインド アクションを追加します。

これらの変更を保存すると、ドロップダウン メニューにも新しいキーバインドが表示されます。

グループ ポリシー

ターミナル チャットで使用される言語モデルと AI サービスは、 有効な言語モデル/AI プロバイダー ポリシーを使用して無効にすることができます。 同じポリシーでターミナル チャット機能を無効にすることもできます。 詳細については、「 グループ ポリシー」ページを参照してください。