AI 程式設計教程中文版
官方教程中文版入口與使用場景

Windows Terminal 中的 Copilot

說明 Windows Terminal Chat 中 Copilot 的前提、命令解釋、shell 上下文、插入命令、組織策略和安全邊界。

Windows Terminal 中的 Copilot 適合解釋命令、生成 shell 語法、翻譯跨 shell 命令和理解錯誤。它不是部署代理,也不應該繞過你對命令副作用的判斷——把它當作"會讀 shell 的同事",但敏感操作仍由你負責。

GitHub 官方頁面把它定位為:在 Windows Terminal 中獲得 command-line suggestions and explanations。Microsoft Learn 進一步說明,Terminal Chat 是 Windows Terminal Canary 的實驗功能,會把當前 active shell 名稱作為額外上下文傳送給所選 AI service。

閱讀目標:讀完本章,你應該能安全使用 Copilot 解釋命令,同時知道它不會自動替你判斷生產風險。

1. 官方前提

2026-05-06 核驗時,GitHub 官方頁面列出的前提是:

  • Access to GitHub Copilot:賬號需要有 Copilot 訪問權。
  • Windows Terminal Canary:Terminal Chat 在 Canary 中可用。
  • GitHub Copilot connected to Terminal Chat:需要按 Quickstart 完成連線。
  • 組織策略允許 Copilot CLI:組織 owner 或 enterprise admin 停用 Copilot CLI 時不能使用。

Microsoft Learn 的 Terminal Chat 頁面還說明,該功能支援 GitHub Copilot、Azure OpenAI Service 和 OpenAI 作為 service provider;使用 GitHub Copilot 時需要個人 active subscription,或組織分配 seat。

2. 它能做什麼

  • 命令建議:例如 how do i list all markdown files in my directory;建議不等於應該執行。
  • 命令解釋:例如 “Explain Get-ChildItem”;仍需核對當前 shell。
  • 跨 shell 翻譯:例如 “What is touch in PowerShell?”;Windows、WSL、PowerShell 差異要確認。
  • 錯誤解釋:例如 “How do I fix Error: getaddrinfo ENOTFOUND?”;不要貼上含 token 的完整日誌。
  • 傳送程式碼到終端編輯器:例如在 WSL 的 nano / vi 中傳送建議;先審程式碼,再寫入檔案。
flowchart TD
    Prompt["Terminal Chat 提問"] --> Shell["附帶 active shell context"]
    Shell --> Answer["Copilot 返回解釋或建議"]
    Answer --> Insert{"是否點選插入命令?"}
    Insert -->|否| Read["只讀學習"]
    Insert -->|是| Review["人工檢查副作用"]
    Review --> Safe{"安全?"}
    Safe -->|是| Run["再手動執行"]
    Safe -->|否| Stop["不執行,重問或改寫命令"]

    style Review fill:#fef3c7,stroke:#d97706,stroke-width:2px
    style Stop fill:#fee2e2,stroke:#dc2626,stroke-width:2px

3. 插入命令不等於執行命令

GitHub 官方頁面說明,Copilot 的答案顯示在問題下方,點選 answer 可以把它插入 command line。Microsoft Learn 也說明,點選 suggestion 會複製到終端輸入行,這個動作不會自動執行 suggestion。

這條邊界很重要:

  • 插入前:確認命令適合當前 shell。
  • 插入後:再檢查引數、路徑、目標環境。
  • 執行前:確認沒有刪除、覆蓋、推送、部署、暴露金鑰。

推薦先問:

解释下面这条命令做什么:
它可能修改哪些文件?

再把命令貼給它解釋,而不是直接讓它“幫我執行”。

4. 不要洩露終端上下文

Microsoft Learn 頁面說明,Terminal Chat 會在你輸入訊息時把 chat history 和 active shell 名稱附加到傳送給 AI service 的訊息中;Windows Terminal 不會在 terminal session 結束後儲存 chat history。

這不代表可以隨便貼上日誌。終端裡常見敏感內容包括:

  • .env、API key、token、cookie。
  • 內網主機名、使用者名稱、IP、SSH 路徑。
  • 資料庫連線串。
  • 客戶資料或生產錯誤日誌。
  • 雲資源 ID、訂閱 ID、部署環境。

Terminal Chat 是解釋命令的工具,不是金鑰處理工具。需要排障時只貼上必要錯誤行,先移除 token 和私有路徑。

5. 適合的第一批任務

安全起步任務:

怎么列出当前目录下所有 markdown 文件?
下面这条 bash 命令在 PowerShell 里等价的写法是什么?
touch app.log
解释下面这个错误,并只列出安全的诊断命令(不要直接执行):
Error: getaddrinfo ENOTFOUND

不適合第一批任務:

删除所有生成的临时文件,然后推送到 main 分支。
SSH 到生产服务器并重启服务。
对当前 workspace 运行 terraform apply。
深讀:為什麼終端入口比 IDE Chat 更需要保守

IDE Chat 的多數輸出會先變成 diff,你還能審檔案;Terminal Chat 的輸出很容易被使用者一Enter執行。哪怕 Terminal Chat 本身不自動執行命令,一條錯誤命令也可能刪除檔案、修改遠端資源、洩露 token 或改變生產環境。

所以終端入口的正確用法是“解釋和草擬”,不是“代理執行”。真正需要 agentic CLI 工作流時,應該轉到 Copilot CLI,並單獨學習工具允許、回復和 session 資料邊界。

6. 團隊使用規則

團隊裡建議寫清:

  • 允許解釋命令和錯誤:學習和排障價值高。
  • 禁止貼上未脫敏日誌:防止 token、客戶資料、內網資訊進入 AI service。
  • 禁止直接執行刪除、部署、SSH、雲資源修改:終端副作用大。
  • 生產命令必須走 runbook 或人工審批:保持審計和回復。
  • 組織策略停用 Copilot CLI 時同步說明:GitHub 官方指出該策略會影響 Windows Terminal Copilot。

本章自檢

完成本章後,用這 4 個問題檢查:

  1. 你的 Windows Terminal 是否是 Canary,且已連線 GitHub Copilot?
  2. 你的組織或企業是否允許 Copilot CLI?
  3. 點選 Copilot answer 插入命令後,你是否在執行前檢查了副作用?
  4. 你是否避免把 token、連線串、客戶資料和生產日誌貼上進 Terminal Chat?

透過標準:你能用 Terminal Chat 學命令、解釋錯誤,但不會讓它成為無審查的生產命令入口。

官方來源

接下來去哪

本頁目錄