2 minute read

GitHub Copilot CLI 是 GitHub 推出的命令行 AI 编程助手,目前处于公开预览阶段。它将 GitHub Copilot 的强大 AI 能力直接带入终端,让开发者无需离开命令行环境即可获得智能编程辅助。

🚀本篇笔记所对应的视频:

🔥AI智能体相关视频

主要特性

  • 终端原生开发: 直接在命令行中与 Copilot 编程代理协作,无需上下文切换
  • GitHub 深度集成: 使用自然语言访问仓库、问题和拉取请求,使用现有 GitHub 账户认证
  • 代理能力: 构建、编辑、调试和重构代码,AI 协作者可以规划和执行复杂任务
  • MCP 扩展性: 默认集成 GitHub 的 MCP 服务器,支持自定义 MCP 服务器扩展功能
  • 完全控制: 在执行前预览每个操作,没有明确批准不会执行任何操作

系统要求

支持的操作系统

  • Linux
  • macOS
  • Windows (实验性支持,推荐使用 PowerShell v6+)

软件依赖

  • Node.js v22 或更高版本
  • npm v10 或更高版本
  • (Windows 用户) PowerShell v6 或更高版本
  • 活跃的 Copilot 订阅 (Pro, Pro+, Business 或 Enterprise)

🚀环境配置

✅macOS版本


# 安装nvm(你的命令是正确的)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

# 重新加载shell配置
source ~/.zshrc

# 如果使用bash而不是zsh,则使用:
# source ~/.bashrc

# 安装Node.js 22
nvm install 22

nvm use 22

# 验证版本
node --version

# 设为默认版本
nvm alias default 22

✅windows版本


# **下载安装包,**访问:[https://github.com/coreybutler/nvm-windows/releases](https://github.com/coreybutler/nvm-windows/releases)

# 查看可安装的Node.js版本
nvm list available

# 安装Node.js 22
nvm install 22.20.0

# 使用Node.js 22
nvm use 22.20.0

# 查看已安装版本
nvm list

订阅要求

  • 需要有效的 GitHub Copilot 订阅
  • 如果通过组织或企业使用 Copilot,管理员必须在设置中启用 Copilot CLI

安装指南

方法一:全局 npm 安装 (推荐)

npm install -g @github/copilot

方法二:GitHub CLI 扩展安装

# 安装 GitHub CLI (如果尚未安装)
# Windows (Winget):
winget install --id GitHub.cli

# macOS (Homebrew):
brew install gh

# 安装 Copilot CLI 扩展
gh extension install github/gh-copilot

初始设置

1. 启动 Copilot CLI

copilot

首次启动会显示动画横幅。如需再次查看横幅,使用:

copilot --banner

2. 身份验证

如果未登录 GitHub,会提示使用 /login 命令:

/login

按屏幕指示完成身份验证。

3. 信任目录

首次在某个目录启动时,需要确认信任该目录及其子目录中的文件。可以选择:

  • 仅当前会话信任
  • 当前及未来会话信任

使用方式

交互式模式 (默认)

在包含代码的文件夹中启动:

copilot

编程式模式 (单次命令)

copilot -p "你的提示" --allow-all-tools

模型选择

  • 默认:Claude Sonnet 4
  • 切换到 GPT-5:
COPILOT_MODEL=gpt-5 copilot
# Windows:
set COPILOT_MODEL=gpt-5
copilot

实用功能

本地任务示例

代码修改

将 H1 标题的背景颜色改为深蓝色

文件分析

显示 CHANGELOG.md 文件的最后 5 次更改

Git 操作

提交这个仓库的更改
回滚最后一次提交,保留未暂存的更改

项目创建

使用 create-next-app 和 tailwind CSS 创建一个 Next.js 应用
应用应该是一个使用 GitHub API 数据的仪表板

GitHub 集成任务

拉取请求管理

列出我的开放 PR
合并 octo-org/octo-repo 中我创建的所有开放 PR
关闭 octo-org/octo-repo 的 PR #11

问题处理

我被分配了这个问题:https://github.com/octo-org/octo-repo/issues/1234
在合适命名的分支中开始处理

创建 PR

在这个仓库的根目录添加一个名为 user-info.js 的 Node 脚本
输出运行脚本的用户信息,创建 PR 将此文件添加到 GitHub 仓库

安全考虑

信任目录

  • 仅在信任的目录中启动 Copilot CLI
  • 避免从主目录启动
  • 不要在包含敏感数据的目录中使用

工具授权选项

# 允许所有工具 (谨慎使用)
--allow-all-tools

# 拒绝特定工具
--deny-tool 'shell(rm)'

# 允许特定工具
--allow-tool 'write'

组合使用示例

copilot --allow-all-tools --deny-tool 'shell(rm)' --deny-tool 'shell(git push)'

常用斜杠命令

  • /login - 登录 GitHub 账户
  • /feedback - 提交反馈
  • /mcp - 查看 MCP 服务器
  • /help - 获取帮助

使用配额

每次向 Copilot CLI 提交提示都会减少一次月度高级请求配额。

别名设置 (GitHub CLI 扩展版)

Bash/Zsh

echo 'eval "$(gh copilot alias -- bash)"' >> ~/.bashrc
# 或
echo 'eval "$(gh copilot alias -- zsh)"' >> ~/.zshrc

PowerShell

$GH_COPILOT_PROFILE = Join-Path -Path $(Split-Path -Path $PROFILE -Parent) -ChildPath "gh-copilot.ps1"
gh copilot alias -- pwsh | Out-File ( New-Item -Path $GH_COPILOT_PROFILE -Force )
echo ". $GH_COPILOT_PROFILE" >> $PROFILE

设置后可以使用简化命令:

  • ghcs = gh copilot suggest
  • ghce = gh copilot explain

最佳实践

提示编写技巧

  • 保持提示简洁明确
  • 包含具体的上下文信息
  • 明确说明期望的结果
  • 提供必要的约束条件

安全使用

  • 始终检查建议的命令
  • 在生产环境中谨慎使用自动批准选项
  • 定期更新 CLI 以获取最新功能和修复

工作流优化

  • 在项目根目录启动以获得最佳上下文
  • 结合 Git 工作流使用
  • 利用 GitHub 集成功能提高效率

故障排除

常见问题

  • 认证失败: 检查 GitHub 登录状态和权限
  • 命令不执行: 确认已批准必要的工具使用
  • 网络连接: 参考 GitHub Copilot 网络故障排除指南

获取帮助

  • 使用 /feedback 命令提交反馈
  • 访问官方文档: https://docs.github.com/copilot/concepts/agents/about-copilot-cli
  • 在项目仓库中提交问题: https://github.com/github/copilot-cli

注意事项

  • 项目目前处于公开预览阶段,功能可能会发生变化
  • 定期更新以获取最新功能
  • 始终验证 AI 生成的代码和建议
  • 在重要操作前仔细检查建议的命令

总结

GitHub Copilot CLI 是一个强大的终端 AI 助手,可以显著提高开发效率。通过自然语言交互,开发者可以快速完成代码编写、调试、Git 操作和 GitHub 集成任务。在使用时要注意安全性,始终检查 AI 建议的操作,并在信任的环境中使用。

Comments