GitHub Copilot CLI 怎么用?终端里的 AI 编程

2026-06-17

很多人用 GitHub Copilot 只停留在编辑器里写代码补全,其实它还有一个被低估的形态——终端原生的 Copilot CLI。本文带你从安装、登录到跑通第一个任务,把 GitHub Copilot 装进命令行,让 AI 帮你解释命令、改代码、跑任务,并讲清它和 IDE 版到底差在哪。

GitHub Copilot CLI 是什么,和 IDE 版有什么不一样

GitHub Copilot CLI 是一个运行在终端里的 AI 编程助手,你用自然语言提需求,它直接读你的代码、执行命令、改文件,再把结果反馈给你。 它不是补全工具,而是一个能在 shell 里跟你来回对话、动手干活的 agent。

和 IDE 版(VS Code、JetBrains 里那个)的核心区别:

维度IDE 版 CopilotCopilot CLI
形态编辑器插件,行内补全/对话框终端命令,会话式 agent
主战场写代码时实时提示跑命令、批量改文件、做任务
上下文当前打开的文件整个仓库 + 命令执行结果
适合谁边写边补全的开发者喜欢在终端干活、做自动化的人

一句话:IDE 版帮你”写”,CLI 帮你”做”。 如果你习惯在终端里 git、跑构建、调脚本,CLI 会很顺手。它在能力上和 Copilot 的 Agent 模式(规划中)同源——都是让 AI 自主规划、执行、验证多步任务。

给个具体场景帮你判断该用哪个:你刚 clone 一个不熟悉的老项目,想搞清楚 Makefile 里的 deploy 目标到底干了什么、有没有偷偷动了生产配置——这种”读懂一个陌生仓库”的活,丢给 CLI 比自己一行行翻源码快得多,它能顺着调用链把涉及的脚本、环境变量都读一遍再给你总结。反过来,你正在写一个函数,想让光标处直接冒出补全建议,这就是 IDE 版的主场,CLI 不掺和这种”边打字边提示”的场景。团队里如果已经有人在用 Cursor 或 Claude Code 做终端 agent,也别急着切换——CLI 的差异化优势在于它是 GitHub 生态原生的,仓库权限、PR、Issue 这些天然打通,不用额外配 token。

第一步:安装与登录

Copilot CLI 通过 npm 全局安装(需要 Node 环境)。具体包名和最低版本以官方文档为准,安装命令大致是:

npm install -g @github/copilot

装完后在终端直接运行命令进入会话,第一次会引导你登录 GitHub 账号授权:

copilot

按提示在浏览器完成 OAuth 授权即可。前提是你的 GitHub 账号有可用的 Copilot 订阅或授权——个人版、团队版、企业版都支持,具体权限范围以官方为准。登录态会缓存在本地,之后不用每次重登。

安装完想确认版本,直接跑 copilot --version;如果要换账号或者交接给同事的机器用,先退出再重新走一遍授权流程,别指望它自动切换。装的时候最容易踩两个坑:一是 Node 版本太老,npm install -g 直接报一堆依赖解析错误,先把 Node 升到 LTS 版本再装;二是 Windows 或 Linux 上用系统自带的 npm 全局装容易碰权限问题,报 EACCES 或者要你 sudo,这时候别真去 sudo npm install -g(容易把权限搞乱),改用 nvm 管理 Node 版本、或者把 npm 全局目录改到用户自己有权限的路径,一次性解决类似问题反复出现的根源。公司电脑装不上、报网络错误,大概率是内网代理没配好,先确认 npm config get proxy 有没有指向能用的代理。

第二步:跑通第一个任务

进入会话后,直接用自然语言说你想干什么。最经典的三类用法:

1. 解释一条你看不懂的命令

解释一下 tar -xzvf archive.tar.gz 每个参数是什么意思

它会逐个拆解参数,比你去翻 man 手册快得多。这是新手最该先用的功能——把终端当成一个随时能问的老师

2. 让它直接改代码

把当前目录下的 utils.js 改成 ESM 模块语法

它会读文件、给出改动方案,执行前通常会让你确认,同意后才落盘。涉及写文件、删文件、跑命令的操作都有这一道确认,避免它擅自搞坏你的仓库。

3. 让它跑一个完整任务

给这个项目加上 ESLint,用推荐规则,并修掉现有的报错

它会规划步骤:装依赖 → 生成配置 → 跑 lint → 逐个修复,每一步执行命令前请你确认。这就是它和补全工具的本质区别——它会动手,而不只是给建议

4. 配合 git 处理琐碎但必须做的事

写 commit message、定位是哪次提交引入的 bug,这类事花时间又没什么技术含量,正好交给它:

根据当前的 git diff 帮我写一条符合 conventional commits 规范的提交信息
用 git bisect 帮我找出是哪次提交让登录接口开始 500,测试脚本是 npm test

第二个例子会跑得慢一些,因为它要反复切换提交、跑测试、判断是否复现,但省下的是你自己手动二分排查的半小时。生成 PR 描述同理,让它读 diff 之后按团队模板输出,比自己憋标题快。

进阶用法与关键配置

跑顺第一个任务后,这几个能力值得掌握:

  • 多轮对话:任务没一次到位很正常,直接追问”第 3 步报错了,看下日志”,它会接着上下文继续,不用重头说。
  • 指定上下文范围:明确告诉它”只改 src/ 下的文件”,比让它满仓库扫更准更快。
  • 审批模式:默认每个危险操作都要你点确认。如果你在做批量自动化、信得过当前任务,可以开放更自动的审批级别——但生产仓库别图省事关掉确认,具体开关以官方文档为准。
  • 配合 git 用:让它干活前先 git commit 或开新分支,万一改坏了一键回滚,比任何审批都靠谱。

它也支持通过 MCP(模型上下文协议)接外部工具和数据源,扩展能查数据库、调接口等能力,配置方式以官方文档为准。举个实际用法:接上 GitHub 官方的 MCP server 之后,你可以直接在会话里说”看下 3 号仓库最近 5 个 Issue 里有没有和这个报错相关的”,它能直接查 Issue 列表回答你,不用你切到浏览器再搜一遍。

  • 恢复上次会话:任务没跑完就退出了,不用把上下文再讲一遍,用恢复会话的方式接着上次的进度继续(具体命令以官方文档为准),这一点在跑耗时较长的多步任务时很实用。
  • 权衡审批级别和风险:把审批开得越松,任务跑得越快,但对应的风险也越高——批量重构、跑迁移脚本这种”一步错步步错”的活,宁可多点几次确认;只是查资料、读日志这种只读操作,可以放心让它自己跑。判断标准很简单:这一步如果出错,你能不能一眼看出来、能不能一条命令回滚,回答是”能”才考虑放开审批。

新手常见坑

  • 以为它是补全工具:它不在编辑器里给你弹提示,而是在终端跟你对话干活。想边写边补全,请用 IDE 版。
  • 不开新分支就让它批量改:AI 改错的概率永远存在,改前必 commit 是底线。
  • 一句话塞太多需求:“重构整个项目并加测试再部署”这种大锅饭,不如拆成几轮、每轮一个明确小目标。
  • 闭眼狂点确认:执行前的确认是给你审查用的,看清它要跑什么命令再同意,别把确认当成走过场。
  • 忘了它要联网和订阅:没有可用的 Copilot 授权或网络不通,CLI 起不来,这不是 bug。
  • 让它读带密钥的文件.env、云服务凭证这类文件里如果有真实密钥,最好提前排除在它能访问的范围之外,或者干脆把密钥换成占位符再让它读——排查问题不需要真凭证,泄露的风险却是实打实的。

常见问题

Copilot CLI 收费吗? 它依附于你的 GitHub Copilot 订阅,账号有可用授权就能用,CLI 本身不单独额外收费。具体订阅档位和包含范围以 GitHub 官方为准。

它和 IDE 里的 Copilot 是同一个东西吗? 是同一套 Copilot 能力的不同入口。IDE 版主打编辑器内补全和对话,CLI 主打在终端里执行命令、改文件、跑多步任务,两者可以同时用,共用一个订阅。

Windows 上能用吗? 能。它是跨平台的命令行工具,Windows、macOS、Linux 都支持,Windows 下建议在支持的终端(如 Windows Terminal)里运行,具体环境要求以官方文档为准。

它会不会乱改我的代码? 默认每个写文件、删文件、跑命令的操作执行前都需要你确认,你能看清它要做什么再决定。最稳妥的做法是让它动手前先建分支或 commit,出问题随时回滚。

和 Claude Code、Cursor 这类终端/IDE agent 比怎么选? 它们都是”AI 帮你动手”的同类工具。深度对比可以看 AI 编程工具横评。简单说:已经在用 GitHub 生态、买了 Copilot,CLI 是顺手的零成本扩展;想要更强的自主任务能力,再去横向比 Claude CodeCursor 这些。

能不能放进 CI 流程里自动跑? 理论上可以通过非交互方式调用,让它在流水线里做代码审查、自动修复一类的固定任务,但审批确认机制天然是为人机交互设计的,放进无人值守的 CI 需要额外考虑权限收紧和失败回滚策略,具体支持程度和参数以官方文档为准。稳妥的做法是先在本地跑熟一个任务的完整流程,确认它每一步的产出都可控,再考虑搬进 CI。

👉 看看我们的 AI 编程实战体系课,或逛 AI 编程教程大全 把基本功打扎实。

想系统学会用 AI?报名体系课或加入会员,照着学、照着用。