GitHub Copilot CLI 怎么用?终端里的 AI 编程
很多人用 GitHub Copilot 只停留在编辑器里写代码补全,其实它还有一个被低估的形态——终端原生的 Copilot CLI。本文带你从安装、登录到跑通第一个任务,把 GitHub Copilot 装进命令行,让 AI 帮你解释命令、改代码、跑任务,并讲清它和 IDE 版到底差在哪。
GitHub Copilot CLI 是什么,和 IDE 版有什么不一样
GitHub Copilot CLI 是一个运行在终端里的 AI 编程助手,你用自然语言提需求,它直接读你的代码、执行命令、改文件,再把结果反馈给你。 它不是补全工具,而是一个能在 shell 里跟你来回对话、动手干活的 agent。
和 IDE 版(VS Code、JetBrains 里那个)的核心区别:
| 维度 | IDE 版 Copilot | Copilot 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 Code、Cursor 这些。
能不能放进 CI 流程里自动跑? 理论上可以通过非交互方式调用,让它在流水线里做代码审查、自动修复一类的固定任务,但审批确认机制天然是为人机交互设计的,放进无人值守的 CI 需要额外考虑权限收紧和失败回滚策略,具体支持程度和参数以官方文档为准。稳妥的做法是先在本地跑熟一个任务的完整流程,确认它每一步的产出都可控,再考虑搬进 CI。
👉 看看我们的 AI 编程实战体系课,或逛 AI 编程教程大全 把基本功打扎实。