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 的输出很容易被用户一回车执行。哪怕 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 学命令、解释错误,但不会让它成为无审查的生产命令入口。

官方来源

接下来去哪

本页目录