Skip to content

GitHub Copilot CLI 是一款在终端中使用的 AI 编程代理,支持自然语言完成本地代码任务和 GitHub.com 操作(PR 管理、Issue 等)。它既可以交互对话,也可以通过 --autopilot 全自动运行,还支持通过 MCP Server、自定义代理、Hooks 等机制深度扩展——是 Claude Code CLI 之外另一个成熟的终端 AI 开发工具选项。

GitHub Copilot CLI 完整介绍:终端 AI 编程代理核心概念

什么是 Copilot CLI

GitHub Copilot CLI 让你直接在终端里用自然语言完成开发任务,无需切换到 IDE 或浏览器。典型使用场景:

本地任务

  • 修改代码:"把所有 H1 标题的背景色改成深蓝色"
  • 查看变更历史:"显示 CHANGELOG.md 最近 5 次修改"
  • 提交代码:"把这个仓库的修改提交"
  • 诊断问题:"你刚才说应用在 localhost:3002 运行正常,但实际上…"

GitHub.com 操作

  • 列出 PR/Issue:"列出我的所有 Open PR"
  • 从 URL 处理 Issue:直接粘贴 Issue 链接,让 Copilot 开始处理
  • 创建 PR:"把这个文件改动提交并创建一个 PR"
  • 审查 PR:"检查 PR #57575 的修改"

支持平台

  • Linux
  • macOS
  • Windows(通过 PowerShell 和 WSL)

使用模式

交互模式

bash
copilot

启动一个持续对话的会话,支持:

  • 普通模式:逐步确认,适合探索和调整
  • Plan Mode(按 Shift+Tab 切换):AI 先生成计划,你批准后再执行
  • Autopilot Mode(再次 Shift+Tab):自主完成多步骤任务,无需逐步确认

编程(非交互)模式

bash
# 直接执行任务
copilot -p "显示本周的所有 Git 提交并生成摘要" --allow-tool='shell(git)'

# 结合脚本输出
./generate-options.sh | copilot

使用 --allow-all-tools 时,Copilot 拥有与当前用户相同的系统权限,需谨慎。

自动上下文管理

Copilot CLI 会自动管理上下文窗口:

  • 自动压缩:上下文即将满时自动压缩历史
  • /compact:手动压缩上下文,保留关键信息
  • /context:查看当前上下文使用量和 token 消耗情况

扩展与自定义

Copilot CLI 提供了丰富的扩展机制:

扩展方式说明
自定义指令AGENTS.md.github/copilot-instructions.md 等,自动加载的规则文件
Skills针对特定任务的指令文件,可手动触发或自动匹配
MCP Servers接入外部服务(数据库、API、日历等)的工具集
Hooks在会话生命周期事件(工具调用前后、会话开始/结束)执行自定义 shell 命令
自定义代理针对特定领域的专项代理配置(含独立权限和工具集)
Plugins打包分发以上扩展能力的安装包(适合团队统一配置)

权限控制

Copilot CLI 需要你明确授权才能执行工具调用:

bash
# 允许所有工具(完全信任模式)
copilot --allow-all-tools

# 只允许指定工具
copilot --allow-tool='shell' --allow-tool='write'

# 拒绝特定危险操作
copilot --allow-all-tools --deny-tool='shell(git push)' --deny-tool='shell(rm -rf)'

安全建议:在虚拟机、容器或专用沙箱环境中运行,并严格限制允许的工具集。

模型选择

默认模型:Claude Sonnet 4.5(通用编程能力与速度的平衡)

切换模型:

bash
# 会话中切换
/model claude-opus-4-7

# 启动时指定
copilot --model claude-opus-4-7

使用自定义模型(BYOK)

通过环境变量接入自定义模型提供商:

bash
export COPILOT_PROVIDER_BASE_URL="https://api.your-provider.com/v1"
export COPILOT_PROVIDER_TYPE="openai"  # openai | azure | anthropic
export COPILOT_PROVIDER_API_KEY="your-api-key"
export COPILOT_MODEL="your-model-name"

要求:模型必须支持工具调用(tool calling)流式输出(streaming),且上下文窗口至少 128k tokens。

通过 ACP 协议集成

Copilot CLI 支持 ACP(Agent Communication Protocol),这是与 AI 代理交互的开放标准,允许将 Copilot CLI 集成到更大的自动化系统中。

与 Claude Code CLI 的对比

如果你在评估 Copilot CLI 还是 Claude Code:

特性Copilot CLIClaude Code CLI
模型默认Claude Sonnet(可切换)Claude(Anthropic 原生)
GitHub 集成原生支持(PR/Issue 操作)需通过工具或 MCP
计费方式Copilot 订阅Claude API 单独计费
定制扩展Skills/Plugins/HooksCLAUDE.md/MCP Servers
快照回滚内置(Esc 键)需手动 Git 操作

常见问题

Q: Copilot CLI 和 IDE 里的 Copilot 哪个更强大?

A: 两者侧重不同。IDE Copilot 专注于代码补全和 Chat;CLI 更适合自动化任务、多步骤操作、GitHub 工作流集成,以及需要完整 shell 权限的任务。

Q: 可以在没有 GitHub 仓库的目录中使用吗?

A: 可以。Copilot CLI 可以在任何目录运行,不强制要求是 Git 仓库。但某些 GitHub 功能(如 PR 管理)需要仓库上下文才能工作。

Q: 和 ChatGPT/Claude.ai 网页版相比有什么优势?

A: Copilot CLI 直接运行在你的开发环境中,可以访问本地文件、执行 shell 命令、读取 Git 历史——这些是网页 AI 无法做到的。它是"能真正干活"的代理,而不只是聊天界面。