跳到正文

目录

GitHub Copilot CLI:将 Copilot 编码能力带入终端

GitHub Copilot CLI:将 Copilot 编码能力带入终端

把网页端的 Copilot coding agent 搬进本地终端,是 GitHub Copilot CLI 唯一要做的事。它不是代码补全工具,而是一个在终端里跑的编码代理:读你的仓库、改代码、跑命令、提交 PR,每一步先给你看,批准了才动。这款工具 2026 年 2 月底正式 GA,到本文更新时已迭代到 v1.0.88,官方仓库积累了 11,195 Stars、1,935 Forks(2026-09-24 口径)。

判断要不要用它,其实就一条:你的工作是否长在 GitHub 生态里。是,它值得认真试;不是,Claude Code 或 Codex CLI 可能更对味。

系统定位

Copilot CLI 在 GitHub 开发者工具矩阵中的位置:

工具形态交互方式
GitHub Copilot(IDE 插件)编码补全即时补全、inline prompt
GitHub Copilot(网页端)编码代理自然语言对话
GitHub Copilot CLI编码代理终端 TUI + slash 命令
GitHub ActionsCI/CD 自动化YAML 配置

差异化集中在四点:本地终端运行、不绑 IDE、GitHub 上下文开箱即用、每步预览确认。

核心能力

终端原生开发。 直接在终端里与 AI 交互,不切换浏览器或 IDE。适合习惯命令行操作、在远程服务器上工作、或想把 AI 融进现有终端工作流的开发者。

开箱即用的 GitHub 集成。 内置 GitHub MCP 服务器,安装后即可:用自然语言查询仓库文件、Issue 和 PR 状态;在对话中直接引用仓库上下文,不用手动贴代码;认证继承现有 GitHub 账号,没有额外的登录流程。

自主执行复杂任务。 给定一个需求,它可以规划执行路径、写代码、运行命令、写 commit message,全流程不离开终端。

每步预览确认。 默认每个动作先展示预览,显式批准才执行——README 的原话是"nothing happens without your explicit approval"。这是它与"全自动 agent"路线最根本的分歧。

MCP 扩展。 除内置的 GitHub MCP 服务器外,可以接入自己维护的 MCP 服务;1.0.85 起还有了 copilot mcp、copilot skill、copilot plugin 三组子命令,插件、技能、MCP 服务器的启停管理不再依赖交互界面。

Autopilot 实验模式。 在实验模式下,代理持续自主工作直到任务完成,不需要逐步批准。1.0.86 起任务完成后会自动停下,不会没完没了地继续。

LSP 支持。 接入 Language Server Protocol 服务器后,代码跳转、悬停提示、诊断这些能力可以喂给代理。LSP 服务器需要自行安装,见下文配置一节。

一次典型任务:从 issue 到 PR

机制罗列不容易有体感,看一条真实的任务路径——假设你领到一个带复现步骤的 bug issue:

  1. 在仓库根目录运行 copilot。首次运行会征询是否启用沙箱,登录一次后后续会话直接复用认证。
  2. 用自然语言描述任务并引用 issue 编号。内置的 GitHub MCP 服务器让代理自己去读 issue 和关联代码,不需要你粘贴上下文。
  3. 复杂任务先让它出计划。计划以卡片呈现,批准后才动手,Ctrl+E 可以展开完整计划;/model plan 还能给计划阶段单独指定模型。
  4. 进入执行,每个文件修改和 shell 命令都先展示预览。命令默认跑在操作系统沙箱里,被沙箱策略拦截的命令可以批准后在沙箱外重跑。
  5. 方向不对就 /rewind——它只回滚 Copilot 改过的文件,不依赖 git 状态,可以选择只回滚对话或连文件一起回滚。
  6. 改动需要隔离时,/worktree 把会话切进新建的 worktree,/worktree new 直接在新 worktree 里开新会话,实验分支互不干扰。
  7. 收尾让代理提交 commit、创建 PR。嫌确认太频繁就 Shift+Tab 切到 Autopilot,让它一口气跑完,完成后停下来等你验收。

这条路径里的每个环节都是当前版本已文档化的机制,组合起来就是 Copilot CLI 的日常形态。

安装方式

# 官方安装脚本(macOS / Linux,也支持 wget -qO-)
curl -fsSL https://gh.io/copilot-install | bash

# 指定版本和目录安装
curl -fsSL https://gh.io/copilot-install | VERSION="v0.0.369" PREFIX="$HOME/custom" bash

# Homebrew(macOS / Linux)
brew install copilot-cli
brew install copilot-cli@prerelease  # 预发布版

# WinGet(Windows)
winget install GitHub.Copilot
winget install GitHub.Copilot.Prerelease

# npm(跨平台)
npm install -g @github/copilot
npm install -g @github/copilot@prerelease

前置条件两条:有效的 Copilot 订阅(个人版或组织发放均可,Windows 还要求 PowerShell v6 以上);如果 Copilot 来自组织,需确认管理员没有在企业策略里禁用 Copilot CLI。

还有一个容易忽略的成本口径:每向代理提交一条 prompt,就消耗 1 个 monthly premium request 配额。重度使用前建议先看看自己的套餐额度。

认证方式

交互式登录

首次运行 copilot,未登录时会提示使用 /login 命令。1.0.77 起,本地终端默认走浏览器 OAuth 流程,远程或无头环境仍用设备码;也可以在 /login 里手动指定。

个人访问令牌(PAT)认证

适合自动化场景和交互式登录不便的服务器环境:

  1. 访问 https://github.com/settings/personal-access-tokens/new
  2. 在 Permissions 中添加 Copilot Requests 权限
  3. 生成令牌
  4. 通过环境变量 GH_TOKEN 或 GITHUB_TOKEN 传入(前者优先级更高)
export GH_TOKEN="your-fine-grained-pat-here"
copilot

1.0.81 又补了一条路:copilot login --with-token 直接从 stdin 读 token,脚本里更顺手。

基本用法

在包含代码的目录下启动:

copilot

首次启动有动画 banner,之后直接进对话界面;想再看 banner 用 copilot --banner。

模型选择

默认模型是 Claude Sonnet 4.5。运行 /model 打开模型选择器切换,也可以带模型 ID 直接指定。四个月里可选模型扩了一大圈:Claude Opus 5、GPT-5、GPT-6 Astra、Gemini 3.7 Flash、Grok 4.5、Kimi K3 都已支持,另有 auto 档让 CLI 随任务演进而自动选型。注意 /model 默认只对当前会话生效,想改默认值去 /config 里设。

实验模式与 Autopilot

copilot --experimental

或进入 CLI 后执行 /experimental。设置会持久化,之后启动不必再带 flag。Autopilot 就藏在实验模式里:交互界面按 Shift+Tab 切换模式,切过去后代理持续工作直到任务完成。1.0.79 起还支持 --plan 与 --mode autopilot 组合——先出计划,批准后自动实现,中间不等确认。

成本与状态查看

/usage 显示会话与周限额的进度条,1.0.85 起还能按模型拆分 AI Credit 消耗;/sandbox 查看当前沙箱策略、放行路径和网络规则。

LSP 配置

Copilot CLI 不自带 LSP 服务器,需要手动安装。以 TypeScript 为例:

npm install -g typescript-language-server

配置文件路径:

  • 用户级(对所有项目生效):~/.copilot/lsp-config.json
  • 仓库级(仅对本仓库生效):.github/lsp.json

配置格式示例:

{
  "lspServers": {
    "typescript": {
      "command": "typescript-language-server",
      "args": ["--stdio"],
      "fileExtensions": {
        ".ts": "typescript",
        ".tsx": "typescript"
      }
    }
  }
}

查看 LSP 状态:在交互会话中使用 /lsp 命令,或直接查看配置文件。

从 5 月到 9 月:这四个月发生了什么

本文初版写于 5 月,停在 v1.0.52。四个月过去,changelog 攒了两百多条更新,有几条主线值得回头补上。

沙箱成为默认防线。 1.0.74 起引入基于操作系统机制的命令沙箱,首次运行时征询开启;/sandbox 可以查看策略、按路径和网络规则放行。企业侧能用 MDM 下发沙箱策略,且只能收紧不能放宽。平台差异要注意:Linux 需要预装 slirp4netns、iptables 等依赖,macOS 上沙箱默认切断对 localhost 的访问——本地起 dev server 的测试会失败,需要在 /sandbox 里打开 Allow local network。

插件生态成形。 1.0.74 采纳 Open Plugin Spec v1,1.0.81 起 /plugin、/mcp、/skills 面板对所有用户开放。代理、技能、MCP 服务器、hooks、LSP 都能以插件形式分发,还支持自建 marketplace。.claude/settings.json 里的 marketplace 配置也能被读取,算是向 Claude 生态递的橄榄枝。

多会话与 worktree 并行。 1.0.79 起 Sessions 侧边栏支持同时管理多个会话,prompt 可以排队在当前任务结束后依序执行;/worktree 同期转正。配合 1.0.87 的 worktreePathTemplate(比如设成 ~/src/worktrees/{repo}/{branch}),并行开多条任务线是这套工具现在的主打玩法。

编辑体验补课。 1.0.85 给所有人开放了 Vim 模式(/vim 或 editorMode 设置);/permissions 可以直接切换审批模式;copilot 命令行解析在 1.0.85 移植到 Rust 语法,copilot <TAB> 的补全和子命令对齐了。

企业管控收口。 管理员可强制走托管设置、把登录限定到指定组织(forceLoginOrgs,1.0.83)、强制沙箱下限;1.0.88 起 ACP、AHP 和 server 模式的会话也纳入托管策略——之前这些模式是裸奔的。

性能修内功。 1.0.78 重写了会话恢复:官方基准里,230 MB、7.4 万事件的会话从约 10 秒降到 1 秒以内,峰值内存降到约四分之一。大仓库搜索在 1.0.79 换用微软的 tgrep(三语索引 grep)。

小处也有亮点:1.0.88 给 Ghostty 和 WezTerm 加了 OSC 777 原生通知,长任务跑完终端会自己弹通知。发版节奏维持在每周两三个版本,装完记得保持更新——README 也是这么劝的。

适用边界

适合的场景:

  • 日常在 GitHub 生态里工作,Issue、PR、code review 都在 GitHub 上
  • 习惯终端操作、不想切进 IDE 的开发者
  • 通过 SSH 在远程服务器上干活,需要本地形态的 AI 编码能力
  • 批量重命名、生成样板代码、自动化脚本这类重复性任务(Autopilot 模式尤其合适)

不适合的场景:

  • 只需要单行补全——IDE 插件更快更顺手
  • 没有 Copilot 订阅,或组织明确禁用 Copilot CLI(硬门槛)
  • 文化上无法接受"AI 执行命令"的团队——虽有每步预览,但摩擦感因团队而异

与 Claude Code、Codex CLI 的对照

三条并行的终端 AI 编码代理路线,定位各不相同(仓库官方描述与 2026-09-24 数据):

Copilot CLIClaude CodeCodex CLI
官方定位把 Copilot coding agent 带进终端理解代码库、在终端干活的 agentic 编码工具轻量终端编码代理
仓库 Stars11,195147,833126,222
模型策略多家聚合:默认 Claude Sonnet 4.5,可切 GPT、Gemini、Grok、Kimi 等Anthropic 系模型OpenAI 系模型
GitHub 上下文内置 GitHub MCP,登录即用依托 gh CLI 与 GitHub Actions 自行集成同左,需自行配置
预览确认默认每步批准可配置可配置

Stars 差距主要是入场时间造成的——Claude Code 和 Codex CLI 先发了大半年——但它确实说明生态位不同:后两者已经是独立产品线,Copilot CLI 目前仍是 Copilot 订阅的附属品。

选型建议随之而来:已订阅 Copilot 且工作在 GitHub 上,Copilot CLI 是阻力最小的选择,GitHub 上下文不用配置,订阅费用也已在套餐里。追求特定模型的深度调校,选对应厂商的 Claude Code 或 Codex CLI 更直接。三者可以共存——用 Copilot CLI 处理 GitHub 杂务,把重活留给趁手的另一个,不冲突。

结语

Copilot CLI 的四个月演进轨迹很清晰:从"网页代理的终端移植"长成了带沙箱、插件市场、多会话的完整工程工具。它的护城河不在模型——模型各家都在追新——而在那层开箱即用的 GitHub 上下文,和"每步预览、批准才动"的权限模型。对长在 GitHub 上的团队,这两点值得你给它一个试点仓库;其余情况,先看看自己每个月的 premium request 额度再决定也不迟。

参与讨论

使用 GitHub 登录。欢迎补充事实、异议与实践。