終端機聊天 (實驗性)

終端機聊天是一項新的實驗性功能,可讓您整合 Windows 終端機 Canary 與您慣用的 AI 服務。

一旦終端機聊天連線到您的 AI 服務提供者(GitHub Copilot、Azure OpenAI 或 OpenAI),您就可以詢問您所使用的殼層特定問題(PowerShell、CMD、WSL Ubuntu、Azure Cloud Shell 等),同時留在終端機的內容中。

終端機聊天可以:

  • 提供命令語法和描述
  • 說明命令行錯誤訊息
  • 將程式代碼建議傳送至命令列文本編輯器

終端機聊天不會隨附自己的大型語言模型。 目前,這項實驗性功能僅適用於 Windows 終端機 Canary,且僅支援 GitHub CopilotAzure OpenAI 服務和 OpenAI。

終端機聊天只會在您於聊天中輸入訊息時,與選取的 AI 服務通訊。 使用者作用中殼層的聊天記錄和名稱也會附加至傳送至 AI 服務的訊息。 終端機會話結束後,Windows 終端機 不會儲存聊天歷程記錄。

終端機聊天使用者介面的螢幕快照

必要條件

  • 這個實驗性功能僅適用於 Windows 終端機 Canary

  • 需要 AI 服務提供者訂用帳戶。 目前支援 GitHub Copilot、Azure OpenAI 和 OpenAI。

在終端機聊天中設定服務提供者

若要使用終端機聊天,您必須將 GitHub Copilot 連線,或將 Azure OpenAI 或 OpenAI 端點新增至終端機聊天設定。

  1. 開啟 Windows 終端機,然後從頂端功能表欄最右邊的下拉功能表中選取 [設定]。

  2. 選取 [ 終端機聊天][實驗性] 索引標籤以顯示服務提供者組態設定。

  3. 選取服務提供者。 使用終端機聊天需要下列其中一個 AI 服務提供者的訂用帳戶。 您必須在服務提供者設定中設定及驗證 AI 服務。 如需啟用您慣用的 AI 服務提供者的步驟,請參閱下文。

AI 服務提供者

GitHub Copilot:在 [服務提供者] 底下,選取 [GitHub Copilot ] 並 透過 GitHub 進行驗證以登入 GitHub。 核 取 [設定為使用中提供者 ],將 GitHub Copilot 設定為作用中的服務提供者。

若要將 GitHub Copilot 與終端機聊天連線,您必須在個人帳戶中擁有 GitHub Copilot 的作用中訂用帳戶,或者您必須由組織指派基座。 您可以在個人帳戶中註冊 GitHub Copilot 免費試用 ,以評估 GitHub Copilot。

將 GitHub Copilot 連線至終端機聊天的動畫 GIF,並在終端機聊天中提出問題

注意

如果您可透過組織存取 GitHub Copilot,如果您的組織擁有者已在 CLI 中停用 GitHub Copilot,您將無法使用 GitHub Copilot。 請參閱「管理組織中 Copilot 的原則」。

如需如何使用 GitHub Copilot 負責 Windows 終端機 的詳細資訊,請參閱

Azure OpenAI:在 [服務提供者] 底下,選取 [Azure OpenAI],輸入端點 URL 和密鑰,選取 [儲存並儲存]。

Azure OpenAI 終端機聊天設定的螢幕快照

若要取得 Azure OpenAI 服務端點和金鑰,您必須建立及部署 Azure OpenAI 服務資源。

您必須使用 gpt-35-turbo 模型,並確定 已為您的部署啟用越獄內容篩選

建立資源並部署模型之後,您可以流覽至 Azure OpenAI Studio 中的 Chat 遊樂場,然後選取 [聊天會話] 區段中的 [檢視程式代碼 ] 來尋找您的端點和 API 密鑰。 快顯對話框會提供端點 URL 和金鑰,您可以在終端機聊天服務提供者設定中使用。

OpenAI:在 [服務提供者] 底下,選取 [OpenAI],輸入端點 URL 和密鑰,選取 [儲存並儲存]。

若要取得 OpenAI 端點和金鑰,您必須參考 OpenAI 檔。

OpenAI 是由第三方提供,而不是Microsoft。 當您在終端機聊天中傳送訊息時,每個會話的終端機聊天記錄和作用中殼層配置檔的名稱會傳送給第三方 AI 服務,以供 OpenAI 使用。 您使用 OpenAI 會受到相關第三方條款、條件和隱私聲明的規範。

使用終端機聊天的範例

下列範例示範一些您可能考慮使用終端機聊天的方式。

在終端機聊天中提出問題的動畫GIF

  • 命令建議:要求您想要使用的命令。 終端機聊天也會在傳送後將作用中殼層的名稱新增至提示,因此如果您使用PowerShell並詢問「如何? 建立新目錄?」,回應md可能是 ,但如果您使用Ubuntu(Linux) 命令行搭配 WSL,回應可能是 mkdir。 按兩下建議會將它複製到終端機的輸入行。 這不會自動執行用戶的建議。

  • 翻譯命令:終端機聊天也可以用來「翻譯」命令。 例如,您可以要求「PowerShell 中有哪些touch專案?」或「在 PowerShell 中 如何?touch?」,以取得 的建議New-Item,這是相當於 Linux / Unix 命令touch的 PowerShell 命令,可用來建立新檔案。

  • 說明錯誤:如果您在命令行中收到不熟悉的錯誤回應,請將它複製並貼到終端機聊天中,並詢問錯誤碼的說明,以及如何修正錯誤碼。 例如,「如何? 修正Error: getaddrinfo ENOTFOUND?」

  • 將程式代碼建議傳送至命令行文字編輯器:如果您在 WSL 中使用命令列文字編輯器(例如 nanovi),您可以要求終端機聊天產生程式碼,然後按兩下 [複製] 按鈕,將程式代碼建議傳送給編輯器。

  • 尋找並描述 PowerShell Cmdlet:Cmdlet (發音為 command-let) 是輕量型腳本命令,用來在 PowerShell 中執行特定函式。 終端機聊天可協助您尋找可能很有用的 Cmdlet,並可以說明其完成的工作。 例如,「尋找顯示使用中行程清單的 Cmdlet」會導致 Get-Process。 或者「說明 Get-ChildItem Cmdlet」會描述 Cmdlet 是用來擷取指定位置內項目的清單。

終端機特定內容

終端機聊天會採用作用中殼層的名稱,並將該名稱當做其他內容傳送給 AI 服務,以取得更針對作用中殼層量身打造的建議。

PowerShell 中的終端機聊天

這表示終端機聊天可以識別使用者的作用中殼層是否為命令提示字元或PowerShell例如。

命令提示字元中的終端機聊天

將金鑰系結指派給終端機聊天

終端機聊天可以在 [Windows 終端機 設定] 的 [動作] 索引卷標中設定為按鍵系結。 選取 [+ 新增 ],然後從下拉式清單中選取 [切換終端機聊天 ] 以新增新的按鍵系結動作,以新增按鍵系結動作。

儲存這些變更之後,新的索引鍵系結也會反映在下拉功能表中。

群組原則

終端機聊天所使用的語言模型和 AI 服務可透過 啟用的語言模型 / AI 提供者 原則來停用。 您也可以使用相同的原則停用終端機聊天功能。 若要深入瞭解,請參閱 組策略頁面