GitHub Copilot 不只在编辑器里补全代码。CLI 形态把它带进终端:你可以直接让它解释命令、生成脚本、切换更主动的 Agent 工作方式,甚至在提交前让它帮你扫一遍改动。对每天在 shell、Git 和项目目录之间切换的开发者来说,这会改变“查文档、拼命令、读 diff”的节奏。
先把入口装稳:确认你到底在用哪个 CLI
不同环境里 GitHub Copilot 的终端入口可能不同:有的团队使用 GitHub CLI 扩展,有的环境提供独立的 copilot 命令。不要靠记忆硬猜参数,先用 --help 确认当前版本支持什么。
可以这样实践:
# 方式 A:通过 GitHub CLI 扩展安装,适合已经使用 gh 的开发机
gh auth login
gh extension install github/gh-copilot
gh copilot --help
# 方式 B:如果你的环境提供独立 copilot 命令,先确认版本和帮助
copilot --help
运行前需要替换或确认两件事:你已经有 GitHub Copilot 权限;你的终端已经登录到正确的 GitHub 账号。企业环境还要注意组织策略,管理员可能限制 CLI 或 Agent 能力。
从“问一句”开始,而不是一上来交给它改仓库
CLI 最适合处理短、明确、上下文足够的问题。例如解释一条陌生命令、把自然语言变成 shell 命令、给现有错误日志找方向。
可以这样实践:
# 解释命令:适合读脚本、读 CI 日志时使用
gh copilot explain 'find . -name "*.py" -not -path "*/.venv/*" -print0 | xargs -0 ruff check'
# 生成命令:先让它建议,再人工确认后执行
gh copilot suggest 'create a tar.gz archive of ./dist and include the current git short sha in the file name'
这里的关键不是“让 Copilot 直接跑命令”,而是把它当作命令草稿生成器。涉及删除、权限、网络、生产数据的命令,先读懂再执行。终端工具的危险之处在于:一条错误命令也很高效。
Agent 模式适合连续任务,但边界要清楚
摘要里提到切换 Agent modes,这说明 Copilot CLI 不只是单轮问答,还可以进入更连续的工作方式。Agent 模式通常更适合“看项目、拆任务、改多处文件、验证结果”这类流程;普通 prompt 更适合“解释、建议、生成一条命令”。
由于 CLI 版本和命令形态可能变化,下面给出一个可改造的实践脚本:它不会假设具体 Agent 参数,而是先检查帮助,再提醒你选择当前版本支持的模式。
#!/usr/bin/env bash
set -euo pipefail
if command -v copilot >/dev/null 2>&1; then
echo 'Detected standalone copilot CLI'
copilot --help
echo
echo 'Now choose the agent or interactive mode shown by your installed version.'
elif gh extension list | grep -q 'github/gh-copilot'; then
echo 'Detected gh copilot extension'
gh copilot --help
echo
echo 'Use the subcommands shown above, such as explain or suggest, and check whether your version exposes agent-style workflows.'
else
echo 'No Copilot CLI entry found. Install github/gh-copilot or your organization-approved Copilot CLI package first.'
exit 1
fi
把它保存为 check-copilot-cli.sh 后运行:
chmod +x check-copilot-cli.sh
./check-copilot-cli.sh
使用 Agent 模式时建议给它一个很窄的任务,例如“只修改测试文件”“只分析 diff,不写文件”“生成迁移计划但不要执行命令”。这类边界能减少意外改动,也更方便你 review。
在提交前让 CLI 参与代码审查
终端里的 Copilot 很适合和 Git diff 配合。它不应该替代 code review,但可以提前发现低级问题:忘记处理错误、测试缺口、命名不一致、潜在破坏性命令等。
可以这样实践:
# 查看当前未提交改动
git diff --stat
git diff > /tmp/current.diff
# 让 Copilot 聚焦审查,而不是泛泛总结
gh copilot suggest 'review /tmp/current.diff for likely bugs, missing tests, risky shell commands, and backward compatibility issues. Return findings ordered by severity.'
如果你的 CLI 支持把文件内容直接作为上下文传入,可以改成版本对应的文件参数。无论哪种方式,审查输出都要回到源码里验证:Copilot 可能指出真实风险,也可能误读框架约定或项目背景。
采用建议:把它放进低风险、高频率的位置
适合优先落地的场景:解释陌生命令、生成一次性脚本、读 CI 报错、总结 diff、准备 review checklist。不建议一开始就让它直接操作生产环境、批量重写核心模块,或在没有测试的仓库里做大范围 Agent 修改。
一个实用检查清单:
- 安装后先跑
--help,确认当前版本的命令和 Agent 能力。 - 对生成的 shell 命令逐段阅读,特别关注
rm、chmod、curl | sh、云资源删除命令。 - Agent 任务要限定目录、文件类型和是否允许写入。
- 审查类 prompt 要要求“按严重程度列出问题”,避免只得到漂亮摘要。
- 最终判断仍以测试、代码审查和项目约束为准。
用得好的 Copilot CLI 像一个坐在终端旁边的助手:它能加快查找和草拟,但你仍然负责按下回车键。