---
title: "Copilot CLI 是什么"
description: "说明 GitHub Copilot CLI 的交互和非交互模式、Plan、自动上下文、定制、模型和安全边界。"
verifiedAt: "2026-05-06"
---

GitHub Copilot CLI 是终端里的 AI 编程助手。官方概念页说明，它可以回答问题、写代码和调试、与 GitHub.com 互动，例如让 Copilot 修改项目并创建 pull request。

它不是旧版 `gh copilot` 的同义词，也不只是“命令解释”。这套 CLI 以 `copilot` 命令启动，支持 interactive 和 programmatic 两种界面。

> [!TIP]
> **阅读目标**：读完本章，你应该能判断 Copilot CLI 适合哪些终端任务，以及哪些权限必须人工控制。

## 1. 支持系统和可用范围

2026-05-06 核验时，官方文档说明：

- Copilot CLI 可用于所有 Copilot plans。
- 如果你通过组织获得 Copilot，组织设置里必须启用 Copilot CLI policy。
- 支持 Linux、macOS，以及 Windows 的 PowerShell 和 Windows Subsystem for Linux。

```mermaid
flowchart TD
    CLI["copilot"] --> Interactive["Interactive interface"]
    CLI --> Programmatic["Programmatic interface"]
    Interactive --> Ask["ask / execute"]
    Interactive --> Plan["plan mode"]
    Interactive --> Auto["autopilot"]
    Programmatic --> Prompt["-p / --prompt"]
    Prompt --> Flags["allow / deny tool flags"]
    Ask --> Review["人工 review"]
    Plan --> Review
    Auto --> Review
    Flags --> Review

    style Plan fill:#dbeafe,stroke:#2563eb,stroke-width:2px
    style Auto fill:#fef3c7,stroke:#d97706,stroke-width:2px
    style Review fill:#dcfce7,stroke:#16a34a,stroke-width:2px
```

## 2. Interactive interface

输入 `copilot` 启动交互式会话。你可以和 Copilot 对话、让它执行一个或多个任务，也可以继续 steer conversation。

官方说明 interactive interface 有默认 ask/execute mode，也有 plan mode。按 `Shift` + `Tab` 可以在模式之间切换。Plan mode 会先分析请求、提出澄清问题、构建计划，然后再写代码，适合复杂多步骤任务。

适合：

- 需要你边看边确认的代码改动。
- 需要多轮澄清的任务。
- 需要先 Plan 再执行的高风险变更。

## 3. Programmatic interface

可以用 `-p` 或 `--prompt` 直接把 prompt 传给 CLI，让它完成一次任务后退出。

```bash
copilot -p "列出本周 main 分支上的所有 commit" \
  --allow-tool='shell(git)'
```

也可以把脚本输出的 CLI options pipe 给 `copilot`。这种方式适合自动化，但必须更谨慎配置工具权限，因为错误命令会在无人盯守时造成副作用。

## 4. 定制能力

官方概念页列出 Copilot CLI 可定制能力：

- **Custom instructions**：给项目构建、测试、验证方式补充上下文。
- **MCP servers**：连接外部数据源和工具。
- **Custom agents**：针对 code review、文档、安全等任务创建专门 agent。
- **Hooks**：在 agent 执行关键点运行 shell commands。
- **Skills**：用说明、脚本和资源增强特定任务能力。
- **Copilot Memory**：让 Copilot 记住仓库里的 coding conventions、patterns 和 preferences。

这些能力适合成熟团队，不应在没有权限和审查策略前一次性全开。

## 5. 自动上下文管理

官方说明 CLI 会自动管理 conversation context：

- 接近 token limit 时会自动压缩历史。
- 可以用 `/compact` 手动压缩。
- `/context` 会显示 token usage breakdown。

这让会话更长，但不代表历史上下文一定干净。无关任务仍然应该开新 session。

## 6. 安全边界

官方安全说明很明确：Copilot CLI 可以代表你执行任务，包括修改文件和运行 shell commands。你应该像自己直接在终端运行命令一样审查。

关键规则：

- 只在可信目录启动 CLI。
- 不要从 home directory 或含敏感数据的目录启动。
- 工具 approval 不要随手给 session-wide permission。
- 自动 approval 选项会增加数据丢失和破坏性操作风险。
- 需要自动化时，优先放进容器、虚拟机或受限环境。

<details>
<summary>深读：默认模型和自带模型供应商</summary>

官方页面在 2026-05-06 核验时写明：Copilot CLI 默认模型是 Claude Sonnet 4.5，但 GitHub 保留更改默认模型的权利。可以用 `/model` 或 `--model` 切换可用模型。

CLI 还可以通过环境变量接入自己的 model provider，例如 OpenAI-compatible endpoint、Azure OpenAI、Anthropic 或本地 Ollama。模型需要支持 tool calling 和 streaming，官方建议 context window 至少 128k tokens。
</details>

## 本章自检

完成本章后，用这 4 个问题检查：

1. 当前任务应该用 interactive、programmatic、plan 还是 autopilot？
2. 当前目录是否可信，是否含敏感文件？
3. 需要哪些工具权限，哪些命令必须拒绝？
4. 输出是否能通过 diff、测试、PR 或 rollback 验收？

通过标准：你能把 CLI 当成受控终端 agent，而不是不受限制的 shell 自动执行器。

## 官方来源

- [About GitHub Copilot CLI](https://docs.github.com/en/copilot/concepts/agents/copilot-cli/about-copilot-cli) —— 官方概念页。
- [Getting started with GitHub Copilot CLI](https://docs.github.com/en/copilot/how-tos/copilot-cli/cli-getting-started) —— 官方快速开始。
- [Responsible use of GitHub Copilot CLI](https://docs.github.com/en/copilot/responsible-use/copilot-cli) —— 官方 responsible use 页面。

## 接下来去哪

<Cards>
  <Card title="安装、认证和配置" description="继续把 CLI 装好、登录、信任目录并配置工具权限。" href="/docs/github-copilot/official/05-copilot-cli/install-auth-config" />
  <Card title="委派任务" description="继续区分本地 autopilot 和云端 /delegate。" href="/docs/github-copilot/official/05-copilot-cli/delegate-tasks" />
</Cards>
