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
touchin 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 個問題檢查:
- 你的 Windows Terminal 是否是 Canary,且已連線 GitHub Copilot?
- 你的組織或企業是否允許 Copilot CLI?
- 點選 Copilot answer 插入命令後,你是否在執行前檢查了副作用?
- 你是否避免把 token、連線串、客戶資料和生產日誌貼上進 Terminal Chat?
透過標準:你能用 Terminal Chat 學命令、解釋錯誤,但不會讓它成為無審查的生產命令入口。
官方來源
- Asking GitHub Copilot questions in Windows Terminal —— GitHub 官方 Windows Terminal Copilot 頁面,說明前提、提問、插入答案和組織策略。
- Terminal Chat —— Microsoft Learn 官方 Terminal Chat 頁面,說明 Canary、service provider、active shell context、chat history 和使用示例。
- Responsible use of GitHub Copilot in Windows Terminal —— 官方 responsible use 頁面,用於核對限制和風險。