From 1350742fb6fddea5684ff532be28d909f409500c Mon Sep 17 00:00:00 2001 From: afanty2021 Date: Sat, 1 Nov 2025 20:06:46 +0800 Subject: [PATCH] repo wiki --- ...72\346\234\254\344\275\277\347\224\250.md" | 427 +++++++++++ ...05\344\270\216\351\205\215\347\275\256.md" | 700 ++++++++++++++++++ ...05\351\232\234\346\216\222\351\231\244.md" | 389 ++++++++++ ...70\345\277\203\345\212\237\350\203\275.md" | 312 ++++++++ ...30\346\233\264\346\227\245\345\277\227.md" | 353 +++++++++ ...56\344\270\216\347\216\257\345\242\203.md" | 498 +++++++++++++ ...71\347\233\256\346\246\202\350\277\260.md" | 427 +++++++++++ ...30\347\272\247\345\212\237\350\203\275.md" | 339 +++++++++ .../repowiki/zh/meta/repowiki-metadata.json | 1 + 9 files changed, 3446 insertions(+) create mode 100644 ".qoder/repowiki/zh/content/\345\237\272\346\234\254\344\275\277\347\224\250.md" create mode 100644 ".qoder/repowiki/zh/content/\345\256\211\350\243\205\344\270\216\351\205\215\347\275\256.md" create mode 100644 ".qoder/repowiki/zh/content/\346\225\205\351\232\234\346\216\222\351\231\244.md" create mode 100644 ".qoder/repowiki/zh/content/\346\240\270\345\277\203\345\212\237\350\203\275.md" create mode 100644 ".qoder/repowiki/zh/content/\347\211\210\346\234\254\345\217\230\346\233\264\346\227\245\345\277\227.md" create mode 100644 ".qoder/repowiki/zh/content/\351\205\215\347\275\256\344\270\216\347\216\257\345\242\203.md" create mode 100644 ".qoder/repowiki/zh/content/\351\241\271\347\233\256\346\246\202\350\277\260.md" create mode 100644 ".qoder/repowiki/zh/content/\351\253\230\347\272\247\345\212\237\350\203\275.md" create mode 100644 .qoder/repowiki/zh/meta/repowiki-metadata.json diff --git "a/.qoder/repowiki/zh/content/\345\237\272\346\234\254\344\275\277\347\224\250.md" "b/.qoder/repowiki/zh/content/\345\237\272\346\234\254\344\275\277\347\224\250.md" new file mode 100644 index 00000000..58150a22 --- /dev/null +++ "b/.qoder/repowiki/zh/content/\345\237\272\346\234\254\344\275\277\347\224\250.md" @@ -0,0 +1,427 @@ +# 基本使用 + + +**本文档中引用的文件** +- [README.md](file://README.md) +- [changelog.md](file://changelog.md) + + +## 目录 +1. [简介](#简介) +2. [系统要求](#系统要求) +3. [安装指南](#安装指南) +4. [首次启动与认证](#首次启动与认证) +5. [核心交互模式](#核心交互模式) +6. [模型选择与配置](#模型选择与配置) +7. [配额管理](#配额管理) +8. [典型使用场景](#典型使用场景) +9. [启动参数详解](#启动参数详解) +10. [故障排除](#故障排除) + +## 简介 + +GitHub Copilot CLI是GitHub Copilot的人工智能编码助手的终端版本,为开发者提供了在命令行环境中直接进行AI驱动的代码协作能力。该工具通过自然语言对话的方式,帮助开发者构建、调试和理解代码,同时深度集成了GitHub工作流。 + +### 核心特性 + +- **终端原生开发**:直接在命令行中与Copilot编码代理协作,无需上下文切换 +- **开箱即用的GitHub集成**:使用自然语言访问您的仓库、问题和拉取请求,所有操作都通过现有GitHub账户认证 +- **智能代理能力**:能够规划和执行复杂任务,支持构建、编辑、调试和重构代码 +- **MCP扩展性**:支持自定义MCP服务器以扩展功能 +- **完全控制**:每个操作都需要明确确认,确保安全可控 + +**章节来源** +- [README.md](file://README.md#L1-L18) + +## 系统要求 + +### 支持的操作系统 + +- **Linux** +- **macOS** +- **Windows** + +### 运行环境要求 + +- **Node.js** 版本 22或更高 +- **npm** 版本 10或更高 +- (仅限Windows)**PowerShell** 版本 6或更高 + +### 订阅要求 + +需要有效的GitHub Copilot订阅才能使用此CLI工具。如果您的组织或企业管理员已禁用该功能,则无法使用。 + +**章节来源** +- [README.md](file://README.md#L22-L39) + +## 安装指南 + +### 全局安装 + +使用npm全局安装GitHub Copilot CLI: + +```bash +npm install -g @github/copilot +``` + +### 验证安装 + +安装完成后,可以通过以下命令验证安装是否成功: + +```bash +copilot --version +``` + +这将显示当前安装的CLI版本号。 + +**章节来源** +- [README.md](file://README.md#L41-L43) + +## 首次启动与认证 + +### 启动CLI + +在包含代码的目录中启动GitHub Copilot CLI: + +```bash +copilot +``` + +### 首次启动体验 + +首次启动时,您将看到一个可爱的动画横幅。如果您希望再次看到这个横幅,可以使用`--banner`标志启动CLI。 + +```bash +copilot --banner +``` + +### 认证方式 + +#### 方法一:OAuth认证(推荐) + +如果尚未登录GitHub,系统会提示您使用`/login`斜杠命令进行认证。输入该命令并按照屏幕上的指示完成认证过程。 + +#### 方法二:个人访问令牌(PAT)认证 + +您也可以使用具有"Copilot Requests"权限的细粒度PAT进行认证: + +1. 访问 https://github.com/settings/personal-access-tokens/new +2. 在"权限"部分,点击"添加权限"并选择"Copilot Requests" +3. 生成您的令牌 +4. 将令牌添加到环境变量`GH_TOKEN`或`GITHUB_TOKEN`中(优先级顺序) + +### 认证状态检查 + +认证成功后,您可以随时检查当前的认证状态,并管理多个GitHub账户。 + +**章节来源** +- [README.md](file://README.md#L45-L73) + +## 核心交互模式 + +### 自然语言指令 + +GitHub Copilot CLI支持通过自然语言与AI代理进行交互。您可以: + +- 描述您想要实现的功能 +- 提出具体的编程问题 +- 请求代码解释和优化建议 +- 获取调试帮助 + +### 斜杠命令系统 + +CLI提供了丰富的斜杠命令来增强交互体验: + +#### 基础命令 + +- `/login` - 登录或切换账户 +- `/model` - 切换使用的AI模型 +- `/exit` 或 `/quit` - 退出CLI +- `/clear` - 清除当前会话上下文 +- `/feedback` - 提交反馈 + +#### 高级命令 + +- `/delegate` - 异步委托任务给Copilot编码代理 +- `/agent` - 使用自定义代理 +- `/usage` - 查看配额使用情况 +- `/terminal-setup` - 设置多行输入支持 + +### 文件交互 + +您可以使用`@`符号提及文件作为输入: + +```bash +@path/to/file.js +``` + +这将把指定文件的内容作为上下文提供给AI模型。 + +**章节来源** +- [changelog.md](file://changelog.md#L1-L20) +- [changelog.md](file://changelog.md#L259-L269) + +## 模型选择与配置 + +### 默认模型 + +GitHub Copilot CLI默认使用Claude Sonnet 4.5模型。该模型在代码理解和生成方面表现出色。 + +### 模型切换 + +使用`/model`斜杠命令轻松切换模型: + +```bash +/model +``` + +这将打开模型选择器,让您从可用的模型列表中进行选择。 + +### 可用模型 + +根据您的Copilot订阅类型,您可能可以访问以下模型: +- Claude Sonnet 4.5(默认) +- Claude Sonnet 4 +- GPT-5(视订阅情况而定) + +### 模型配置 + +每个模型都有特定的配额消耗倍数(目前所有支持的模型都是1x)。您可以使用以下命令查看当前使用的模型: + +```bash +/model +``` + +例如: +```bash +/model claude-sonnet-4.5 +``` + +**章节来源** +- [README.md](file://README.md#L65-L67) +- [changelog.md](file://changelog.md#L259-L269) + +## 配额管理 + +### Premium请求配额 + +每次向GitHub Copilot CLI提交提示时,都会消耗您每月的Premium请求配额。具体规则如下: + +- **每次请求**:消耗1个Premium请求配额 +- **配额限制**:基于您的Copilot订阅类型确定 +- **配额查看**:使用`/usage`命令查看当前使用情况 + +### 配额监控 + +CLI提供了多种方式来监控您的配额使用: + +```bash +/usage +``` + +该命令将显示: +- 当前会话的使用统计 +- 总体配额使用情况 +- 各模型的Token使用量 + +### 配额提醒 + +当对话上下文接近模型限制的20%剩余时,系统会发出警告,建议开始新的会话以避免上下文截断。 + +**章节来源** +- [README.md](file://README.md#L68-L73) +- [changelog.md](file://changelog.md#L223-L231) + +## 典型使用场景 + +### 场景一:代码生成 + +**需求**:创建一个新的Express.js路由处理函数 + +**交互过程**: +1. 描述需求:"创建一个用于处理用户注册的Express.js路由" +2. 提供上下文:`@routes/users.js` +3. 获取结果:AI生成完整的路由代码和必要的中间件 + +### 场景二:错误调试 + +**需求**:解决TypeError: Cannot read properties of undefined + +**交互过程**: +1. 提供错误信息:"运行测试时出现TypeError: Cannot read properties of undefined" +2. 添加相关文件:`@src/userService.js @test/userService.test.js` +3. 获取解决方案:AI分析代码并提供修复建议 + +### 场景三:代码理解 + +**需求**:理解复杂的业务逻辑 + +**交互过程**: +1. 选择关键文件:`@src/businessLogic.js` +2. 提问:"这段代码的主要业务逻辑是什么?" +3. 获取解释:AI提供详细的代码解释和业务流程说明 + +### 场景四:性能优化 + +**需求**:优化数据库查询性能 + +**交互过程**: +1. 提供基准代码:`@src/repository.js` +2. 指出问题:"查询速度太慢,需要优化" +3. 获取建议:AI提供索引优化、查询重写等建议 + +## 启动参数详解 + +### --banner + +显示启动横幅,即使不是首次启动也能看到欢迎界面。 + +```bash +copilot --banner +``` + +### --resume + +恢复最近关闭的会话。这是`--continue`标志的别名。 + +```bash +copilot --resume +``` + +### --continue + +继续最近结束的会话。 + +```bash +copilot --continue +``` + +### --screen-reader + +启用屏幕阅读器模式,优化无障碍体验。 + +```bash +copilot --screen-reader +``` + +### --enable-all-github-mcp-tools + +启用所有可用的GitHub MCP工具,而不是默认限制的工具集。 + +```bash +copilot --enable-all-github-mcp-tools +``` + +### --disable-parallel-tools-execution + +禁用工具的并行执行功能。 + +```bash +copilot --disable-parallel-tools-execution +``` + +### --stream + +控制输出流设置。默认启用,可设置为`off`禁用。 + +```bash +copilot --stream off +``` + +### --additional-mcp-config + +临时添加或覆盖MCP服务器配置。 + +```bash +copilot --additional-mcp-config '{"mcpServers": {"my-tool": {...}}}' +copilot --additional-mcp-config @/path/to/config.json +``` + +### --allow-all-paths + +允许访问所有路径,跳过权限确认。 + +```bash +copilot --allow-all-paths +``` + +### --allow-tool 和 --deny-tool + +控制允许或禁止的工具调用。 + +```bash +copilot --allow-tool "shell(*)" --deny-tool "shell(npm run *:*:*)" +``` + +**章节来源** +- [changelog.md](file://changelog.md#L98-L117) +- [changelog.md](file://changelog.md#L120-L132) + +## 故障排除 + +### 常见问题及解决方案 + +#### 认证问题 + +**问题**:登录后仍然提示未认证 +**解决方案**:检查环境变量设置,确保`GH_TOKEN`或`GITHUB_TOKEN`正确配置 + +**问题**:SSH环境下的OAuth登录失败 +**解决方案**:尝试使用PAT认证,或检查防火墙设置 + +#### 模型选择问题 + +**问题**:无法使用某些模型 +**解决方案**:检查您的Copilot订阅类型,确认是否有相应模型的访问权限 + +#### 性能问题 + +**问题**:响应速度慢 +**解决方案**: +- 减少输入的代码量 +- 使用更精确的文件提及 +- 考虑使用`--stream off`禁用流式输出 + +#### 配额问题 + +**问题**:配额耗尽 +**解决方案**:等待下个月配额重置,或升级您的Copilot订阅 + +### 调试技巧 + +#### 日志级别设置 + +在`~/.copilot/config`中设置日志级别以获取更多调试信息: + +```json +{ + "log_level": "debug" +} +``` + +可用的日志级别: +- `"none"` - 无日志 +- `"error"` - 错误日志 +- `"warning"` - 警告日志 +- `"info"` - 信息日志 +- `"debug"` - 调试日志 +- `"all"` - 所有日志 +- `"default"` - 默认级别 + +#### 会话恢复 + +如果遇到意外中断,可以使用`--resume`参数恢复之前的会话。 + +#### 多行输入 + +对于不支持Kitty协议的终端,可以使用`/terminal-setup`命令设置多行输入支持。 + +**章节来源** +- [changelog.md](file://changelog.md#L182-L199) +- [changelog.md](file://changelog.md#L201-L213) + +## 结论 + +GitHub Copilot CLI为开发者提供了一个强大的终端级AI编码助手。通过自然语言交互、智能代理能力和丰富的命令系统,它能够显著提升开发效率。合理使用各种功能和参数,配合适当的配额管理,可以让您充分发挥这个工具的潜力。 + +随着项目的持续发展,建议定期更新到最新版本以获得最佳体验和最新功能。同时,积极提供反馈可以帮助改进这个宝贵的开发工具。 \ No newline at end of file diff --git "a/.qoder/repowiki/zh/content/\345\256\211\350\243\205\344\270\216\351\205\215\347\275\256.md" "b/.qoder/repowiki/zh/content/\345\256\211\350\243\205\344\270\216\351\205\215\347\275\256.md" new file mode 100644 index 00000000..cb713857 --- /dev/null +++ "b/.qoder/repowiki/zh/content/\345\256\211\350\243\205\344\270\216\351\205\215\347\275\256.md" @@ -0,0 +1,700 @@ +# 安装与配置 + + +**本文档中引用的文件** +- [README.md](file://README.md) +- [LICENSE.md](file://LICENSE.md) +- [changelog.md](file://changelog.md) + + +## 目录 +1. [简介](#简介) +2. [系统要求](#系统要求) +3. [支持的平台](#支持的平台) +4. [前置条件](#前置条件) +5. [安装步骤](#安装步骤) +6. [启动方法](#启动方法) +7. [认证配置](#认证配置) +8. [环境变量配置](#环境变量配置) +9. [企业环境配置](#企业环境配置) +10. [常见问题解决](#常见问题解决) +11. [最佳实践建议](#最佳实践建议) + +## 简介 + +GitHub Copilot CLI 是一个强大的终端原生开发工具,为开发者提供了人工智能驱动的编码协助功能。通过直接在命令行界面中集成 GitHub Copilot 的智能助手,开发者可以在不切换上下文的情况下进行本地开发工作。 + +该工具具有以下核心特性: +- 终端原生开发体验,无需上下文切换 +- 与 GitHub 工作流深度集成 +- 智能代理能力,支持构建、编辑、调试和重构代码 +- 基于 MCP 的可扩展架构 +- 完全控制权,所有操作都需要明确确认 + +## 系统要求 + +### 支持的操作系统 + +GitHub Copilot CLI 支持以下操作系统平台: + +- **Linux** - 完全支持 +- **macOS** - 完全支持 +- **Windows** - 实验性支持(已显著改进) + +### 版本兼容性 + +```mermaid +graph LR +A["GitHub Copilot CLI"] --> B["Node.js v22+"] +A --> C["npm v10+"] +A --> D["PowerShell v6+"] +A --> E["GitHub Copilot 订阅"] +B --> F["基础运行环境"] +C --> G["包管理"] +D --> H["Windows 特性支持"] +E --> I["功能访问权限"] +``` + +**图表来源** +- [README.md](file://README.md#L25-L35) + +## 前置条件 + +### 必需软件组件 + +在安装 GitHub Copilot CLI 之前,请确保您的系统满足以下前置条件: + +#### 1. Node.js 环境 +- **版本要求**: Node.js v22 或更高版本 +- **用途**: JavaScript 运行时环境,提供核心执行能力 +- **验证方法**: `node --version` + +#### 2. npm 包管理器 +- **版本要求**: npm v10 或更高版本 +- **用途**: 包依赖管理和安装 +- **验证方法**: `npm --version` + +#### 3. Windows 特殊要求 +- **PowerShell 版本**: PowerShell v6 或更高版本 +- **用途**: Windows 平台的脚本执行和系统集成 +- **验证方法**: `pwsh --version` 或 `powershell --version` + +### GitHub Copilot 订阅要求 + +- **个人订阅**: 需要有效的 GitHub Copilot 个人订阅 +- **组织订阅**: 如果您通过组织获得 Copilot 访问权限,则需要组织管理员未禁用 CLI 功能 +- **权限检查**: 确保您的账户具有 Copilot 请求权限 + +**节来源** +- [README.md](file://README.md#L25-L35) + +## 安装步骤 + +### 全局 npm 安装 + +GitHub Copilot CLI 提供最简单的安装方式,通过 npm 全局安装: + +```bash +npm install -g @github/copilot +``` + +#### 安装过程说明 + +```mermaid +flowchart TD +A["开始安装"] --> B["检查 npm 权限"] +B --> C["下载 @github/copilot 包"] +C --> D["解析依赖关系"] +D --> E["编译二进制文件"] +E --> F["安装到全局路径"] +F --> G["创建 CLI 可执行文件"] +G --> H["安装完成"] +B --> I["权限不足?"] +I --> J["使用 sudo 或修复权限"] +J --> C +``` + +#### 验证安装 + +安装完成后,可以通过以下命令验证安装是否成功: + +```bash +copilot --version +``` + +这将显示当前安装的 Copilot CLI 版本号。 + +### 升级现有安装 + +如果已经安装了旧版本,可以使用以下命令升级: + +```bash +npm update -g @github/copilot +``` + +**节来源** +- [README.md](file://README.md#L37-L40) + +## 启动方法 + +### 基本启动 + +首次启动 Copilot CLI 时,系统会显示可爱的动画横幅: + +```bash +copilot +``` + +#### 启动流程 + +```mermaid +sequenceDiagram +participant User as 用户 +participant CLI as Copilot CLI +participant Auth as 认证服务 +participant GitHub as GitHub API +User->>CLI : copilot +CLI->>CLI : 检查认证状态 +alt 未认证 +CLI->>User : 显示登录提示 +User->>CLI : 输入 /login +CLI->>Auth : 启动 OAuth 流程 +Auth->>GitHub : 请求授权 +GitHub-->>Auth : 返回授权码 +Auth-->>CLI : 存储认证信息 +end +CLI->>User : 显示欢迎界面 +User->>CLI : 开始使用 +``` + +#### 启动参数 + +CLI 支持多种启动参数来定制行为: + +| 参数 | 描述 | 使用场景 | +|------|------|----------| +| `--banner` | 强制显示启动横幅 | 首次使用或重新展示介绍 | +| `--resume` | 恢复最近的会话 | 继续之前的对话 | +| `--continue` | 恢复上一次关闭的会话 | 快速恢复工作 | +| `--screen-reader` | 屏幕阅读器模式 | 辅助功能支持 | + +### 会话管理 + +#### 恢复会话 + +```bash +copilot --resume +``` + +此命令列出所有可用的会话历史,允许用户选择恢复特定会话。 + +#### 新建会话 + +```bash +copilot --continue +``` + +快速恢复最近关闭的会话,无需选择界面。 + +**节来源** +- [README.md](file://README.md#L42-L50) + +## 认证配置 + +### OAuth 登录流程 + +GitHub Copilot CLI 主要通过 OAuth 2.0 协议进行身份认证: + +#### 登录步骤 + +1. **启动登录流程**: + ```bash + copilot + ``` + 如果未认证,系统会提示输入 `/login` 命令。 + +2. **执行登录命令**: + ```bash + /login + ``` + +3. **浏览器授权**: + - 系统会自动打开默认浏览器 + - 在 GitHub 页面上确认授权请求 + - 授权后返回 CLI + +4. **认证完成**: + - 系统存储认证令牌 + - 可以访问 GitHub 仓库、问题和拉取请求 + +#### OAuth 流程图 + +```mermaid +flowchart TD +A["用户输入 /login"] --> B["生成设备代码"] +B --> C["显示用户代码"] +C --> D["打开浏览器"] +D --> E["用户登录 GitHub"] +E --> F["用户授权应用"] +F --> G["GitHub 返回授权码"] +G --> H["CLI 获取访问令牌"] +H --> I["存储认证信息"] +I --> J["认证完成"] +``` + +### 个人访问令牌(PAT)配置 + +对于某些环境或自动化场景,可以使用个人访问令牌进行认证: + +#### 创建 PAT 步骤 + +1. **访问设置页面**: + 打开 https://github.com/settings/personal-access-tokens/new + +2. **配置权限**: + - 点击 "添加权限" -> 选择 "Copilot Requests" + - 设置适当的过期时间 + +3. **生成令牌**: + - 点击 "生成令牌" + - 复制生成的令牌值 + +#### 环境变量配置 + +支持两种环境变量名称,按优先级顺序: + +| 环境变量名 | 优先级 | 描述 | +|------------|--------|------| +| `GH_TOKEN` | 1(高) | 推荐使用的环境变量 | +| `GITHUB_TOKEN` | 2(低) | 兼容性选项 | + +##### Linux/macOS 设置 + +```bash +# 临时设置(当前终端会话) +export GH_TOKEN="your-personal-access-token" + +# 永久设置(添加到 shell 配置文件) +echo 'export GH_TOKEN="your-personal-access-token"' >> ~/.bashrc +source ~/.bashrc +``` + +##### Windows 设置 + +```powershell +# 临时设置 +$env:GH_TOKEN = "your-personal-access-token" + +# 永久设置(PowerShell 配置文件) +Add-Content -Path $PROFILE -Value "`n`$env:GH_TOKEN = 'your-personal-access-token'" +``` + +#### PAT 认证流程 + +```mermaid +sequenceDiagram +participant User as 用户 +participant CLI as Copilot CLI +participant Env as 环境变量 +participant GitHub as GitHub API +User->>Env : 设置 GH_TOKEN +CLI->>Env : 读取认证令牌 +Env-->>CLI : 返回 PAT +CLI->>GitHub : 使用 PAT 进行 API 调用 +GitHub-->>CLI : 验证成功 +CLI->>User : 认证完成 +``` + +**节来源** +- [README.md](file://README.md#L52-L65) + +## 环境变量配置 + +### 核心环境变量 + +GitHub Copilot CLI 支持多个环境变量来自定义行为: + +#### GH_HOST + +用于配置自定义 GitHub Enterprise 实例: + +```bash +export GH_HOST="https://github.yourcompany.com" +``` + +- **用途**: 指定企业 GitHub 实例的主机地址 +- **格式**: 完整的 URL 地址(包含协议) +- **适用场景**: 企业内部部署的 GitHub Enterprise + +#### COPILOT_KITTY + +启用 Kitty 协议支持,改善多行输入体验: + +```bash +export COPILOT_KITTY=1 +``` + +- **用途**: 启用 Kitty 键盘协议支持 +- **效果**: 支持 Shift+Ctrl 组合键进行多行输入 +- **适用终端**: 支持 Kitty 协议的终端模拟器 + +### 高级配置选项 + +#### 日志级别配置 + +通过配置文件设置日志级别: + +```bash +# 在 ~/.copilot/config 中设置 +{ + "log_level": "debug" +} +``` + +可用的日志级别: +- `none`: 禁用日志 +- `error`: 仅错误信息 +- `warning`: 警告和错误 +- `info`: 基础信息 +- `debug`: 调试信息 +- `all`: 所有信息 + +#### MCP 服务器配置 + +```bash +# 添加额外的 MCP 服务器配置 +export GH_TOKEN="your-token" +export COPILOT_KITTY=1 +export GH_HOST="https://github.enterprise.com" +``` + +**节来源** +- [changelog.md](file://changelog.md#L150-L160) + +## 企业环境配置 + +### 策略限制问题 + +在企业环境中使用 GitHub Copilot CLI 时,可能会遇到以下策略限制: + +#### 组织策略 + +```mermaid +flowchart TD +A["企业环境"] --> B{"组织策略检查"} +B --> |允许 CLI| C["正常功能"] +B --> |禁用 CLI| D["策略阻止"] +D --> E["错误信息"] +E --> F["联系管理员"] +F --> G["申请权限"] +C --> H["OAuth 登录"] +C --> I["PAT 认证"] +``` + +#### 常见限制类型 + +1. **CLI 功能禁用** + - 组织管理员可以在 GitHub 设置中完全禁用 Copilot CLI + - 检查路径:`Organization Settings > Copilot > Copilot CLI` + +2. **网络访问限制** + - 企业防火墙可能阻止对 GitHub API 的访问 + - 需要配置代理设置 + +3. **认证策略** + - 可能强制使用 SAML SSO + - 需要确保 CLI 支持的企业身份提供商 + +### 解决方案 + +#### 联系管理员 + +当遇到策略限制时,建议联系企业管理员: + +```bash +# 检查当前认证状态 +copilot --debug + +# 收集诊断信息 +copilot --help +``` + +#### 代理配置 + +对于网络受限环境,配置代理: + +```bash +# HTTP 代理 +export HTTP_PROXY="http://proxy.company.com:8080" +export HTTPS_PROXY="http://proxy.company.com:8080" + +# 企业证书 +export NODE_EXTRA_CA_CERTS="/path/to/corporate-ca.pem" +``` + +#### 本地部署考虑 + +企业可能需要考虑: +- GitHub Enterprise Server vs GitHub Enterprise Cloud +- 自定义 MCP 服务器配置 +- 本地工具集成 + +**节来源** +- [README.md](file://README.md#L32-L35) + +## 常见问题解决 + +### 安装相关问题 + +#### 1. npm 权限错误 + +**问题症状**: +``` +Error: EACCES: permission denied +``` + +**解决方案**: +```bash +# 方法1:使用 sudo(不推荐) +sudo npm install -g @github/copilot + +# 方法2:修复 npm 全局目录权限(推荐) +mkdir ~/.npm-global +npm config set prefix '~/.npm-global' +export PATH=~/.npm-global/bin:$PATH +source ~/.bashrc +``` + +#### 2. Node.js 版本不兼容 + +**问题症状**: +``` +Error: This version of Node.js is not supported +``` + +**解决方案**: +```bash +# 检查当前版本 +node --version + +# 升级到 Node.js v22+ +# 使用 nvm(推荐) +nvm install 22 +nvm use 22 +``` + +### 认证相关问题 + +#### 1. OAuth 登录失败 + +**问题症状**: +- 浏览器无法打开或授权失败 +- 出现 "Unable to open browser" 错误 + +**解决方案**: +```bash +# 使用 PAT 替代 OAuth +export GH_TOKEN="your-personal-access-token" +copilot +``` + +#### 2. PAT 权限不足 + +**问题症状**: +``` +Error: The personal access token does not have the required "Copilot Requests" permission +``` + +**解决方案**: +1. 检查 PAT 权限设置 +2. 确保启用了 "Copilot Requests" 权限 +3. 重新生成并更新环境变量 + +### 运行时问题 + +#### 1. 内存不足 + +**问题症状**: +``` +FATAL ERROR: Ineffective mark-compacts near heap limit +``` + +**解决方案**: +```bash +# 增加 Node.js 内存限制 +export NODE_OPTIONS="--max-old-space-size=4096" +copilot +``` + +#### 2. 文件权限问题 + +**问题症状**: +``` +Error: EACCES: permission denied +``` + +**解决方案**: +```bash +# 检查文件夹权限 +ls -la ~/.copilot/ + +# 修复权限 +chmod -R 755 ~/.copilot/ +``` + +### 性能优化 + +#### 1. 启动速度慢 + +**优化方法**: +```bash +# 禁用不必要的功能 +copilot --disable-parallel-tools-execution + +# 使用更小的模型 +copilot --model claude-sonnet-4 +``` + +#### 2. 网络连接问题 + +**诊断命令**: +```bash +# 测试网络连接 +curl -I https://api.github.com + +# 检查 DNS 解析 +nslookup api.github.com +``` + +**节来源** +- [changelog.md](file://changelog.md#L200-L250) + +## 最佳实践建议 + +### 安装最佳实践 + +#### 1. 版本管理 + +```bash +# 检查最新版本 +npm show @github/copilot version + +# 安装特定版本(生产环境) +npm install -g @github/copilot@0.0.353 + +# 查看已安装版本 +copilot --version +``` + +#### 2. 环境隔离 + +```bash +# 使用 nvm 管理 Node.js 版本 +nvm install 22 +nvm use 22 + +# 为不同项目创建独立环境 +mkdir ~/copilot-env && cd ~/copilot-env +npm init -y +npm install @github/copilot +``` + +### 认证最佳实践 + +#### 1. 安全存储 + +```bash +# 使用密钥管理器 +security add-generic-password -a copilot -s github-token -w $GH_TOKEN + +# 或者使用 .env 文件(本地开发) +echo "GH_TOKEN=your-token" > .env +echo ".env" >> .gitignore +``` + +#### 2. 定期轮换 + +```bash +# 设置自动轮换提醒 +echo "Remember to rotate your GitHub token monthly" >> ~/.bash_profile + +# 检查令牌有效期 +copilot --debug | grep -i token +``` + +### 配置最佳实践 + +#### 1. 环境变量管理 + +```bash +# 创建配置文件 +cat << EOF > ~/.copilot-config.sh +#!/bin/bash +# GitHub Copilot CLI 配置 +export GH_HOST="https://github.com" +export COPILOT_KITTY=1 +export LOG_LEVEL="info" +EOF + +# 加载配置 +source ~/.copilot-config.sh +``` + +#### 2. 会话管理 + +```bash +# 创建会话别名 +alias cpl='copilot --resume' + +# 自动保存会话 +copilot --continue & +``` + +### 企业环境最佳实践 + +#### 1. 策略合规 + +```bash +# 检查企业策略 +copilot --help | grep -i policy + +# 验证网络连通性 +copilot --debug | grep -i network +``` + +#### 2. 监控和维护 + +```bash +# 定期检查更新 +npm outdated @github/copilot + +# 监控使用情况 +copilot --usage + +# 清理缓存 +rm -rf ~/.copilot/cache/* +``` + +### 故障排除清单 + +#### 启动前检查 + +- [ ] Node.js 版本 ≥ v22 +- [ ] npm 版本 ≥ v10 +- [ ] PowerShell 版本 ≥ v6(Windows) +- [ ] GitHub Copilot 订阅有效 +- [ ] 网络连接正常 +- [ ] 环境变量配置正确 + +#### 运行时监控 + +- [ ] 内存使用率 < 80% +- [ ] 磁盘空间充足 +- [ ] 网络连接稳定 +- [ ] 认证状态有效 + +通过遵循这些最佳实践,您可以确保 GitHub Copilot CLI 在各种环境中稳定可靠地运行,为您的开发工作提供最大的价值。 + +**节来源** +- [README.md](file://README.md#L70-L84) +- [changelog.md](file://changelog.md#L1-L50) \ No newline at end of file diff --git "a/.qoder/repowiki/zh/content/\346\225\205\351\232\234\346\216\222\351\231\244.md" "b/.qoder/repowiki/zh/content/\346\225\205\351\232\234\346\216\222\351\231\244.md" new file mode 100644 index 00000000..48da6992 --- /dev/null +++ "b/.qoder/repowiki/zh/content/\346\225\205\351\232\234\346\216\222\351\231\244.md" @@ -0,0 +1,389 @@ +# 故障排除 + + +**本文档中引用的文件** +- [README.md](file://README.md) +- [changelog.md](file://changelog.md) +- [LICENSE.md](file://LICENSE.md) + + +## 目录 +1. [简介](#简介) +2. [系统要求与兼容性](#系统要求与兼容性) +3. [认证问题](#认证问题) +4. [环境问题](#环境问题) +5. [功能问题](#功能问题) +6. [性能问题](#性能问题) +7. [日志收集与分析](#日志收集与分析) +8. [版本兼容性检查](#版本兼容性检查) +9. [反馈机制](#反馈机制) +10. [常见问题解答](#常见问题解答) + +## 简介 + +GitHub Copilot CLI 是一个强大的终端集成AI编码助手,提供了智能的代码补全、重构和开发支持。本故障排除指南旨在帮助用户识别、诊断和解决在使用过程中可能遇到的各种问题。 + +## 系统要求与兼容性 + +### 支持的操作系统 + +GitHub Copilot CLI 支持以下平台: +- **Linux** - 完全支持 +- **macOS** - 完全支持 +- **Windows** - 完全支持(实验性警告已移除) + +### Node.js 版本要求 + +**最低要求:** Node.js v22 或更高版本 +**推荐版本:** 最新稳定版 + +**重要提示:** 在启动时会强制执行最小 Node 版本要求,如果版本不兼容,CLI 将无法启动。 + +### npm 版本要求 + +- **npm** v10 或更高版本 +- (仅限 Windows)**PowerShell** v6 或更高版本 + +**节源码** +- [README.md](file://README.md#L25-L35) + +## 认证问题 + +### 组织策略限制 + +**症状:** 访问被拒绝或收到策略限制错误 + +**诊断步骤:** +1. 检查是否在企业环境中使用 +2. 验证组织管理员是否启用了 Copilot CLI +3. 确认网络访问权限 + +**解决方案:** +- 联系组织管理员确认 Copilot CLI 的启用状态 +- 检查企业网络策略和防火墙设置 +- 参考官方文档:[管理组织中的 GitHub Copilot 策略](http://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-github-copilot-features-in-your-organization/managing-policies-for-copilot-in-your-organization) + +### Personal Access Token (PAT) 权限不足 + +**症状:** 使用 PAT 登录时出现权限错误 + +**诊断步骤:** +1. 检查 PAT 是否具有 "Copilot Requests" 权限 +2. 验证环境变量设置 +3. 确认 PAT 格式正确 + +**解决方案:** +1. 访问 [GitHub PAT 设置页面](https://github.com/settings/personal-access-tokens/new) +2. 添加 "Copilot Requests" 权限 +3. 设置环境变量: + - `GH_TOKEN` 或 `GITHUB_TOKEN`(优先级顺序) +4. 重新启动 CLI 并使用 `/login` 命令 + +### OAuth 登录失败 + +**症状:** OAuth 流程中断或浏览器无法打开 + +**诊断步骤:** +1. 检查网络连接 +2. 验证防火墙设置 +3. 确认浏览器可正常打开 + +**解决方案:** +- 对于 SSH 用户:确保环境支持设备代码轮询 +- 手动复制设备代码到浏览器 +- 使用 PAT 作为替代认证方式 +- 更新至最新版本以获得改进的 OAuth 实现 + +**节源码** +- [changelog.md](file://changelog.md#L272-L278) +- [changelog.md](file://changelog.md#L201-L213) + +## 环境问题 + +### Node.js 版本不兼容 + +**症状:** 启动时显示版本错误或功能异常 + +**诊断步骤:** +1. 运行 `node --version` 检查版本 +2. 验证 npm 版本:`npm --version` +3. 检查 PowerShell 版本(Windows 用户) + +**解决方案:** +1. 升级 Node.js 到 v22 或更高版本 +2. 使用版本管理器(如 nvm)管理 Node.js 版本 +3. 清理 npm 缓存并重新安装 + +### 代理配置错误 + +**症状:** 网络连接超时或代理认证失败 + +**诊断步骤:** +1. 检查代理环境变量设置 +2. 验证代理服务器可达性 +3. 确认认证凭据正确 + +**解决方案:** +1. 设置代理环境变量: + - `HTTPS_PROXY` 或 `HTTP_PROXY` + - 格式:`http://username:password@proxy-server:port` +2. 对于 Node.js v24+ 用户,代理支持已增强 +3. 检查防火墙规则和网络策略 + +**节源码** +- [changelog.md](file://changelog.md#L201-L213) +- [changelog.md](file://changelog.md#L223-L231) + +## 功能问题 + +### 工具调用失败 + +**症状:** MCP 工具执行失败或无响应 + +**诊断步骤:** +1. 检查工具配置文件 +2. 验证环境变量解析 +3. 确认路径权限 + +**解决方案:** +1. 更新 MCP 服务器配置格式 +2. 确保环境变量前缀使用 `$` 符号 +3. 检查工具依赖项和权限设置 +4. 使用 `--allow-all-paths` 参数临时解决问题 + +### 会话卡死 + +**症状:** 会话无法正常结束或响应停滞 + +**诊断步骤:** +1. 检查是否有未完成的工具调用 +2. 验证内存使用情况 +3. 确认网络连接状态 + +**解决方案:** +1. 使用 `/exit` 或 `/quit` 命令退出 +2. 强制终止进程(`Ctrl+C`) +3. 清理会话状态文件 +4. 重启 CLI 并使用 `--resume` 恢复会话 + +### 多行输入异常 + +**症状:** 输入框无法正确处理多行文本 + +**诊断步骤:** +1. 检查终端协议支持 +2. 验证 Kitty 协议设置 +3. 确认终端配置 + +**解决方案:** +1. 在 VSCode 中运行 `/terminal-setup` 命令 +2. 设置 `COPILOT_KITTY` 环境变量 +3. 使用 `/terminal-setup` 命令配置非 Kitty 终端 +4. 检查终端键盘协议支持 + +**节源码** +- [changelog.md](file://changelog.md#L120-L132) +- [changelog.md](file://changelog.md#L182-L199) +- [changelog.md](file://changelog.md#L134-L141) + +## 性能问题 + +### 响应延迟 + +**症状:** 命令响应时间过长 + +**诊断步骤:** +1. 检查网络连接质量 +2. 监控系统资源使用 +3. 分析对话上下文长度 + +**解决方案:** +1. 减少对话上下文长度 +2. 使用 `/clear` 开始新的会话 +3. 检查代理设置和网络配置 +4. 更新到最新版本以获得性能优化 + +### 内存占用过高 + +**症状:** 内存使用持续增长 + +**诊断步骤:** +1. 监控内存使用趋势 +2. 检查大文件处理 +3. 分析工具调用频率 + +**解决方案:** +1. 定期使用 `/clear` 清理会话 +2. 避免处理过大的文件 +3. 使用 `--disable-parallel-tools-execution` 减少并发 +4. 检查是否有内存泄漏问题 + +**节源码** +- [changelog.md](file://changelog.md#L53-L70) +- [changelog.md](file://changelog.md#L215-L221) + +## 日志收集与分析 + +### 启用调试日志 + +GitHub Copilot CLI 提供了灵活的日志级别配置: + +**可用的日志级别:** +- `none` - 禁用日志 +- `error` - 仅错误信息 +- `warning` - 警告和错误 +- `info` - 基本信息和警告 +- `debug` - 详细调试信息 +- `all` - 全部日志 +- `default` - 默认级别 + +**启用调试日志的方法:** +1. 创建或编辑配置文件:`~/.copilot/config` +2. 添加配置项:`log_level: debug` +3. 重启 CLI 应用程序 + +### 日志文件位置 + +**会话状态文件:** +- 新格式:`~/.copilot/session-state/` +- 旧格式:`~/.copilot/history-session-state/`(将迁移) + +**启动日志:** +- 包含当前版本信息,便于问题报告 +- 在调试模式下提供更多详细信息 + +### 日志分析技巧 + +**常见日志模式:** +1. **认证相关:** 查找 API 请求 ID 和认证状态变化 +2. **工具调用:** 监控工具执行时间和结果 +3. **性能问题:** 分析响应时间和资源使用 +4. **错误处理:** 关注错误消息和堆栈跟踪 + +**节源码** +- [changelog.md](file://changelog.md#L120-L132) +- [changelog.md](file://changelog.md#L143-L158) + +## 版本兼容性检查 + +### 当前版本信息 + +根据 changelog,当前最新版本为 **0.0.353**,发布于 2025年10月28日。 + +### 版本更新建议 + +**定期更新的好处:** +1. 获取最新的功能和改进 +2. 修复已知的安全漏洞 +3. 解决性能问题 +4. 改进用户体验 + +**更新方法:** +```bash +npm update -g @github/copilot +``` + +### 已修复问题回顾 + +**最近的重要修复:** +- **0.0.353:** 支持自定义代理服务器 +- **0.0.352:** 改进 MCP 工具处理 +- **0.0.351:** 优化路径检测逻辑 +- **0.0.350:** 限制 GitHub MCP 工具数量以节省上下文空间 + +**节源码** +- [changelog.md](file://changelog.md#L1-L10) + +## 反馈机制 + +### 提交问题报告 + +GitHub Copilot CLI 提供多种反馈渠道: + +**1. GitHub Issues** +- 访问项目仓库:[GitHub Copilot CLI Issues](https://github.com/github/copilot-cli/issues) +- 提交技术问题和功能请求 +- 包含详细的重现步骤和环境信息 + +**2. Discussions** +- 参与社区讨论 +- 寻求帮助和最佳实践 +- 分享使用经验和技巧 + +**3. 内置反馈命令** +- 在 CLI 中运行 `/feedback` 命令 +- 提交保密的反馈调查 +- 快速报告问题而不离开 CLI 界面 + +### 报告问题的最佳实践 + +**完整的错误报告应包含:** +1. **问题描述:** 清晰描述遇到的问题 +2. **重现步骤:** 详细的操作步骤 +3. **预期行为:** 正确的行为应该是什么 +4. **实际行为:** 实际观察到的现象 +5. **环境信息:** + - 操作系统版本 + - Node.js 版本 + - Copilot CLI 版本 + - 终端类型和配置 +6. **日志信息:** 启用调试日志并提供相关输出 +7. **截图或录屏:** 如有必要,提供视觉证据 + +### 社区参与 + +**积极参与的好处:** +- 加速问题解决过程 +- 影响产品发展方向 +- 获得社区支持和帮助 +- 分享您的经验给其他用户 + +## 常见问题解答 + +### Q: 我可以使用哪些模型? + +**A:** 默认使用 Claude Sonnet 4.5,可通过 `/model` 命令切换: +- Claude Sonnet 4 +- Claude Sonnet 4.5 +- GPT-5(如果可用) + +### Q: 如何重置会话? + +**A:** 使用以下命令: +- `/clear` - 清理当前会话 +- `/exit` 或 `/quit` - 退出 CLI +- `copilot --resume` - 恢复最近的会话 + +### Q: 为什么我的输入被截断? + +**A:** 可能是由于: +1. 上下文窗口接近限制 +2. 大量内容粘贴 +3. 终端宽度限制 + +**解决方案:** +- 使用 `/clear` 开始新会话 +- 使用 `/terminal-setup` 优化输入 +- 检查终端宽度设置 + +### Q: 如何处理权限问题? + +**A:** 确保: +1. 具有文件和目录的读写权限 +2. 使用正确的认证方式 +3. 检查组织策略限制 + +**节源码** +- [changelog.md](file://changelog.md#L244-L257) + +## 结论 + +GitHub Copilot CLI 是一个功能强大但复杂的工具,可能会遇到各种技术挑战。通过遵循本故障排除指南,您可以有效地诊断和解决大多数常见问题。 + +记住: +- 保持软件更新到最新版本 +- 启用适当的日志记录以便调试 +- 充分利用内置的诊断命令 +- 积极参与社区反馈 + +如果遇到本指南未涵盖的问题,请随时通过 GitHub Issues 或 Discussions 寻求帮助。 \ No newline at end of file diff --git "a/.qoder/repowiki/zh/content/\346\240\270\345\277\203\345\212\237\350\203\275.md" "b/.qoder/repowiki/zh/content/\346\240\270\345\277\203\345\212\237\350\203\275.md" new file mode 100644 index 00000000..7cd9009e --- /dev/null +++ "b/.qoder/repowiki/zh/content/\346\240\270\345\277\203\345\212\237\350\203\275.md" @@ -0,0 +1,312 @@ +# 核心功能 + + +**本文档中引用的文件** +- [README.md](file://README.md) +- [changelog.md](file://changelog.md) + + +## 目录 +1. [简介](#简介) +2. [MCP工具系统](#mcp工具系统) +3. [模型管理系统](#模型管理系统) +4. [会话管理机制](#会话管理机制) +5. [权限控制系统](#权限控制系统) +6. [工具并行执行与流式输出](#工具并行执行与流式输出) +7. [实际开发工作流应用](#实际开发工作流应用) +8. [总结](#总结) + +## 简介 + +GitHub Copilot CLI是一个强大的终端原生AI编程助手,它将GitHub Copilot的强大功能直接带到了命令行界面。该工具通过智能代理架构为开发者提供深度集成的GitHub工作流程,支持自然语言对话式的代码构建、调试和理解。 + +### 核心特性概览 + +- **终端原生开发**:无需上下文切换,在命令行直接与AI代理协作 +- **GitHub无缝集成**:使用自然语言访问仓库、问题和拉取请求 +- **智能代理能力**:支持复杂任务的规划和执行 +- **MCP扩展性**:基于MCP服务器的可扩展架构 +- **完全控制**:每个操作都需要明确确认 + +**章节来源** +- [README.md](file://README.md#L1-L20) + +## MCP工具系统 + +### 默认启用的工具集 + +GitHub Copilot CLI内置了完整的MCP(Model Context Protocol)服务器,默认提供以下核心工具集: + +#### 代码与仓库导航工具 +- **文件内容获取**:`get_file_contents` - 获取指定文件的内容 +- **代码搜索**:`search_code` - 在代码库中搜索特定内容 +- **仓库搜索**:`search_repositories` - 搜索GitHub仓库 +- **分支列表**:`list_branches` - 列出所有分支 +- **提交历史**:`list_commits` - 查看提交记录 +- **获取提交**:`get_commit` - 获取特定提交详情 + +#### 问题管理工具 +- **获取问题**:`get_issue` - 获取单个问题详情 +- **列出问题**:`list_issues` - 列出所有问题 +- **获取评论**:`get_issue_comments` - 获取问题评论 +- **搜索问题**:`search_issues` - 搜索问题 + +#### PR管理工具 +- **读取PR**:`pull_request_read` - 读取拉取请求 +- **列出PR**:`list_pull_requests` - 列出所有拉取请求 +- **搜索PR**:`search_pull_requests` - 搜索拉取请求 + +#### 工作流信息工具 +- **列出工作流**:`list_workflows` - 列出CI/CD工作流 +- **列出运行**:`list_workflow_runs` - 列出工作流运行 +- **获取运行详情**:`get_workflow_run` - 获取特定运行详情 +- **获取作业日志**:`get_job_logs` - 获取作业执行日志 +- **获取运行日志**:`get_workflow_run_logs` - 获取完整运行日志 + +#### 杂项搜索工具 +- **用户搜索**:`user_search` - 搜索GitHub用户 + +### 启用全部工具的方法 + +为了优化上下文窗口空间,系统默认限制了可用工具的数量。如果需要启用所有可用工具,可以使用以下参数: + +```bash +copilot --enable-all-github-mcp-tools +``` + +这将激活所有GitHub MCP服务器提供的工具,包括默认工具集中的所有功能。 + +**章节来源** +- [changelog.md](file://changelog.md#L20-L51) + +## 模型管理系统 + +### 支持的模型类型 + +GitHub Copilot CLI支持多种AI模型,为用户提供灵活的选择: + +#### 当前默认模型 +- **Claude Sonnet 4.5**:当前默认模型,提供最佳性能平衡 + +#### 可选模型 +- **Claude Sonnet 4**:高性能版本 +- **GPT-5**:OpenAI的最新模型(需订阅) + +### 动态模型切换 + +用户可以通过交互式命令随时切换模型: + +```bash +/model # 打开模型选择器 +/model claude-sonnet-4 # 直接设置特定模型 +``` + +### 模型特性 + +- **预付费请求倍率**:所有支持的模型均为1x倍率 +- **访问控制**:根据用户的Copilot计划和地区限制显示可用模型 +- **实时显示**:当前选中的模型会在输入框上方显示 + +**章节来源** +- [changelog.md](file://changelog.md#L259-L269) +- [changelog.md](file://changelog.md#L98-L117) + +## 会话管理机制 + +### 会话状态持久化 + +GitHub Copilot CLI实现了先进的会话管理机制,确保用户的工作不会丢失: + +#### 存储位置 +- **新格式会话**:存储在`~/.copilot/session-state`目录 +- **传统会话**:存储在`~/.copilot/history-session-state`目录(自动迁移) + +#### 会话格式改进 +系统引入了新的会话日志格式: +- **解耦存储与显示**:分离存储方式与时间线展示 +- **更简洁格式**:提高可读性和维护性 +- **可扩展架构**:为未来功能实现奠定基础 + +### 会话恢复功能 + +用户可以通过以下方式恢复之前的会话: + +```bash +copilot --resume # 显示会话选择器 +copilot --continue # 恢复最近关闭的会话 +``` + +### 会话特性 + +- **相对时间显示**:会话选择器显示相对时间 +- **消息计数**:显示会话中的消息数量 +- **自动迁移**:传统格式会话自动迁移到新位置 + +**章节来源** +- [changelog.md](file://changelog.md#L120-L132) + +## 权限控制系统 + +### 文件系统访问权限检测 + +GitHub Copilot CLI实现了智能的权限控制系统,能够检测和请求必要的文件系统访问权限: + +#### 权限检测机制 +- **路径提取算法**:从shell命令中智能提取文件路径 +- **启发式优化**:避免不必要的权限请求 +- **环境变量展开**:在权限检查前展开环境变量 + +#### 启发式算法优化 + +系统进行了多项优化以减少不必要的权限请求: + +1. **只读命令识别**: + - 标准bash/PowerShell命令 + - `npm test -- --something`等复杂命令 + - `gh api`命令的参数处理 + +2. **重定向处理**: + - `> some_file.txt`重定向 + - `/dev/null`重定向 + - `2>&1`错误重定向 + +3. **已授权路径优化**: + - 对已授予写入权限的路径不再重复请求 + - 临时目录默认获得访问权限 + +### 权限控制特性 + +- **交互式确认**:新路径访问时提示用户确认 +- **批量授权**:使用`--allow-all-paths`参数批准所有路径 +- **安全隔离**:确保AI只能访问明确授权的文件 + +**章节来源** +- [changelog.md](file://changelog.md#L53-L70) +- [changelog.md](file://changelog.md#L143-L158) + +## 工具并行执行与流式输出 + +### 并行工具执行 + +GitHub Copilot CLI支持模型同时调用多个工具进行并行执行: + +#### 并行执行特性 +- **多工具调用**:模型可以同时调用多个工具 +- **提前确认**:每个工具调用都需要预先确认 +- **可禁用选项**:使用`--disable-parallel-tools-execution`禁用此功能 + +#### 流式输出支持 + +系统实现了革命性的流式输出功能: + +```bash +copilot --stream off # 禁用流式输出 +``` + +#### 流式输出优势 +- **实时反馈**:输出以令牌级别流式传输 +- **内存优化**:特别针对大型输出的shell命令优化内存使用 +- **用户体验**:提供即时响应的交互体验 + +### 技术实现 + +- **令牌级流式传输**:每个token都实时发送给用户 +- **错误处理**:修复了流式输出时将每个chunk发送回模型的问题 +- **性能优化**:显著减少了token消耗和往返次数 + +**章节来源** +- [changelog.md](file://changelog.md#L53-L70) +- [changelog.md](file://changelog.md#L223-L231) + +## 实际开发工作流应用 + +### 典型使用场景 + +#### 代码审查辅助 +```bash +# 使用Copilot CLI进行代码审查 +copilot +# 输入:请审查这个PR并给出建议 +``` + +#### 自动化任务委托 +```bash +# 委托Copilot完成异步任务 +/delegate 完成这个功能模块的开发 +``` + +#### 多模型对比测试 +```bash +# 切换到不同模型进行对比 +/model gpt-5 +# 或 +/model claude-sonnet-4 +``` + +#### 会话恢复与继续 +```bash +# 恢复之前的开发会话 +copilot --resume +# 或继续最近的会话 +copilot --continue +``` + +### 高级功能应用 + +#### 自定义代理使用 +```bash +# 使用自定义代理 +/agent my-custom-agent +# 或非交互式指定 +copilot --agent production-deployment +``` + +#### 终端设置优化 +```bash +# 设置多行输入支持 +/terminal-setup +``` + +#### 使用统计监控 +```bash +# 查看使用统计 +/usage +``` + +### 工作流集成 + +GitHub Copilot CLI的设计充分考虑了现代开发工作流的需求: + +- **Git集成**:与Git工作流程无缝集成 +- **CI/CD支持**:支持GitHub Actions和其他CI/CD工具 +- **多平台兼容**:支持Linux、macOS和Windows +- **企业级部署**:支持组织策略和权限管理 + +**章节来源** +- [changelog.md](file://changelog.md#L2-L5) +- [README.md](file://README.md#L41-L73) + +## 总结 + +GitHub Copilot CLI代表了AI驱动开发工具的新范式,通过其先进的核心功能特性为开发者提供了前所未有的编程体验: + +### 主要优势 + +1. **智能代理架构**:基于MCP协议的可扩展工具系统 +2. **灵活模型选择**:支持多种AI模型的动态切换 +3. **持久化会话**:可靠的会话管理和恢复机制 +4. **智能权限控制**:优化的安全权限检测算法 +5. **实时流式输出**:提供即时反馈的交互体验 + +### 技术创新 + +- **并行工具执行**:提升复杂任务的处理效率 +- **启发式路径检测**:减少不必要的权限请求 +- **内存优化**:针对大型输出的性能优化 +- **跨平台支持**:全面的操作系统兼容性 + +### 应用价值 + +GitHub Copilot CLI不仅是一个工具,更是现代软件开发工作流的重要组成部分,它通过智能化、自动化和人性化的交互方式,显著提升了开发效率和代码质量。 + +随着持续的功能迭代和优化,GitHub Copilot CLI正在成为开发者不可或缺的AI编程助手,为软件开发的未来奠定了坚实的基础。 \ No newline at end of file diff --git "a/.qoder/repowiki/zh/content/\347\211\210\346\234\254\345\217\230\346\233\264\346\227\245\345\277\227.md" "b/.qoder/repowiki/zh/content/\347\211\210\346\234\254\345\217\230\346\233\264\346\227\245\345\277\227.md" new file mode 100644 index 00000000..3d0411c1 --- /dev/null +++ "b/.qoder/repowiki/zh/content/\347\211\210\346\234\254\345\217\230\346\233\264\346\227\245\345\277\227.md" @@ -0,0 +1,353 @@ +# 版本变更日志 + + +**本文档中引用的文件** +- [changelog.md](file://changelog.md) +- [README.md](file://README.md) +- [LICENSE.md](file://LICENSE.md) + + +## 目录 +1. [简介](#简介) +2. [版本号命名规则](#版本号命名规则) +3. [版本迭代频率和发布模式](#版本迭代频率和发布模式) +4. [版本变更历史](#版本变更历史) +5. [重大变更影响分析](#重大变更影响分析) +6. [用户行动指南](#用户行动指南) +7. [总结](#总结) + +## 简介 + +GitHub Copilot CLI 是一个强大的终端原生开发工具,为开发者提供 AI 驱动的编码协助。本文档系统性地整理了从 0.0.328 版本到最新版本的所有功能更新、错误修复和性能优化,帮助用户了解版本演进历程并做出相应的使用调整。 + +该 CLI 工具具有快速迭代的特点,频繁发布新版本以持续改进用户体验和功能特性。通过深入分析每个版本的变更内容,用户可以更好地理解系统的演进方向,并及时更新以获得最佳体验。 + +## 版本号命名规则 + +GitHub Copilot CLI 采用语义化版本控制(Semantic Versioning)规范: + +- **主版本号(Major)**: 当发生不兼容的 API 变更时递增 +- **次版本号(Minor)**: 当以向后兼容的方式添加功能时递增 +- **修订版本号(Patch)**: 当进行向后兼容的问题修复时递增 + +版本号格式:`0.0.xxx`,其中: +- 第一个 0 表示仍在早期预览阶段 +- 第二个 0 表示处于 0.x 系列的早期版本 +- `xxx` 是递增的修订号,表示具体的版本序号 + +**章节来源** +- [changelog.md](file://changelog.md#L1-L279) + +## 版本迭代频率和发布模式 + +### 迭代频率特征 + +根据变更日志分析,GitHub Copilot CLI 展现出以下迭代频率特征: + +- **高频发布**: 每天都有新版本发布,体现了快速迭代的开发策略 +- **功能密集**: 单个版本通常包含多个功能更新和优化 +- **问题驱动**: 大部分版本都是针对已知问题的修复 +- **渐进式改进**: 功能演进呈现渐进式特点,逐步完善用户体验 + +### 发布模式特点 + +1. **预览阶段**: 所有版本都标记为公共预览(Public Preview) +2. **实验性功能**: 新功能经常作为实验性功能引入 +3. **向后兼容**: 尽量保持向后兼容性,避免破坏性变更 +4. **社区反馈**: 基于用户反馈快速调整和优化 + +**章节来源** +- [README.md](file://README.md#L75-L83) + +## 版本变更历史 + +### 0.0.353 - 2025-10-28 +**重大功能更新**: +- 添加自定义代理支持,代理定义来自 `~/.copilot/agents`、`.github/agents` 或组织 `.github` 仓库 +- 实现 `/delegate` 命令,可异步委托任务给 Copilot 编码代理 +- 支持交互式 `/agent` 和非交互式 `--agent` 参数调用代理 +- 代理作为工具提供给模型在任务完成期间调用 + +### 0.0.352 - 2025-10-27 +**优化改进**: +- 改进包含斜杠的 MCP 工具处理 +- 改进 `/model ` 命令的错误消息 + +### 0.0.351 - 2025-10-24 +**权限请求优化**: +- 改进路径检测启发式算法,避免不必要的权限请求 +- 修复多种常见命令的权限请求问题 +- 改进对重定向和参数的处理 + +### 0.0.350 - 2025-10-23 +**核心功能增强**: +- 限制默认 GitHub MCP 服务器可用工具数量以节省上下文窗口空间 +- 添加 `--enable-all-github-mcp-tools` 标志启用所有工具 +- 打包 `sharp` 依赖解决 Windows 启动阻塞问题 +- 修复输入令牌跟踪不正确的问题 +- 修复流式传输时 MCP 工具参数失败的问题 + +### 0.0.349 - 2025-10-22 +**并发执行优化**: +- 允许模型并行调用多个工具(需提前确认) +- 添加 `/quit` 作为 `/exit` 的别名 +- 修复流式输出块被发送回模型的问题 +- 改进环境变量展开后的路径权限检查 + +### 0.0.348 - 2025-10-21 +**流式输出革命**: +- 实现逐 token 流式输出,可使用 `--stream off` 禁用 +- 改进内存占用,特别是处理大型输出时 +- 修复 VSCode 配置文件中注释的保留问题 +- 打包 `node-pty` 依赖 + +### 0.0.347 - 2025-10-20 +**统计和渲染优化**: +- 修复前端显示的 PRU 消耗统计数据不正确的问题 +- 修复粘贴输入内容被删除后仍发送到模型的问题 +- 改进文件差异渲染的行包装和对齐 + +### 0.0.346 - 2025-10-19 +**计费准确性修复**: +- 修复配置文件中指定模型的计费统计不准确问题 + +### 0.0.345 - 2025-10-18 +**计费过载修复**: +- 修复某些用户的 Premium 请求过度计数问题(正在处理退款) + +### 0.0.344 - 2025-10-17 +**模型和工具增强**: +- 在提示模式下启用 GitHub MCP 服务器 +- 添加 bash 工具执行分离进程的支持 +- 添加支持的模型列表到 `copilot help config` 文本 +- 改进会话中止处理 + +### 0.0.343 - 2025-10-16 +**新模型和配置增强**: +- 添加 Haiku 4.5 模型 +- 添加 `--additional-mcp-config` 标志临时覆盖服务器配置 +- 改进 Windows 路径处理 +- 添加 `/terminal-setup` 提示 + +### 0.0.342 - 2025-10-15 +**会话管理重构**: +- 重新设计会话日志格式,解耦存储和显示方式 +- 启用 Kitty 协议,默认支持多行输入 +- 改进调试日志收集 +- 修复会话卡住状态问题 + +### 0.0.341 - 2025-10-14 +**多行输入支持**: +- 添加 `/terminal-setup` 命令设置多行输入 +- 修复 MCP 工具调用拒绝导致后续调用失败的问题 + +### 0.0.340 - 2025-10-13 +**Windows 支持改进**: +- 移除 "Windows 支持是实验性的" 警告 +- 改进调试信息包含 Copilot API 请求 ID +- 修复连续孤立工具调用导致的消息格式错误 + +### 0.0.339 - 2025-10-10 +**Kitty 协议回归**: +- 将 Kitty 协议支持移至 `COPILOT_KITTY` 环境变量控制 +- 修复多行提示中的换行问题 + +### 0.0.338 - 2025-10-09 +**Kitty 协议优化**: +- 修复 Kitty 协议文本粘贴问题 +- 修复 VSCode 终端中 Windows 上的进程挂起问题 + +### 0.0.337 - 2025-10-08 +**安全和输入增强**: +- 添加 MCP 服务器名称验证 +- 添加 Ctrl+B 和 Ctrl+F 光标移动支持 +- 添加 Kitty 协议多行输入支持 + +### 0.0.336 - 2025-10-07 +**性能优化**: +- 显著减少 token 消耗、往返次数和解决问题时间 +- 改进文件写入性能(特别是在 Windows 上) +- 修复 `/clear` 命令未正确重置上下文截断跟踪状态的问题 + +### 0.0.335 - 2025-10-06 +**界面改进**: +- 默认显示文件编辑差异 +- 改进斜杠命令输入的参数提示 +- 减少颜色使用,改善 Markdown 渲染间距 + +### 0.0.334 - 2025-10-03 +**大内容处理优化**: +- 改进粘贴大内容的体验 +- 添加对话上下文接近限制时的警告 +- 移除退出使用统计 + +### 0.0.333 - 2025-10-02 +**图像支持和直接执行**: +- 添加图像支持(@提及文件作为模型输入) +- 添加直接执行 shell 命令的能力(前缀 !) +- 添加 `/usage` 斜杠命令提供使用统计 + +### 0.0.332 - 2025-10-01 +**企业级改进**: +- 切换到基于订阅的 Copilot API 端点 +- 改进用户切换和认证模式 + +### 0.0.331 - 2025-10-01 +**用户体验优化**: +- 改进文件读取/编辑时间线事件的信息密度 +- 改进模型列表过滤 + +### 0.0.330 - 2025-09-29 +**模型切换**: +- 将默认模型改回 Sonnet 4 + +### 0.0.330 - 2025-09-29 +**新模型和改进**: +- 添加 Claude Sonnet 4.5 支持并设为默认模型 +- 添加 `/model` 斜杠命令轻松切换模型 +- 改进多行输入处理 +- 改进单词运动逻辑 + +### 0.0.329 - 2025-09-29 +**基础功能建立**: +- 添加 Claude Sonnet 4.5 支持 +- 添加模型切换功能 +- 改进错误消息和命令行参数处理 +- 改进多行输入处理 + +### 0.0.328 - 2025-09-26 +**基础功能完善**: +- 改进组织策略阻止的错误消息 +- 改进缺少 "Copilot Requests" 权限的 PAT 错误消息 +- 改进用户列表输出 + +**章节来源** +- [changelog.md](file://changelog.md#L1-L279) + +## 重大变更影响分析 + +### mcp-config.json 配置格式变更(0.0.340 版本) + +**变更详情**: +- 环境变量解析行为改变 +- `env` 部分的值现在被视为字面值 + +**影响范围**: +- 使用 MCP 服务器的客户 +- 自定义 MCP 配置的用户 + +**解决方案**: +```json +// 变更前 +{ + "env": { + "GITHUB_ACCESS_TOKEN": "GITHUB_TOKEN" + } +} + +// 变更后 +{ + "env": { + "GITHUB_ACCESS_TOKEN": "${GITHUB_TOKEN}" + } +} +``` + +### 会话日志格式重构(0.0.342 版本) + +**变更详情**: +- 引入新的会话日志格式 +- 新会话存储位置:`~/.copilot/session-state` +- 旧会话迁移:`~/.copilot/history-session-state` + +**影响范围**: +- 所有使用会话恢复功能的用户 +- 自动化脚本和工具 + +**用户行动**: +- 使用 `copilot --resume` 自动迁移现有会话 +- 新会话将自动存储在新位置 + +### Kitty 协议支持调整(0.0.339-0.0.338 版本) + +**变更详情**: +- Kitty 协议支持移至环境变量控制 +- 修复相关回归问题 + +**影响范围**: +- 使用多行输入功能的用户 +- VSCode 用户 + +**用户行动**: +- 设置 `COPILOT_KITTY` 环境变量启用 Kitty 协议 +- 或运行 `/terminal-setup` 命令 + +### 企业级 API 端点切换(0.0.332 版本) + +**变更详情**: +- 切换到 per-subscription Copilot API 端点 +- 符合 GitHub 文档要求 + +**影响范围**: +- 企业用户 +- 使用特定网络访问配置的用户 + +**章节来源** +- [changelog.md](file://changelog.md#L180-L200) + +## 用户行动指南 + +### 保持客户端更新的重要性 + +1. **获取最新功能**: 每个版本都带来新功能和改进 +2. **获得重要修复**: 许多版本专注于关键 bug 修复 +3. **性能优化**: 持续的性能改进提升用户体验 +4. **安全增强**: 定期更新确保最佳安全性 + +### 推荐的更新策略 + +1. **定期检查更新**: 关注 GitHub Releases 页面 +2. **测试新版本**: 在非生产环境中先行测试 +3. **备份配置**: 更新前备份重要配置文件 +4. **阅读变更日志**: 了解新功能和潜在影响 + +### 针对不同版本的行动建议 + +#### 对于 0.0.340 及以上版本用户 +- 检查并更新 `mcp-config.json` 配置 +- 验证 MCP 服务器环境变量设置 + +#### 对于 0.0.342 及以上版本用户 +- 确认会话恢复功能正常工作 +- 检查新会话存储位置的访问权限 + +#### 对于 0.0.339-0.0.338 版本用户 +- 根据需要设置 `COPILOT_KITTY` 环境变量 +- 或使用 `/terminal-setup` 命令配置多行输入 + +### 性能优化建议 + +1. **监控资源使用**: 注意内存和 CPU 使用情况 +2. **优化配置**: 根据使用场景调整配置参数 +3. **定期清理**: 清理临时文件和缓存 +4. **网络优化**: 确保稳定的网络连接 + +**章节来源** +- [README.md](file://README.md#L75-L83) + +## 总结 + +GitHub Copilot CLI 的版本变更日志展现了该工具快速发展的历程。从 0.0.328 版本的基础功能建立,到 0.0.353 版本的高级功能完善,每个版本都在不同层面上推动着工具的进步。 + +### 主要发展趋势 + +1. **功能丰富化**: 从基本的 AI 辅助发展到完整的开发环境 +2. **性能优化**: 持续的性能改进和资源使用优化 +3. **用户体验**: 不断改进的用户界面和交互体验 +4. **企业集成**: 更好的企业级功能和安全特性 + +### 未来展望 + +随着版本的不断演进,GitHub Copilot CLI 正朝着成为开发者终端中不可或缺的智能助手迈进。用户应该保持关注版本更新,及时采用新功能,同时注意配置文件的兼容性调整。 + +通过系统性地理解这些版本变更,用户可以更好地利用 GitHub Copilot CLI 的强大功能,提高开发效率,享受更好的编程体验。 \ No newline at end of file diff --git "a/.qoder/repowiki/zh/content/\351\205\215\347\275\256\344\270\216\347\216\257\345\242\203.md" "b/.qoder/repowiki/zh/content/\351\205\215\347\275\256\344\270\216\347\216\257\345\242\203.md" new file mode 100644 index 00000000..324b79d2 --- /dev/null +++ "b/.qoder/repowiki/zh/content/\351\205\215\347\275\256\344\270\216\347\216\257\345\242\203.md" @@ -0,0 +1,498 @@ +# 配置与环境 + + +**本文档中引用的文件** +- [README.md](file://README.md) +- [changelog.md](file://changelog.md) + + +## 目录 +1. [简介](#简介) +2. [配置文件位置与结构](#配置文件位置与结构) +3. [核心配置文件详解](#核心配置文件详解) +4. [环境变量配置](#环境变量配置) +5. [配置优先级规则](#配置优先级规则) +6. [MCP服务器配置](#mcp服务器配置) +7. [配置迁移指南](#配置迁移指南) +8. [配置验证与故障排除](#配置验证与故障排除) +9. [最佳实践建议](#最佳实践建议) + +## 简介 + +GitHub Copilot CLI提供了灵活的配置系统,支持多种配置方式来满足不同使用场景的需求。通过配置文件、环境变量和命令行参数的组合,用户可以完全控制CLI的行为,包括日志级别、模型选择、MCP服务器配置等关键功能。 + +## 配置文件位置与结构 + +### 标准配置目录 + +GitHub Copilot CLI使用以下标准配置目录结构: + +```mermaid +graph TD +A["~/.copilot/"] --> B["config"] +A --> C["mcp-config.json"] +A --> D["session-state/"] +A --> E["history-session-state/"] +A --> F["agents/"] +B --> B1["主配置文件
包含日志级别等设置"] +C --> C1["MCP服务器配置
定义外部工具集成"] +D --> D1["当前会话状态
实时会话数据"] +E --> E1["历史会话记录
已结束会话备份"] +F --> F1["自定义代理定义
用户创建的AI助手"] +``` + +**图表来源** +- [changelog.md](file://changelog.md#L120-L132) + +### 配置文件类型 + +| 文件名 | 类型 | 用途 | 默认位置 | +|--------|------|------|----------| +| `config` | 主配置文件 | 日志级别、调试设置 | `~/.copilot/config` | +| `mcp-config.json` | MCP配置文件 | 外部工具服务器配置 | `~/.copilot/mcp-config.json` | +| `session-state/` | 会话目录 | 当前活跃会话数据 | `~/.copilot/session-state/` | +| `history-session-state/` | 历史目录 | 已结束会话备份 | `~/.copilot/history-session-state/` | +| `agents/` | 代理目录 | 自定义AI助手定义 | `~/.copilot/agents/` | + +**节来源** +- [changelog.md](file://changelog.md#L120-L132) + +## 核心配置文件详解 + +### 主配置文件 (~/.copilot/config) + +主配置文件支持持久化的配置设置,主要包括日志级别和其他全局选项。 + +#### 日志级别配置 + +| 级别 | 描述 | 用途 | +|------|------|------| +| `none` | 完全禁用日志 | 生产环境部署 | +| `error` | 仅错误信息 | 故障排查 | +| `warning` | 警告和错误 | 一般使用 | +| `info` | 基础信息和警告 | 开发调试 | +| `debug` | 详细调试信息 | 深度问题诊断 | +| `all` | 所有日志信息 | 最详细的调试 | +| `default` | 默认级别 | 系统默认行为 | + +#### 配置示例 + +```json +{ + "log_level": "info", + "debug": false, + "banner": true +} +``` + +**节来源** +- [changelog.md](file://changelog.md#L127-L132) + +### 会话状态管理 + +CLI维护两种会话状态存储格式: + +```mermaid +flowchart TD +A["新会话"] --> B["~/.copilot/session-state/"] +B --> C["实时会话数据"] +D["历史会话"] --> E["~/.copilot/history-session-state/"] +E --> F["已结束会话备份"] +G["会话恢复"] --> H["自动迁移"] +H --> B +style B fill:#e1f5fe +style E fill:#fff3e0 +``` + +**图表来源** +- [changelog.md](file://changelog.md#L120-L132) + +## 环境变量配置 + +### 认证相关环境变量 + +| 变量名 | 优先级 | 描述 | 示例值 | +|--------|--------|------|--------| +| `GH_TOKEN` | 高 | GitHub个人访问令牌 | `ghp_xxxxxxxxxxxx` | +| `GITHUB_TOKEN` | 中 | GitHub令牌备用选项 | `ghp_xxxxxxxxxxxx` | +| `GH_HOST` | 中 | 自定义GitHub企业主机 | `github.company.com` | + +### 代理配置环境变量 + +| 变量名 | 描述 | 使用场景 | +|--------|------|----------| +| `HTTPS_PROXY` | HTTPS代理服务器地址 | HTTPS流量代理 | +| `HTTP_PROXY` | HTTP代理服务器地址 | HTTP流量代理 | + +### 终端特性环境变量 + +| 变量名 | 功能 | 支持平台 | +|--------|------|----------| +| `COPILOT_KITTY` | 启用Kitty协议支持 | 所有平台 | +| `COPILOT_SCREEN_READER` | 屏幕阅读器模式 | 所有平台 | + +### 环境变量使用示例 + +```bash +# 设置GitHub认证令牌 +export GH_TOKEN="ghp_xxxxxxxxxxxx" + +# 配置代理服务器 +export HTTPS_PROXY="http://proxy.company.com:8080" +export HTTP_PROXY="http://proxy.company.com:8080" + +# 启用Kitty协议支持 +export COPILOT_KITTY=1 + +# 屏幕阅读器模式 +export COPILOT_SCREEN_READER=1 +``` + +**节来源** +- [README.md](file://README.md#L63) +- [changelog.md](file://changelog.md#L127-L132) +- [changelog.md](file://changelog.md#L173-L179) +- [changelog.md](file://changelog.md#L191) + +## 配置优先级规则 + +### 优先级顺序(从高到低) + +```mermaid +flowchart TD +A["命令行参数"] --> B["环境变量"] +B --> C["配置文件"] +C --> D["默认值"] +A1["最高优先级
覆盖所有其他设置"] --> A +B1["中等优先级
覆盖配置文件"] --> B +C1["较低优先级
覆盖默认值"] --> C +D1["最低优先级
系统默认行为"] --> D +style A fill:#ffebee +style B fill:#fff3e0 +style C fill:#e8f5e8 +style D fill:#f3e5f5 +``` + +### 具体覆盖规则 + +1. **命令行参数**:最高优先级,直接在命令行中指定的参数 +2. **环境变量**:中等优先级,通过环境变量设置的配置 +3. **配置文件**:较低优先级,持久化保存的配置设置 +4. **默认值**:最低优先级,系统内置的默认配置 + +### 实际应用示例 + +```bash +# 命令行参数覆盖配置文件中的设置 +copilot --log-level debug --model claude-sonnet + +# 环境变量覆盖配置文件 +export COPILOT_LOG_LEVEL=warning +copilot # 使用环境变量设置的日志级别 + +# 配置文件设置(持久化) +echo '{"log_level": "info"}' > ~/.copilot/config +``` + +## MCP服务器配置 + +### MCP配置文件结构 + +MCP(Model Context Protocol)服务器配置允许集成外部工具和服务。 + +#### 基本配置结构 + +```json +{ + "mcpServers": { + "server-name": { + "command": "/path/to/server", + "args": ["arg1", "arg2"], + "env": { + "ENV_VAR_NAME": "${ENV_VAR_VALUE}" + } + } + } +} +``` + +#### 环境变量处理规则 + +```mermaid +flowchart TD +A["环境变量配置"] --> B{"是否以$开头?"} +B --> |是| C["解析为环境变量引用"] +B --> |否| D["使用字面值"] +C --> E["读取环境变量值"] +E --> F["传递给MCP进程"] +D --> G["直接使用字面值"] +G --> F +style C fill:#e3f2fd +style D fill:#fff3e0 +``` + +**图表来源** +- [changelog.md](file://changelog.md#L143-L158) + +### MCP服务器配置示例 + +```json +{ + "mcpServers": { + "github": { + "command": "copilot-github-server", + "args": ["--port", "8080"], + "env": { + "GITHUB_ACCESS_TOKEN": "${GITHUB_TOKEN}", + "GITHUB_API_URL": "${GH_HOST}/api/v3" + } + }, + "custom-tool": { + "command": "/usr/local/bin/custom-tool", + "args": ["--config", "/etc/custom-tool/config.json"], + "env": { + "CUSTOM_API_KEY": "${CUSTOM_API_KEY}", + "LOG_LEVEL": "info" + } + } + } +} +``` + +**节来源** +- [changelog.md](file://changelog.md#L98-L117) + +## 配置迁移指南 + +### MCP配置文件语法变更 + +#### 版本差异对比 + +| 配置项 | 旧版本语法 | 新版本语法 | 迁移方法 | +|--------|------------|------------|----------| +| 环境变量引用 | `"VAR_NAME": "VALUE"` | `"VAR_NAME": "${VALUE}"` | 添加`$`前缀 | +| 字面值 | `"VAR_NAME": "literal"` | `"VAR_NAME": "literal"` | 保持不变 | + +#### 迁移示例 + +**旧版本配置:** +```json +{ + "env": { + "GITHUB_ACCESS_TOKEN": "GITHUB_TOKEN", + "API_ENDPOINT": "https://api.example.com" + } +} +``` + +**新版本配置:** +```json +{ + "env": { + "GITHUB_ACCESS_TOKEN": "${GITHUB_TOKEN}", + "API_ENDPOINT": "https://api.example.com" + } +} +``` + +### 迁移步骤 + +1. **备份现有配置** + ```bash + cp ~/.copilot/mcp-config.json ~/.copilot/mcp-config.json.backup + ``` + +2. **识别需要更新的环境变量** + - 查找`env`字段中的字符串值 + - 确认哪些值应该作为环境变量引用 + +3. **执行语法转换** + ```bash + sed -i 's/"\([^"]*\)": "\(.*\)"/"\1": "${\2}"/g' ~/.copilot/mcp-config.json + ``` + +4. **验证配置** + ```bash + copilot --additional-mcp-config @~/.copilot/mcp-config.json --help + ``` + +5. **测试MCP服务器连接** + ```bash + copilot --additional-mcp-config @~/.copilot/mcp-config.json --mcp list + ``` + +**节来源** +- [changelog.md](file://changelog.md#L143-L158) + +## 配置验证与故障排除 + +### 常见配置问题 + +#### 1. MCP服务器连接失败 + +**症状:** +- `Failed to connect to MCP server` +- `Server not responding` + +**解决方案:** +```bash +# 检查MCP配置文件语法 +copilot --additional-mcp-config @~/.copilot/mcp-config.json --help + +# 测试服务器可访问性 +curl -I http://localhost:8080 + +# 启用调试日志 +export COPILOT_LOG_LEVEL=debug +copilot --additional-mcp-config @~/.copilot/mcp-config.json +``` + +#### 2. 环境变量未正确解析 + +**症状:** +- 空的或错误的环境变量值 +- `Environment variable not found` 错误 + +**解决方案:** +```bash +# 检查环境变量是否存在 +echo $GITHUB_TOKEN + +# 验证配置文件语法 +cat ~/.copilot/mcp-config.json | jq . + +# 使用绝对路径而非相对路径 +"command": "/usr/local/bin/server" +``` + +#### 3. 权限问题 + +**症状:** +- `Permission denied` 错误 +- 无法访问某些文件或目录 + +**解决方案:** +```bash +# 检查文件权限 +ls -la ~/.copilot/ + +# 修复权限问题 +chmod 700 ~/.copilot/ +chmod 600 ~/.copilot/config +chmod 600 ~/.copilot/mcp-config.json +``` + +### 调试配置问题 + +#### 启用详细日志 + +```bash +# 设置最高日志级别 +export COPILOT_LOG_LEVEL=all + +# 启用调试输出 +copilot --debug + +# 查看配置加载过程 +copilot --help config +``` + +#### 配置验证命令 + +```bash +# 验证配置文件语法 +copilot --help config + +# 测试配置加载 +copilot --dry-run + +# 检查环境变量设置 +copilot --print-config +``` + +### 性能优化配置 + +#### 内存使用优化 + +```json +{ + "log_level": "warning", + "max_context_tokens": 4000, + "stream_output": true +} +``` + +#### 网络性能优化 + +```bash +# 配置代理以提高网络性能 +export HTTPS_PROXY=http://proxy.company.com:8080 + +# 启用连接池 +export NODE_OPTIONS="--max-http-header-size=8192" +``` + +## 最佳实践建议 + +### 安全配置 + +1. **保护敏感信息** + - 不要在配置文件中硬编码敏感信息 + - 使用环境变量存储密钥 + - 定期轮换认证令牌 + +2. **最小权限原则** + - 为MCP服务器配置最小必要的权限 + - 使用专用的服务账户 + - 定期审查权限设置 + +### 性能配置 + +1. **合理设置日志级别** + ```bash + # 生产环境:使用warning级别 + export COPILOT_LOG_LEVEL=warning + + # 开发环境:使用info级别 + export COPILOT_LOG_LEVEL=info + ``` + +2. **优化内存使用** + ```json + { + "max_context_tokens": 8000, + "stream_output": true, + "enable_parallel_tools": false + } + ``` + +### 维护建议 + +1. **定期备份配置** + ```bash + # 创建配置备份 + tar -czf ~/copilot-config-backup.tar.gz ~/.copilot/ + + # 定期检查配置文件 + ls -la ~/.copilot/ + ``` + +2. **监控配置变更** + ```bash + # 监控配置文件修改 + inotifywait -m ~/.copilot/ + + # 检查配置文件完整性 + sha256sum ~/.copilot/config + ``` + +3. **版本控制配置** + ```bash + # 将配置文件添加到版本控制 + git init ~/.copilot/ + cd ~/.copilot/ + git add . + git commit -m "Initial configuration" + ``` + +通过遵循这些最佳实践,您可以确保GitHub Copilot CLI的配置既安全又高效,同时便于维护和故障排除。 \ No newline at end of file diff --git "a/.qoder/repowiki/zh/content/\351\241\271\347\233\256\346\246\202\350\277\260.md" "b/.qoder/repowiki/zh/content/\351\241\271\347\233\256\346\246\202\350\277\260.md" new file mode 100644 index 00000000..dcec7657 --- /dev/null +++ "b/.qoder/repowiki/zh/content/\351\241\271\347\233\256\346\246\202\350\277\260.md" @@ -0,0 +1,427 @@ +# 项目概述 + + +**本文档中引用的文件** +- [README.md](file://README.md) +- [changelog.md](file://changelog.md) +- [LICENSE.md](file://LICENSE.md) + + +## 目录 +1. [项目简介](#项目简介) +2. [核心目标与设计理念](#核心目标与设计理念) +3. [主要功能特性](#主要功能特性) +4. [目标用户群体](#目标用户群体) +5. [技术架构概览](#技术架构概览) +6. [平台支持与环境要求](#平台支持与环境要求) +7. [核心组件分析](#核心组件分析) +8. [使用场景与应用案例](#使用场景与应用案例) +9. [项目优势与差异化](#项目优势与差异化) +10. [项目状态与发展前景](#项目状态与发展前景) + +## 项目简介 + +GitHub Copilot CLI是GitHub推出的一款革命性终端命令行工具,将强大的AI编程辅助能力直接带入开发者熟悉的命令行环境中。作为GitHub Copilot生态系统的重要组成部分,该CLI工具通过自然语言交互的方式,为开发者提供智能的代码生成、编辑、调试和理解能力,同时深度集成了GitHub的工作流程。 + +该项目目前处于**公共预览版**阶段,标志着GitHub在AI驱动开发体验方面的重大突破。通过将Copilot的智能代理能力与终端环境无缝结合,开发者可以在不离开命令行的情况下获得AI辅助的编程体验。 + +**节来源** +- [README.md](file://README.md#L1-L18) + +## 核心目标与设计理念 + +### 设计理念 + +GitHub Copilot CLI的设计遵循以下核心理念: + +1. **终端原生开发**:完全在命令行环境中运行,无需上下文切换,保持开发者的专注度 +2. **深度GitHub集成**:与GitHub工作流程天然契合,支持仓库、问题和拉取请求的自然语言访问 +3. **智能代理协作**:提供能够规划和执行复杂任务的AI合作者 +4. **可扩展性**:基于MCP(Model Context Protocol)系统,支持自定义扩展 +5. **完全控制**:每个操作都经过显式确认,确保用户对AI行为的完全掌控 + +### 核心目标 + +- **提升开发效率**:通过AI辅助减少重复性编码任务,加速开发周期 +- **改善代码质量**:提供智能建议和最佳实践指导 +- **降低学习成本**:通过自然语言交互,让AI编程助手更易于使用 +- **增强协作能力**:支持团队在GitHub生态系统中的协同开发 + +**节来源** +- [README.md](file://README.md#L10-L18) + +## 主要功能特性 + +### 自然语言交互 + +GitHub Copilot CLI最显著的特点是其自然语言交互能力。用户可以通过简单的文本描述来完成复杂的编程任务,无需记忆特定的命令或语法。 + +### 代码生成与编辑 + +- **智能代码补全**:基于上下文提供准确的代码建议 +- **函数重构**:自动优化现有代码结构 +- **错误修复**:识别并修复常见的编程错误 +- **性能优化**:提供代码性能改进建议 + +### 文件操作能力 + +- **文件内容读取**:安全地访问和查看项目文件 +- **批量文件操作**:支持多个文件的同时处理 +- **路径权限管理**:智能的文件系统权限控制 + +### Git操作集成 + +- **分支管理**:创建、切换和合并Git分支 +- **提交操作**:自动生成有意义的提交消息 +- **版本控制**:完整的Git工作流支持 + +### 拉取请求管理 + +- **PR创建**:自动生成高质量的拉取请求 +- **代码审查**:提供智能的代码审查建议 +- **冲突解决**:协助解决合并冲突 + +### MCP工具系统 + +GitHub Copilot CLI内置了强大的MCP(Model Context Protocol)服务器,提供以下核心功能: + +```mermaid +graph TB +subgraph "MCP工具系统" +A[代码与仓库导航] --> A1[文件内容读取] +A --> A2[代码搜索] +A --> A3[仓库搜索] +A --> A4[分支列表] +A --> A5[提交历史] +B[问题管理] --> B1[获取问题详情] +B --> B2[列出问题] +B --> B3[获取评论] +B --> B4[搜索问题] +C[PR管理] --> C1[PR读取] +C --> C2[PR列表] +C --> C3[PR搜索] +D[工作流信息] --> D1[工作流列表] +D --> D2[工作流运行] +D --> D3[作业日志] +D --> D4[运行日志] +E[其他搜索] --> E1[用户搜索] +end +``` + +**图表来源** +- [changelog.md](file://changelog.md#L20-L51) + +### 权限控制系统 + +系统实现了精细的权限控制机制: + +- **路径权限检测**:智能识别只读和写入操作 +- **命令白名单**:支持通配符匹配的shell命令规则 +- **实时权限确认**:每次敏感操作前都需要用户确认 + +**节来源** +- [README.md](file://README.md#L10-L18) +- [changelog.md](file://changelog.md#L20-L51) + +## 目标用户群体 + +### 开发者 + +- **初级开发者**:需要学习最佳实践和编程技巧 +- **中级开发者**:希望提高编码效率和代码质量 +- **高级开发者**:寻求快速原型开发和复杂问题解决 + +### 团队负责人 + +- **技术主管**:需要监控团队开发质量和效率 +- **架构师**:需要评估和优化系统设计 +- **项目经理**:需要跟踪项目进度和资源分配 + +### 技术决策者 + +- **CTO/VP Engineering**:需要评估新技术和工具的投资价值 +- **技术顾问**:需要为客户提供技术解决方案建议 +- **开源贡献者**:需要参与大型开源项目开发 + +## 技术架构概览 + +### 基于Node.js的CLI架构 + +GitHub Copilot CLI采用现代的Node.js技术栈构建: + +```mermaid +graph TB +subgraph "客户端层" +A[Copilot CLI] --> B[命令解析器] +A --> C[用户界面] +A --> D[会话管理] +end +subgraph "AI服务层" +E[Copilot API] --> F[模型选择] +E --> G[Token管理] +E --> H[流式输出] +end +subgraph "工具集成层" +I[MCP服务器] --> J[GitHub CLI集成] +I --> K[自定义工具] +I --> L[权限控制] +end +subgraph "存储层" +M[会话状态] --> N[本地存储] +O[配置管理] --> P[用户偏好] +Q[缓存系统] --> R[临时数据] +end +A --> E +A --> I +A --> M +A --> O +A --> Q +``` + +### 与GitHub CLI的深度集成 + +系统与GitHub CLI(gh)紧密集成,提供统一的GitHub访问体验: + +- **认证共享**:使用相同的GitHub凭据 +- **命令兼容**:支持标准的GitHub CLI命令 +- **上下文同步**:自动识别当前仓库和分支 + +### MCP工具系统 + +MCP(Model Context Protocol)是系统的核心扩展机制: + +- **默认工具集**:包含所有必要的GitHub操作工具 +- **自定义扩展**:支持第三方工具和服务 +- **动态加载**:按需加载和卸载工具 + +### 权限控制系统 + +实现多层次的安全防护: + +```mermaid +flowchart TD +A[用户输入] --> B{权限检查} +B --> |允许| C[执行操作] +B --> |拒绝| D[权限确认] +D --> E{用户确认} +E --> |同意| C +E --> |拒绝| F[取消操作] +C --> G[记录审计] +F --> H[返回提示] +``` + +**节来源** +- [changelog.md](file://changelog.md#L20-L51) + +## 平台支持与环境要求 + +### 支持的操作系统 + +GitHub Copilot CLI支持以下平台: + +- **Linux**:广泛的Linux发行版兼容性 +- **macOS**:最新版本的macOS系统支持 +- **Windows**:Windows 10及更高版本 + +### 环境要求 + +- **Node.js**:v22或更高版本 +- **npm**:v10或更高版本 +- **PowerShell**(仅Windows):v6或更高版本 + +### 认证要求 + +- **活跃的Copilot订阅**:个人或企业订阅均可 +- **GitHub账户**:支持OAuth和Personal Access Token认证 +- **组织策略**:企业用户需确保组织管理员未禁用该功能 + +**节来源** +- [README.md](file://README.md#L22-L39) + +## 核心组件分析 + +### 会话管理系统 + +系统实现了先进的会话管理机制: + +```mermaid +sequenceDiagram +participant U as 用户 +participant CLI as Copilot CLI +participant S as 会话存储 +participant A as AI代理 +U->>CLI : 启动CLI +CLI->>S : 加载会话状态 +S-->>CLI : 返回会话数据 +CLI->>U : 显示欢迎界面 +U->>CLI : 输入指令 +CLI->>A : 处理请求 +A-->>CLI : 返回结果 +CLI->>S : 更新会话状态 +CLI-->>U : 显示响应 +``` + +**图表来源** +- [changelog.md](file://changelog.md#L120-L132) + +### 工具调用机制 + +系统支持多种类型的工具调用: + +- **同步工具调用**:立即执行并等待结果 +- **异步工具调用**:后台执行,支持委托模式 +- **并行工具调用**:多个工具同时执行(可配置) + +### 流式输出处理 + +实现了高效的流式输出机制: + +- **令牌级流式传输**:逐个令牌输出,提升响应速度 +- **内存优化**:处理大型输出时的内存管理 +- **中断处理**:优雅地处理用户中断操作 + +**节来源** +- [changelog.md](file://changelog.md#L53-L70) +- [changelog.md](file://changelog.md#L120-L132) + +## 使用场景与应用案例 + +### 日常开发辅助 + +**代码生成场景**: +- 快速生成常见代码模板 +- 自动生成单元测试框架 +- 创建API端点和路由 + +**调试辅助**: +- 分析错误堆栈跟踪 +- 提供修复建议 +- 性能瓶颈识别 + +### 代码审查场景 + +**自动化审查**: +- 静态代码分析 +- 安全漏洞检测 +- 代码风格一致性检查 + +**团队协作**: +- 协作式代码审查 +- 知识分享和培训 +- 质量标准制定 + +### 自动化任务处理 + +**CI/CD集成**: +- 自动化部署脚本生成 +- 构建配置优化 +- 监控和告警设置 + +**运维任务**: +- 系统配置管理 +- 数据库迁移脚本 +- 容器编排文件 + +### 特殊功能演示 + +#### 自定义代理支持 + +```mermaid +graph LR +A[用户请求] --> B[代理选择] +B --> C{自定义代理?} +C --> |是| D[加载自定义配置] +C --> |否| E[使用默认代理] +D --> F[执行任务] +E --> F +F --> G[返回结果] +``` + +**图表来源** +- [changelog.md](file://changelog.md#L0-L18) + +#### 异步任务委托 + +系统支持将复杂任务委托给AI代理后台执行: + +- **自动分支创建**:基于变更自动生成新分支 +- **PR自动创建**:完成工作后自动打开拉取请求 +- **持续监控**:跟踪任务执行状态 + +**节来源** +- [changelog.md](file://changelog.md#L0-L18) + +## 项目优势与差异化 + +### 与传统开发工具的对比 + +| 特性 | 传统IDE | GitHub Copilot CLI | +|------|---------|-------------------| +| 交互方式 | 图形界面 | 命令行界面 | +| 学习曲线 | 中等 | 较低 | +| 上下文切换 | 需要 | 无需 | +| 集成程度 | 有限 | 深度集成 | +| 扩展能力 | 中等 | 强大 | +| 权限控制 | 简单 | 精细 | + +### 与Web界面的差异 + +- **响应速度**:命令行界面通常更快 +- **离线能力**:支持离线使用 +- **批量操作**:更适合批量处理任务 +- **脚本集成**:更容易集成到自动化脚本 + +### 技术创新点 + +1. **多模态输入支持**:支持文本、图像等多种输入形式 +2. **智能权限管理**:基于上下文的动态权限控制 +3. **流式处理**:实时的输出流式传输 +4. **会话持久化**:完整的对话历史保存和恢复 + +**节来源** +- [README.md](file://README.md#L10-L18) + +## 项目状态与发展前景 + +### 当前状态 + +GitHub Copilot CLI目前处于**公共预览版**阶段: + +- **功能完整性**:核心功能已基本完善 +- **稳定性**:经过大量测试验证 +- **社区反馈**:积极收集用户意见进行迭代 + +### 发展路线图 + +根据最新的变更日志,项目的发展重点包括: + +1. **性能优化**:持续改进响应速度和资源使用 +2. **功能扩展**:添加新的工具和集成选项 +3. **用户体验**:优化界面设计和交互流程 +4. **平台支持**:扩大操作系统和终端的支持范围 + +### 未来发展方向 + +- **企业级功能**:增强企业管理和合规功能 +- **插件生态**:建立丰富的第三方工具生态系统 +- **AI能力升级**:集成更先进的AI模型和算法 +- **跨平台统一**:实现更一致的跨平台体验 + +### 社区参与 + +项目鼓励社区参与和反馈: + +- **问题报告**:通过GitHub Issues报告bug +- **功能建议**:提出新功能需求和改进建议 +- **代码贡献**:欢迎开源贡献和协作开发 +- **文档改进**:帮助完善项目文档和教程 + +**节来源** +- [README.md](file://README.md#L76-L83) +- [changelog.md](file://changelog.md#L0-L18) + +## 结论 + +GitHub Copilot CLI代表了AI驱动开发工具的新纪元。通过将强大的AI编程辅助能力与传统的命令行环境完美结合,它为开发者提供了一个既高效又灵活的开发工具。随着项目的持续发展和完善,我们有理由相信它将在未来的软件开发实践中发挥越来越重要的作用。 + +对于正在寻找提升开发效率、改善代码质量、简化团队协作方案的个人开发者和企业团队来说,GitHub Copilot CLI无疑是一个值得重点关注和尝试的创新工具。其公共预览版的状态表明GitHub正在积极听取用户反馈并快速迭代产品,这为用户提供了参与产品发展的宝贵机会。 \ No newline at end of file diff --git "a/.qoder/repowiki/zh/content/\351\253\230\347\272\247\345\212\237\350\203\275.md" "b/.qoder/repowiki/zh/content/\351\253\230\347\272\247\345\212\237\350\203\275.md" new file mode 100644 index 00000000..b62a7665 --- /dev/null +++ "b/.qoder/repowiki/zh/content/\351\253\230\347\272\247\345\212\237\350\203\275.md" @@ -0,0 +1,339 @@ +# 高级功能 + + +**本文档中引用的文件** +- [README.md](file://README.md) +- [changelog.md](file://changelog.md) + + +## 目录 +1. [简介](#简介) +2. [自定义代理系统](#自定义代理系统) +3. [异步任务委托功能](#异步任务委托功能) +4. [多行输入支持](#多行输入支持) +5. [自定义MCP服务器配置](#自定义mcp服务器配置) +6. [调试日志配置](#调试日志配置) +7. [高级权限控制](#高级权限控制) +8. [总结](#总结) + +## 简介 + +GitHub Copilot CLI提供了丰富的高级功能,使开发者能够更高效地与AI协作进行代码开发。这些功能包括自定义代理系统、异步任务委托、多行输入支持、MCP服务器配置以及专业的调试和权限控制选项。 + +## 自定义代理系统 + +### 代理定义加载机制 + +Copilot CLI支持强大的自定义代理系统,允许用户创建和管理专门的AI代理来处理特定任务。 + +```mermaid +flowchart TD +A["启动CLI"] --> B["检查代理配置"] +B --> C["加载~/.copilot/agents"] +B --> D[".github/agents"] +B --> E["组织.github/agents"] +C --> F["解析代理定义"] +D --> F +E --> F +F --> G["注册为可用工具"] +G --> H["等待代理调用"] +H --> I["执行代理任务"] +``` + +**图表来源** +- [changelog.md](file://changelog.md#L0-L18) + +### 代理位置优先级 + +系统按照以下优先级顺序加载代理定义: + +1. **用户本地代理**:`~/.copilot/agents/` - 用户个人定制的代理 +2. **仓库代理**:`.github/agents/` - 当前仓库中的代理配置 +3. **组织代理**:`your-org/.github/agents/` - 组织级别的共享代理 + +### 代理调用方式 + +#### 交互式调用 +使用`/agent` slash命令: +```bash +/agent my-custom-agent +``` + +#### 非交互式调用 +通过命令行参数: +```bash +copilot --agent my-custom-agent +``` + +**章节来源** +- [changelog.md](file://changelog.md#L0-L18) + +## 异步任务委托功能 + +### 委托命令工作流程 + +`/delegate`命令提供了强大的异步任务处理能力,允许Copilot在后台完成复杂的代码任务。 + +```mermaid +sequenceDiagram +participant User as 用户 +participant CLI as Copilot CLI +participant Git as Git仓库 +participant GitHub as GitHub +participant Agent as Copilot Agent +User->>CLI : /delegate "重构登录功能" +CLI->>Git : 检查未暂存更改 +CLI->>Git : 创建新分支 +CLI->>Git : 提交未暂存更改 +CLI->>GitHub : 创建Pull Request +GitHub-->>CLI : PR已创建 +CLI->>Agent : 后台执行任务 +Agent->>Git : 修改代码文件 +Agent->>Git : 提交更改到新分支 +Agent->>GitHub : 完成PR合并 +GitHub-->>User : 通知任务完成 +``` + +**图表来源** +- [changelog.md](file://changelog.md#L0-L18) + +### 委托功能特性 + +1. **自动分支管理**:系统自动创建专用分支处理委托任务 +2. **智能变更提交**:仅提交相关的未暂存更改 +3. **PR自动化**:自动创建Pull Request并跟踪进度 +4. **后台执行**:任务在后台持续运行直到完成 +5. **状态跟踪**:实时监控任务进度和状态 + +**章节来源** +- [changelog.md](file://changelog.md#L0-L18) + +## 多行输入支持 + +### Kitty协议支持 + +Copilot CLI默认启用了Kitty协议支持,提供优秀的多行输入体验。 + +```mermaid +flowchart LR +A["终端检测"] --> B{"支持Kitty协议?"} +B --> |是| C["启用Shift+Ctrl多行输入"] +B --> |否| D["运行/terminal-setup"] +D --> E["配置替代方案"] +C --> F["多行编辑模式"] +E --> F +F --> G["Shift+Enter换行"] +F --> H["Ctrl+Enter提交"] +``` + +**图表来源** +- [changelog.md](file://changelog.md#L120-L132) + +### 终端设置配置 + +#### 自动检测 +系统会自动检测终端是否支持Kitty协议,并在不支持时提示配置。 + +#### 手动配置 +使用`/terminal-setup`命令进行手动配置: +```bash +/terminal-setup +``` + +#### 支持的终端 +- **VSCode及其衍生版本**:内置支持 +- **支持Kitty协议的终端**:需要Shift+Ctrl组合键 +- **其他终端**:通过`/terminal-setup`命令配置 + +### 多行输入特性 + +1. **无缝换行**:Shift+Enter实现自然换行 +2. **智能提交**:Ctrl+Enter快速提交输入 +3. **历史导航**:上下箭头浏览输入历史 +4. **光标移动**:Ctrl+B/Ctrl+F前后移动光标 + +**章节来源** +- [changelog.md](file://changelog.md#L120-L132) +- [changelog.md](file://changelog.md#L134-L141) + +## 自定义MCP服务器配置 + +### 配置方法 + +Copilot CLI提供了灵活的MCP(Model Context Protocol)服务器配置系统,支持临时和永久配置。 + +```mermaid +flowchart TD +A["启动CLI"] --> B["检查配置参数"] +B --> C["解析--additional-mcp-config"] +C --> D["JSON配置"] +C --> E["文件配置"] +D --> F["合并配置"] +E --> F +F --> G["加载MCP服务器"] +G --> H["注册工具"] +H --> I["可用工具列表"] +``` + +**图表来源** +- [changelog.md](file://changelog.md#L98-L117) + +### 配置格式 + +#### 内联JSON配置 +```bash +copilot --additional-mcp-config '{"mcpServers": {"my-tool": {"command": "python /path/to/script.py"}}}' +``` + +#### 文件配置 +```bash +copilot --additional-mcp-config @/path/to/config.json +``` + +#### 多文件配置 +```bash +copilot --additional-mcp-config @base.json --additional-mcp-config @overrides.json +``` + +### 配置优先级 + +1. **基础配置**:默认的GitHub MCP服务器 +2. **附加配置**:通过`--additional-mcp-config`添加的配置 +3. **覆盖配置**:后指定的配置会覆盖前面的配置 + +### 环境变量处理 + +系统改进了环境变量的处理方式,现在支持直接引用环境变量: + +```json +{ + "env": { + "GITHUB_ACCESS_TOKEN": "${GITHUB_TOKEN}" + } +} +``` + +**章节来源** +- [changelog.md](file://changelog.md#L98-L117) +- [changelog.md](file://changelog.md#L143-L158) + +## 调试日志配置 + +### 日志级别配置 + +Copilot CLI提供了详细的调试日志系统,支持多种日志级别。 + +```mermaid +graph TD +A["日志配置"] --> B["none - 无日志"] +A --> C["error - 错误级别"] +A --> D["warning - 警告级别"] +A --> E["info - 信息级别"] +A --> F["debug - 调试级别"] +A --> G["all - 全部日志"] +A --> H["default - 默认级别"] +B --> I["最小输出"] +C --> J["错误信息"] +D --> K["警告信息"] +E --> L["一般信息"] +F --> M["调试详情"] +G --> N["完整日志"] +H --> O["平衡输出"] +``` + +**图表来源** +- [changelog.md](file://changelog.md#L120-L132) + +### 配置位置 + +日志级别配置存储在全局配置文件中: +``` +~/.copilot/config +``` + +### 可用的日志级别 + +| 级别 | 描述 | 使用场景 | +|------|------|----------| +| `none` | 禁用所有日志 | 生产环境,性能优化 | +| `error` | 仅错误信息 | 故障排查 | +| `warning` | 包含警告信息 | 正常使用 | +| `info` | 详细信息 | 功能调试 | +| `debug` | 调试信息 | 开发阶段 | +| `all` | 完整日志 | 深度问题诊断 | +| `default` | 默认级别 | 推荐使用 | + +### 调试功能增强 + +系统增加了多项调试功能: +- **API请求ID追踪**:每个模型调用都有唯一的请求ID +- **堆栈跟踪记录**:客户端错误包含完整的堆栈信息 +- **认证状态监控**:记录认证状态的变化 +- **工具调用调试**:详细记录MCP工具的调用过程 + +**章节来源** +- [changelog.md](file://changelog.md#L120-L132) + +## 高级权限控制 + +### 路径权限管理 + +Copilot CLI提供了精细的路径权限控制系统,确保安全的文件操作。 + +```mermaid +flowchart TD +A["文件操作请求"] --> B["路径检测"] +B --> C{"路径类型"} +C --> |已授权路径| D["直接执行"] +C --> |新路径| E["权限确认"] +C --> |临时目录| F["自动授权"] +E --> G{"用户确认"} +G --> |同意| D +G --> |拒绝| H["拒绝操作"] +F --> D +D --> I["操作成功"] +H --> J["操作失败"] +``` + +**图表来源** +- [changelog.md](file://changelog.md#L143-L158) + +### 权限控制选项 + +#### 标准权限模式 +- **交互式确认**:对新路径进行用户确认 +- **路径白名单**:预授权的路径自动执行 +- **临时目录授权**:默认授权临时目录访问 + +#### 高级权限选项 + +##### 全路径访问 +```bash +copilot --allow-all-paths +``` +此标志会自动批准所有路径访问,适用于信任的环境。 + +##### 工具权限控制 +```bash +--allow-tool "shell(*)" +--deny-tool "shell(npm *)" +``` +支持通配符匹配和精确匹配的工具权限控制。 + +### 路径检测优化 + +系统改进了路径检测算法,避免不必要的权限请求: + +1. **只读命令识别**:自动识别不会修改文件的命令 +2. **重定向处理**:智能处理文件重定向操作 +3. **API调用优化**:优化GitHub API调用的路径检测 +4. **命令解析增强**:改进各种shell环境的命令解析 + +**章节来源** +- [changelog.md](file://changelog.md#L143-L158) + +## 总结 + +GitHub Copilot CLI的高级功能为开发者提供了强大而灵活的AI编程助手。通过自定义代理系统,用户可以创建专门的AI助手处理特定任务;异步任务委托功能使得复杂的工作流可以在后台自动完成;多行输入支持提升了交互体验;灵活的MCP配置系统允许集成外部工具;完善的调试和权限控制确保了系统的稳定性和安全性。 + +这些功能的结合使Copilot CLI成为了一个功能全面、高度可定制的AI编程平台,能够满足从简单代码辅助到复杂项目管理的各种需求。 \ No newline at end of file diff --git a/.qoder/repowiki/zh/meta/repowiki-metadata.json b/.qoder/repowiki/zh/meta/repowiki-metadata.json new file mode 100644 index 00000000..1233cb7a --- /dev/null +++ b/.qoder/repowiki/zh/meta/repowiki-metadata.json @@ -0,0 +1 @@ +{"wiki_catalogs":[{"id":"8246b79b-3760-4f69-8336-44bbff44b615","repo_id":"c7b9d1af-8560-4e8b-bdb9-a5b9e55eb3c9","name":"项目概述","description":"project-overview","prompt":"创建全面的内容,介绍copilot-cli项目的核心目标、设计理念和主要功能。解释该项目如何将GitHub Copilot的AI编程辅助能力集成到终端环境中,支持自然语言交互、代码生成、文件操作、Git操作和PR管理等功能。说明项目的目标用户群体,包括开发者、团队负责人和技术决策者。描述项目的技术架构概览,包括基于Node.js的CLI架构、与GitHub CLI的集成、MCP工具系统和权限控制系统。提供实际使用场景示例,如日常开发辅助、代码审查和自动化任务处理。解释项目与其他GitHub Copilot产品的区别和优势。包含项目状态说明(公共预览版)以及未来发展方向。","progress_status":"completed","dependent_files":"README.md","gmt_create":"2025-10-31T11:54:56.746258+08:00","gmt_modified":"2025-10-31T11:56:28.944861+08:00","raw_data":"WikiEncrypted:0MI1/XkBoMl0lTbK6t0Cn/+8FdvqrJ62ianMLvZj02elJtBUgH0Ns0veIx1WPtM9wwkxI+/XAqHLxJLlHB8wV7f+ZSFsWmYrjwHaKSwENxBxN1ucZGW6XlNSs2MVdc8o81dHE6Xi9yxQ6cvUeNEyy87SABjc0vOGULZDXeOpZAQB69uLreSoBKXNew7YG0JsZ46MmIwTainTnPMT31hz/iXkJOdGlPEqjfE8Hm4tVp9J+Q/fGm1fKNhR73anCl/wLKTV+ufoLOyPtCXsxCJpp+xM06qP62MyAFiaw3hdktqMFmzRwVR5XFLZlEjnM1OSMmxZI7+2XCi/lr8GANdo1wMqRO9xARD3bz/4r4YFNrXy+57lkOAeyuD2+uDhRRtj9otAnrlQ27ew+OaObLOfJu45yRvmXMNH5ipXQtAZ3XvZx9/MOo5+5XRJmVG+mMsziyX31OTMkV8BkG9cRO2DM3d7sFaxYLhJ1F9hPMIz7QmKG8YRXYKBFTqwheqZBS4mLgwFmVdz79hF8bDbEL+0h8S5yyYNfeFAgjBpc06m0ztt2EyDkcJJwzuDpj59PfdT5+OfPSybldzZfRLK1OyMEhxF+07qoo9MdA0MIejVc/nRtUP4vDH8D4BodUVNS05r4FdSTGB4jobsKleP79KvmFL9Ddm5qjW2Ds30iwyjwavdyVUuVcBHDCviOjvCu8molounmcdBTMhmC34C57Wj6bwRM8Nmvj9+fqPlJC3tmmaBhmwpt5nuWbQPMdrfKeG3mJYnw4zBHdL9Sn9CG25DkTsqFRkuB0DU/WqjZg2BxdB8D2vqOu6vk208pf9EJPw2VQQjMpUvmaFBo2vk3yMdRe0cRvWFgvZ8WB6jLROZqdCHpqAa4YSJmdYU4b0jZItn5vE7V0uPQjk+4ZyKhtMzCDMkY0kOzbY47OYq/SMfBh1EHczWSDwgvxHMHUfcOkDtgY8+H3fum1yy1flQOxiW5bo77Z+a92CCy8RRus70oFOMK8JQoE6ZBsoAEEI8S/ne7b+QRO5F4O0ccSo7FjSMYUcoYF8zzz20N8cVPCTvbwSsHh/ShPZXeEc9kH4C3IBO2Xjlj7J9G+9IKbxGWOBo6gPviQLv8u6BZ9nTuGTNTToxzTVB5S5gnG0vpasE2uqzjEbeWMaMxUFGfu1XnZjXAxLYcysq6O0VAkKUzVrE5cK1XaCFsUhapL++T0yWEu5IxYmIBt5TJZCbrE0FjQtzMc77y3XkQptEU7hE1AHItAY="},{"id":"d1ac8eb3-6d25-47ea-91a2-098859208a6c","repo_id":"c7b9d1af-8560-4e8b-bdb9-a5b9e55eb3c9","name":"安装与配置","description":"installation-configuration","prompt":"详细说明copilot-cli的安装步骤和配置要求。包括支持的平台(Linux、macOS、Windows)、必要的前置条件(Node.js v22+、npm v10+、PowerShell v6+)和GitHub Copilot订阅要求。提供全局npm安装命令(npm install -g @github/copilot)和启动方法(copilot)。详细描述认证配置流程,包括使用/login命令进行OAuth登录和使用个人访问令牌(PAT)配置环境变量(GH_TOKEN或GITHUB_TOKEN)的方法。说明企业环境中可能遇到的策略限制问题。涵盖环境变量配置如GH_HOST和COPILOT_KITTY的使用场景。提供常见配置问题的解决方案和最佳实践建议。","order":1,"progress_status":"completed","dependent_files":"README.md","gmt_create":"2025-10-31T11:54:56.74856+08:00","gmt_modified":"2025-10-31T11:55:57.350914+08:00","raw_data":"WikiEncrypted:6nDTd1wU0hYJuRoAJhne4WtyEnYmhxdVsqDFxARVgcjHHH2m9ve829uQk6AXy2hUn84DrMD3Q/s2aArtBnqEBo+kja5ssFG20l2KO8gyjycD9L7yrD1EROddlzpgBHbZWzEKEDnmjybhsmYDSdCaxq1IxzP3eWZeoi6HHB7+CWhaXoYBCVOPwm4NnL2nBjJ6ko8AVWe694GgAiKAkkUZ6VX7+s2356D3rx4yCHqSeDfctqAGmnfQQy8aYZd0HLiJZIs0rO16vr+v2GQyaiyKNUnTYP0mfhT4bkKPbdY4VeBBKbQfEZOmb+63xn5SV0Vas0lw4c9gQothAlNrn9qQtIbipMseNoHlrauNs6tcL0tUqhrSeL6iuCXQlINe6wCXhas3mSm7HHTd8EQpyC3+53s3p2U929UVFbEil+j9hhtQBe7QVJWOpy8BWWQrpM1ICKSe/tKvAggsfumQEjkS307EE1FJ8Ta+PRuLwCDVqMtKjzQgbHvDmVzPtkkITbwb5MMNBiV5i/bYUw2HUBK57zz1v6sEcBtPwhWE6Gq/SoThDfd9XXO1nfalqm2LjHUcdZY2G57UdwayuFptsBAbEyujeXMy7LxVr/uF8Cng30XMHfCNRJOI7G6gvtUq5CDiQc0Gf+axLvIX8jZTG0o6hSntS7C1y4p8XZ1oUdBavZHGRhcSZKX3lIQzpdlijAL6KHdJWVP1kB9RidrUCXZZY7R8O0pbHvfQ63pfXVUMr1dwIeGmj5r2gwXutZwhE0ERx9PTQ5GZHc8umiAUNSm8qzHvSOUM5PHO5OTv4l+JssJDsK9NYcfecstTI3Tiey1x/nhHuxKy51nLOBGgOdzYbfAeHn5RxDpnfqcYiyIk40OiloXTs++ORPi5hbe9AGCqbgT6pYhnGRg9nVIMgBl0r0rwk25tyvjpRB9QKPmeqz1/B2GvcTTNpSssEmBSFgPCme9912idmhrAuPkcHgxvCZYyDnHbIpeigYuwvzYOVw6yfBRt7bmSAyRBo8MmTn55cNkHWj9NNZmjtgANp9hCzQYD2379LohrVfs6GcRs1zVFNM8X/woKkzU3F9Z8XtuEFtIt20bOqcHE6TBnO5xlqoDc3RI/oW/svmb1oOcD3iK1gU4RMYoeJUBAxkqfabgmP6jYqp/gjjhgRHzEUc5h2w/HWAgitLIFXtIOnv++iU4fPKHpJqqE5zob04q5Chntl/L3/4GXPELEhTmN/aqrTRY12qZYtxf6m/nAZjOMc3I="},{"id":"808df0e4-a746-4345-befa-11f311453c18","repo_id":"c7b9d1af-8560-4e8b-bdb9-a5b9e55eb3c9","name":"基本使用","description":"basic-usage","prompt":"提供copilot-cli的基本使用指南,面向新用户。说明如何在包含代码的目录中启动CLI工具,以及首次运行时的欢迎界面和认证流程。介绍自然语言指令的使用方法,包括如何提交请求和查看AI生成的结果。详细描述核心交互模式,如使用斜杠命令(/login、/model等)。解释默认使用Claude Sonnet 4.5模型的行为,以及如何通过/model命令切换模型。说明每次请求对用户月度高级请求配额的影响机制。提供几个典型使用场景的示例,如代码生成、错误调试和代码理解。包含启动参数如--banner和--resume的基本用法说明。","order":2,"progress_status":"completed","dependent_files":"README.md","gmt_create":"2025-10-31T11:54:56.749927+08:00","gmt_modified":"2025-10-31T11:55:50.892595+08:00","raw_data":"WikiEncrypted:OVW48CGFh2rQaIE/lBBJpP10HIBrfXSiqlN9laP0AdAgK9TRlkmJpdO3JNjvH9AzE3A2sVFtU4tQ++lW/uSVnK51F6x0mobnIcll37GH1XlsON5cb/S4nqleey49wdJKEU7vg0GL7ouiRWAI/ZwXj+5op1sWKbIh0tlN3p/G686yDdmZ4taxNykDFMr4JGILtFi3tvxJ8wZBZvxIqeQ/XJLNbO2/DH1Z+V5WurPuKuFS1LpbqZE+pItjY4supJV6yygLmvs0EnJXdNJGLdzCgeR+dTiZsIfpmJzwdb3a7sFlajnVsjf1TPgxfskjUBBIlDJqq+Ahc9DquD4tViQI2uRObk4aE6EQkVgqi2axtUq1Tq33FlLqUyQB5w3rE6ouVftNm2NNfEBiD/HmLwvchb1IbC+FmoDH5gkEanFynbYayh3+z+OrJeiBbKsDbirWvr3cPkq9I5H0Td0S32SzwiMdmPnMwqPmEwTGke9W+vYOMtwDBIpfmIYkjJV3PwXqYifLhibI5zNWZFfIm5jqvXAwXbtgLd3GpAU4GjzJywiFfCotb+ol0NJ7SxI3L7nyPMPQD+m6iY6mn/EZ9bUgbpuxOqxpRYg45w95AuR2lTtdrqclnuu+7CoivhnOMGsCBxcMIH5hRDiHJx5yxXjsPWfo+LYP+ZQvgpz114R4zdBqcqSwzwpRdse9mFzfkysJ0KnmlcXXb3mScw2FMVDmoheVO7I1O5F1w3UNiHr5Ju/sB96ekO4pTHl7kqmKFT3bUVk9bc10KGu8dHWzAHi2TwUM8E1bYyzdLBx2wyo9lUvdlp5CHLs0gznS4yFkSLCJn8mzv6PkaY0sHluWoa8YJkbklAMpRvoO/f5Tmc4be3YLc+583WyB9qIEJoAcLQDq0HQO5xOhUSfSWcMUOxKKig9zGTKf3NVenkqQVOaAh82fOY6lrSC3g+0A5d+3qZ5tROju1Bz0cClbnAKtXRk58D/V97i/bq7bcxBWbronFuxPO5u9DOWT0AuA/8WMoGpj2Wwm4Pt99PhloMqpXlhaL7nfRYn4SERJ8EjO8etCPPYNXZ4+x1luR3bJJ4lxKfoeGySbktCHwRWm+zmNNB3w4soNagTopp/pbP5D44Z8tzN/qQyfhYq673Vr0xoJ5glrj+JG39MaGDlclI6mwGJ6gfshR6yT/n3Zia0caaj9Ev9TsRTOkMqptkomakYaMxYx"},{"id":"8d8a4b38-383c-462e-bcff-d7775561d48d","repo_id":"c7b9d1af-8560-4e8b-bdb9-a5b9e55eb3c9","name":"核心功能","description":"core-features","prompt":"深入介绍copilot-cli的核心功能特性。详细说明MCP工具系统的运作机制,包括默认启用的工具集(代码搜索、PR管理、工作流信息等)和通过--enable-all-github-mcp-tools参数启用全部工具的方法。解释模型管理功能,包括支持的模型类型(Claude Sonnet、Haiku等)和动态切换能力。描述会话管理机制,包括会话状态持久化到~/.copilot/session-state目录和会话恢复功能。说明权限控制系统如何检测和请求文件系统访问权限,以及路径检测启发式算法的优化。介绍工具并行执行功能和流式输出特性。提供这些功能在实际开发工作流中的应用示例。","order":3,"progress_status":"completed","dependent_files":"changelog.md","gmt_create":"2025-10-31T11:54:56.750628+08:00","gmt_modified":"2025-10-31T11:56:53.868728+08:00","raw_data":"WikiEncrypted:luoNp8LvFa7zGThvIT9T4gfD6KbzJyTAydbcRfVv0b4BXBAF9G/unmbHb0x4cm5f5JJeO16NqGe5C5EiggSB7hraDe8drdN7W0idiTjbtyQByqSw7yLr6UxKOvKVqZs0l+Jskyd/z53pYo69NWNp83+l/LPiN+slRCX8kbzZm4iBEm67HumwTFhlO4LraDlQip5Tcr7QsAE9Nt/M/llNjHdXjxh9l5tzj2VLEJNLMuBIqF//kQzQXxJWgWNcG/Wsx2o/dGixeCncS/GIdCnaF7ttYWm2uRqE4jEqnnKVlkgyS3F+lCgHFWISRLI1q0pjBBSmGALTNUEeTIk3HTvVEojaDZvmuc6chD6IlEC3UxsXW3e7/yaPjPlimcD00GRSz0Y8pUg30qr5bZzi1EqOfzithidlcZcVOPvx8jsgMh1Rbd0mD60Djvakf0eoWjQb7U+npdzofodGrF6RTmQ48keI1SBIsGcSL8wxkUTPsOXEa641kyJtXAfKFahagJLXRQXqg5nKEMEhAaBU/hn7sBiGzrIbppQgAo2rkVmqCQ/ps6zT5EF2Zfpk156kW9vpbVo7cgc+MHphgY/SC8Q7w6p3R9i62CjkGEuWYjZ43fOZdxuJzWn6TRZBilJgyPH8AF5AkrIjgfhTXQg8Faa1nlOZx2GzZvZVYym2uB7pV04ABUMK1bdKLhqV8YKRKSBXN4d71Tt6jk98pKobnujsi+jDgeXmB6fcRy7QY7EEvYxvVpZvSfFSCmb/9vyF/8Yz9HyG3OTGWb2JvXWkH8IVguNl97Qzx+u5JcTVrzys/+xQF7kirzdWHx1yOqEtlRlN/8TKpxBJyZ72nu2jiyUythEs6LJDtD5qe7y9+d2QKDVXhzX6HJr46WK4tAilBBpLDzCaROsiiRqxGPjJ+mUBGgMfypz5LkTU/WvvIhbXz92iFVbzyzdIPoSthYAqw8nb6qji6Vhq9zt7MYFyQi2UvjEI2bE9cUUkEU3JOEQJDIEnj+vU8o0KpBl5iIDErTOnbrSXdFNArE7jEULiOc5f2svECpVQIDIUuam0l51+1eOXFEfQwGP0OxCJkLix+91OlnhFizaOnze81Dj2vWKKXMqH5va3o2pk70LbCsX8WOHoxy3IBHfwQnSVTyGBaRVSuwq8Pgshv7uSuhJ13j6ZAVuMd5rOZZus45v5yq9+p9WF8wgiyBJdSV3n6r2PsKw1li8h3VTpZlMAG43Q9b47nwtkLIi9AY65P3oTHGek6EeImPDtumdfHxbLjevNkWat4Es2wdolQ3OhLttKORSihfNVNLsbxwhHszFe+jaJhDmuWIYYhXDoIHsyK4NrY8Iv"},{"id":"a8d64afd-186c-4107-9006-255f9c4f8a88","repo_id":"c7b9d1af-8560-4e8b-bdb9-a5b9e55eb3c9","name":"高级功能","description":"advanced-features","prompt":"详细阐述copilot-cli的高级功能和扩展能力。说明自定义代理(Agents)系统,包括从~/.copilot/agents、.github/agents等位置加载代理定义的方法,以及通过/agent命令或--agent参数调用特定代理的方式。介绍异步任务委托功能(/delegate命令),描述其工作流程:创建新分支、提交未暂存更改、创建PR并在后台完成任务。解释多行输入支持,包括通过Shift+Ctrl启用Kitty协议支持和使用/terminal-setup命令配置终端的方法。说明自定义MCP服务器配置功能,包括使用--additional-mcp-config参数临时添加或覆盖服务器配置的方法。涵盖调试日志配置(log_level选项)和高级权限控制(--allow-all-paths)等专业功能。","order":4,"progress_status":"completed","dependent_files":"changelog.md","gmt_create":"2025-10-31T11:54:56.751109+08:00","gmt_modified":"2025-10-31T11:57:03.740215+08:00","raw_data":"WikiEncrypted:qSUmbhu+RuqdVWUcJ+wGd4e+ZlhOlcU0FTi9snO9I33QJyLYTeXkE/Txlm58Tft4MhM+wrlC02th/3a3Zqrs9ZHCupmekQvOxksovViXPI9fUcmX7kKOu/avMbxnuu71Gue4GIIM1riyFKhhow2hNp3VYdIK8FivE/P9wEkSKrHBTbL/ODhIo0AATdjJYDkktn8Q9EOoBZzu/BzEi4/49XUK0v5eqL1ABnFuTUG5eeiV6us18xJhRtMq0pa2atdyon5Qz/S9fjRTWOKCWReq6rjCx+HwcUIfdXb7pxwdPQomR4caQdqe3SI/0lP719JeUHIoQAg3ehG8OEKv1i6MteotwtP7KmeyDrRO0Z03iR6FiN81oc6I3fRM73QYWc80YZEKkJNiVX7qLGaaH39uMW1CtPaY8b2kBKGXDYtFb4zv/EVwiGutRPKDnVU+jaGXv6xQ7oaNVEAaPbXyoS9AgKX2l0RkbSQ8jJa49vUFa41lLPk49w6zepNKQ/OsBQTXLSeHeIYgZ+9U1UXbRW1J3Dw6g3mAi5w/q+5bruBnnLeJ54U7iJevU9UERpwYTx/+09NvQSkAKK7aoUSTjZjIVXlIpk0mujpaEolNYEOUjIyy7tZC9ceHAWfPSva2k0jmI6MuagstwgraYdUVccFGQ4/JLb/jx+kn7ZkCGi4CPfjX3JUBnktr0a8V4e3n/SRdlHTrkiOYZLZIzhDJ5pz/Qw0qJKq7R0u52/jBnz19tHYiundG5/PISv57dupGabZ1nHprpKhrVnc3vLv8NoKmA+c1f+7iPc3297cePso+f4cyhG5cvD37o5uUwpUsh94iqcqa5pLs2d09XMb/i7qKzWcDCVojowXfG4oW4RKspOlR/KxHPRhHljx0DkO6IwBYB+l6M9G+cikeVKNUbLgW6j+iQNpBxJiZNOoP211KfHaZPVVAgm0ONjzhQXbNX/3wBKiGfBwDUXucd33918n9libfo/dJKa/GoJGM/nKv7wMVwk8td4MgdwyFJd+J47AFTJPCwzBvxOFFo/QjTjAhZtL0RYyGgI2jkZuvczOurL7ZcIzFOOeaDvIW+2zZPfHkFgKqAUSX7P+60HbMdq9ogK6Z+EWmzQh8EjYFM8wy6Ts6Yrka+2RH4nnKPDR7nPYBprJT53p8GHrq7aAI2Ggt51Eflo/XLG1dQnWC2/uONH2Z1jorkIxKUMULFXfEPc7VNyGYeb4KbFKGGezlo6pCyKxZy/p+2qAGPn5yn2mpbI5dqHFtcVCpG7OT06lJpOPLmFJqJCLNPALUN37mMGgH8GoBBkq8xsmup6h5IRGM8d4P0xg7fvbsLHZDgGSlcyrNCQ08A0HDjHhT++W/IRKFXmik1+pJ6Fj+1gR//zclwrqngG6lCJj285jZrq4FJlRTj5R2X9WCvz46lDFq4anRhctaaNp7zXoS1GGlKWCM2H2LjJlycKzVwXCvdVu19BMh"},{"id":"41fd0dd4-efeb-4eb7-9eac-9ed5c3a60462","repo_id":"c7b9d1af-8560-4e8b-bdb9-a5b9e55eb3c9","name":"配置与环境","description":"configuration-environment","prompt":"全面介绍copilot-cli的配置选项和环境变量设置。说明配置文件的位置和结构,包括~/.copilot/config和~/.copilot/mcp-config.json。详细描述各种配置参数,如日志级别(log_level)、模型选择、MCP服务器配置等。列举所有支持的环境变量及其用途,如GH_TOKEN(认证令牌)、GH_HOST(自定义GitHub企业主机)、COPILOT_KITTY(Kitty协议支持)和HTTPS_PROXY/HTTP_PROXY(代理配置)。解释配置优先级规则,如命令行参数、配置文件和环境变量之间的覆盖关系。提供配置迁移指南,特别是mcp-config.json中环境变量引用语法变更(从直接值到${VAR}格式)的升级说明。包含配置验证和故障排除建议。","order":5,"progress_status":"completed","dependent_files":"README.md,changelog.md","gmt_create":"2025-10-31T11:54:56.751752+08:00","gmt_modified":"2025-10-31T11:57:30.332928+08:00","raw_data":"WikiEncrypted:aC5ZtUyEKPSxjzg//aVllEmjjD+mS4moNlsGnmxLFACN35KaaI9WNJgvtgbEI54knI9tcEE5HTXm0e7HYODRaXR0fp+bIjITxbYbbuDqubfG4Onfqmloo+aXsJr8hsSzYydFYw05+mdFrC//8I8lMnl2VfOwY1V8KVusYrQdgSHgqUnG4thMQSuKgqPSdvHIlWu39CyiVdaW2jZWl+1kfDfaS2HDYce/iPt4+ZihVXLsaInMhEy7VEnXwwD3IW+fVTMEovPz74N8lZEnGk744jgV64VPFdiMqFan2qyV3wcCP8lNqTiGuo7PGs30VZrwV47BkyykewQrrL8VYK9nGjjJ2jzu5mdB/joPbUFgfHp/wrEY4NxM6LQPF2IWle/VUoysqao2P//gRodBv2j6PHwmEQdjSbRtqUpmaFAMF7CCaFeBcjvgJXGss9YRWXSceVSBgS9cDO2tMjAtYjO1NE6DN3SlCamADfZYz3G6I/Z8CiWy+4RLAQfcGGB1yMXurYdZP0JwON9KpLmVg3W+qHyt3Hc+ccA/3KhOQDiOkYtmLMyFF5eefGSb+VtQrJ3kO7772TYw6rQGM7SPvqZVEXaoP2ImLi7bzq/i9y+6D/bu4YDyeDD94ixT3IvjBM1cJg2PHDHVkVOw74scO/EyZf4C0a7BZmJ3Kzje5r2Sou0rxuidwF1HAFIRsifKbetp4zVti7gk3H/s1ii16KVeDo9wEQ/BpalFDucxk+B4eVVl1+MUzP1qFbCP5fwfuV29nWD7saU+t+cNr0UehAXqdqv+uZpKZIpCdYRgwoji7N84zqhcWpTYqHikl+Qc3pyIGuPB7iyZfiCN/M1cg4PdeDTTU5eCvreo6K3YEd+JNZ60JEfT22BPWD6mmlhxiVLt5T1UTzlmZ7cVYol4kZwSjLgTahle9okBzZkuKMLi2qhhNlruuRVqh8NY3WPOXdhGWXdGAgmaayS7yRjdtR1vLRSpiMPfBD8IUn/hN9Hw4fQop70Qh0n0J55lBZL/PtekgwegMH20p9Hid0SRwtYwP8/yWlazm4ZApawKqnwcFfGw1ki52qM+Zu/OWLoZ2aFSnkgj6fFY+zA+/1dclaujNsstaMwEH/EheTpKWdruY5SzaFEqLM4t2GIdoroXynrDdXmAEW7KVBN2ZPBnlso74rB2iqQO/8QckQ4gFFQMYqvrFLeqwjtqkG581J9fbwLVRR4ffbWv+GUhnPGzITwtYNO1ju6mitOtyHre3mqKnwW2z+bYa7miRrZI2vCsKF1AoTWy+aRm/GOp7qR+kOlaJPoVfUzeSwNGoPC8Zwtln4FyMuLSJPW/2jcxFJkFUNaDOnNT09Fxla0w6IR5z82VIL22VUBS2cVeqlT5ZhhRH/zIzwUWI+E/jIzMWqZiagu4"},{"id":"92363900-88ed-4f0d-8d2c-1179365ee116","repo_id":"c7b9d1af-8560-4e8b-bdb9-a5b9e55eb3c9","name":"故障排除","description":"troubleshooting","prompt":"创建全面的故障排除指南,解决copilot-cli使用过程中可能遇到的常见问题。分类整理错误类型,包括认证问题(组织策略限制、PAT权限不足、OAuth登录失败)、环境问题(Node.js版本不兼容、代理配置错误)、功能问题(工具调用失败、会话卡死、多行输入异常)和性能问题(响应延迟、内存占用过高)。针对每个问题提供详细的诊断步骤和解决方案,引用changelog中已修复问题的上下文。说明如何收集和解读日志信息,包括启用调试日志(log_level=debug)和定位日志文件。提供版本兼容性检查方法和更新建议。包含反馈机制说明,指导用户如何通过/issues、Discussions或/feedback命令提交问题报告。","order":6,"progress_status":"completed","dependent_files":"changelog.md","gmt_create":"2025-10-31T11:54:56.752823+08:00","gmt_modified":"2025-10-31T11:57:41.694382+08:00","raw_data":"WikiEncrypted:CaKOW8OSSWs4aEYk06Hu0hGGy7zXJE5t3XZJK+9x87Wqy/1Xzi+22LbOfczFZkieMj5WEpLZAHMOxW2WrQJBBOMzCT3t4BWA03fu8CtmOmNu9BteesJPpLaKdX0K5W+PHphN9zjfe6ItaNpsECHy3/cCKp6YQ7VHwD6tDR3N0hP782j+qC8mUANKjMxJ6yjiP++Rb+st6N9cF4t/mH0j0ILtuVOcTznjTnyhjEIXcnqQNEYiTa4f40aPP936qQHsufcRDIq2UEMNNZnBlMk2aGYG4qiPsWk5yKdkaGfiYnvu1Hjq5RZeIWY5OpB+VV2tS9+AVKoZTfL9qd7+xUy6naN31guxtg7u+lPiIw4TQtw47qwJESdLkcJx1P0J8nBppcLqLHCmms5z7GaSQl4BbBpYyQ1FtTR0aSx5Hi3IMN2du0UhLnoqFJ+leQUaoo5YXBibUg1wzeTWq0gtwIh9PO3oQ1rbD4CpUUsPnA8s9p570S6/ax+ucw5fKYZZACx3bNjlkFvXDlItTbwJl70OcQjaE0PcozlK4yS2mmMdxISHlrhfxQzbplaAPf8XtTs9obPcRGXjIcoGnPp9IAzl4K5l0bNvnwr7CVy6mZt4gxLq1JaR7unChlBzygLmUAucqCnFm3KRE3VK3BYcqVrUoE8VEllXdMAx57GuI1WKOS7hoDJg8/isuWTXO0riHftl7S3AuypHzY98iawq6zvCAR99Re1wfeurEkM5yRNLBjDkJhw/cgMr3q4B2OwO0RJhVEDVOC5fk6UzgNl7KRKW7FRKe4ZdqxFQB0MIKl1NWRAt8OD4sBNyAZM93556p76dpgwyIOTANYFFZXROMf1moPpXkfd4oGSpHgBNIq+b0J3PQVtcAcxlwM+JuSV4naDz4z06It2kguXeUWbe7F7Zq3vB25EuwSBUqIVlMG4lFlll7TPeKZ1+wePVtSNVAzJIgfJsDGEZ1Sham3jclPDtac+aNWgKONOgLLXxq6eYf30cdyLsXb3wqHDivQJZ+sKAxkrM1xbm0Bg3iosXnEGFOUAJ60KTkoGlW3wfHmLK2sb3ex0Rvc1KKNOQckdTCvX8+0NckXrjez7uijGRxuTMFeStFPZeZIqPf+7fbQIgMQpYce0AMCnn5EoWtDFFkkhPP4PTIeZpu5n7671lvbETn0spOaVTbQ+Ro8IC+Hj+I0DhYBc59S8osVwlzxJnsF4hpwMLm2fHI2LsqA5mckv7Ky7qn0ojviMiYl/sEu4KlFkdwgEBSNK2/CnXw1Ge/Eig5sx4Xe9H+M54eQOUbj0NL1n6tgBZJmc7UkGMjnGx+PpiBIFqe5U4N5DTDjEW4IV5qqTS3bLIU2tiSgB19/rCbUj7vL63yLHVQW/bqJDN5UM1lQwXn5nVN/mcepy5WTtN"},{"id":"94cfc524-0233-4ef6-91e0-c9b50f2a454f","repo_id":"c7b9d1af-8560-4e8b-bdb9-a5b9e55eb3c9","name":"版本变更日志","description":"changelog","prompt":"系统化整理项目的版本变更历史,按时间顺序记录每个版本的功能更新、错误修复和改进。从0.0.328版本开始,详细描述每个版本(0.0.329至最新版本)的变更内容,包括新增功能(如自定义代理支持、异步任务委托、多行输入)、性能优化(token消耗减少、文件写入性能提升)和bug修复(权限请求、会话状态、路径检测等问题)。突出显示重大变更的影响范围和用户需要采取的行动,如mcp-config.json配置格式变更。说明版本迭代频率和发布模式(频繁更新)。提供版本号命名规则解释。建议用户保持客户端更新以获取最新功能和修复。","order":7,"progress_status":"completed","dependent_files":"changelog.md","gmt_create":"2025-10-31T11:54:56.753732+08:00","gmt_modified":"2025-10-31T11:57:46.974929+08:00","raw_data":"WikiEncrypted:MTGOV8yMPpR4TI1lgrJ8xM3zQ7L/20n1N1XxX1nPStM14IIqSLkF1F+LyEww/Tu4aygIJoSMEIlTW6pd68/AcP5/BkTdWZB614NYyaZtHtyLH+D3vYWUVKkPxm9qDdzcRtbUQ7ctFWQkzPt2VhwUDDN5vEVSb8PDIstxh77LJKrkzpSQWKrmgldeCsoD9RtcfO6wuyNTnbH1+pLMB2lKgor1X2LLPdcjyUPa9nUHmQkM4S7VUQovMzBH7PCQPuJkqri4SyeIqXdZPOralrQHF8dEz+RnwnM3n0bGUlK3Fi+OEE6HkASKTCd1hDuyXusmcBQa4ShRBuah3golAX1nG1l4h/IWKW4XLrBLBr8OI9i4MbCSk6iCv3j0DI5a2N65Nx1CJyIytRrHXUopDOWIDniXb2DiIFHIbF1CcnloS3CxY248ds8W86vre+PYY4zC8ABCZkq4j00FS37OSTU5w+URsKIgd3g9yzXMx8p1dDbC70b84OJspHEwAlqeGPrEJ5iRsXBdnZHXajiH77Kv8CPFZfgbFRH2lr3FtEAhT/+3EMZikMbmkwsEiz0Tk6VksoMGQAj3PPvKeaNUl/TF2eJB+KaoNFoP7/nam2JbLUHHc5kFaXOFPGUjTd65PqNm8Qw9lINemgENELOwVbRWwXNQlmYG29qmuC8ITfgS8L3oAtd2mMVeyObo+J7ImT5MIEpeWdqna6xVMrpSU0GuLKHyPiSi8bD7teCuuLDex6CAoRUyonMpjuKLTQPKawr7MZ5wfRG2HKEjacY/4I5XSIIHLwn1wc0bxPMc5yqmIqDcqRRXe9QUof5YT+D0X9HaaqGJz1bChTIFAqbS6q9gY6G8TgQPp843p5ytxDBHhtpEWXG3qRdwCb1577oTWjQaXSlAurSULFgQzGlCDxnZBO6iXLvn5a9Zkn00hZWhgA18CPpTBkdCNSYg6HLRE1IgueoKOingPZWoYpcGr91bwClonKw6W08h7F9Ve4iaWbdb/3dlAyjgmyFt09GpND8+hf/Lxfil1UuKdIErZ/Is21YGSHp+XnITpKvOFZmHNLznog6CBqJ00tk1dRXw3jZSzo5HAK4MfW7AS+tn0xkkZakcTuEcSEhauHu/nr28SaBdv9X8WphfAj4GBIPggaMZlnqLMGMAsuKxhf4rjz0F+KtjwK+ZRoMCxop1u9tAFeQjRaOUzWrwHkwURLVN0Ga42wdPREwoB5CPvXhOkQFzXs843LF+vO7wFSYk4CuC3e7hGKKXcdoq8dGHcT/qz0wz"}],"wiki_items":[{"catalog_id":"808df0e4-a746-4345-befa-11f311453c18","title":"基本使用","description":"basic-usage","extend":"{}","progress_status":"completed","repo_id":"c7b9d1af-8560-4e8b-bdb9-a5b9e55eb3c9","id":"18033508-dd4c-4dbd-af2f-9ab843ffb15b","gmt_create":"2025-10-31T11:55:50.887724+08:00","gmt_modified":"2025-10-31T11:55:50.892942+08:00"},{"catalog_id":"d1ac8eb3-6d25-47ea-91a2-098859208a6c","title":"安装与配置","description":"installation-configuration","extend":"{}","progress_status":"completed","repo_id":"c7b9d1af-8560-4e8b-bdb9-a5b9e55eb3c9","id":"62437768-a9a5-42a1-ba8a-9dc4f1b8cea8","gmt_create":"2025-10-31T11:55:57.345819+08:00","gmt_modified":"2025-10-31T11:55:57.351348+08:00"},{"catalog_id":"8246b79b-3760-4f69-8336-44bbff44b615","title":"项目概述","description":"project-overview","extend":"{}","progress_status":"completed","repo_id":"c7b9d1af-8560-4e8b-bdb9-a5b9e55eb3c9","id":"c0f130d1-8faf-4b9b-84e5-f4535434f09f","gmt_create":"2025-10-31T11:56:28.940125+08:00","gmt_modified":"2025-10-31T11:56:28.945136+08:00"},{"catalog_id":"8d8a4b38-383c-462e-bcff-d7775561d48d","title":"核心功能","description":"core-features","extend":"{}","progress_status":"completed","repo_id":"c7b9d1af-8560-4e8b-bdb9-a5b9e55eb3c9","id":"3cedede2-561b-44ff-8d57-77cb634c1814","gmt_create":"2025-10-31T11:56:53.863187+08:00","gmt_modified":"2025-10-31T11:56:53.8694+08:00"},{"catalog_id":"a8d64afd-186c-4107-9006-255f9c4f8a88","title":"高级功能","description":"advanced-features","extend":"{}","progress_status":"completed","repo_id":"c7b9d1af-8560-4e8b-bdb9-a5b9e55eb3c9","id":"f6990f8e-4e17-48b2-b091-66d9f3c8ba2b","gmt_create":"2025-10-31T11:57:03.73657+08:00","gmt_modified":"2025-10-31T11:57:03.740586+08:00"},{"catalog_id":"41fd0dd4-efeb-4eb7-9eac-9ed5c3a60462","title":"配置与环境","description":"configuration-environment","extend":"{}","progress_status":"completed","repo_id":"c7b9d1af-8560-4e8b-bdb9-a5b9e55eb3c9","id":"36003383-fdc0-4896-8553-a103ce8ac441","gmt_create":"2025-10-31T11:57:30.328316+08:00","gmt_modified":"2025-10-31T11:57:30.333296+08:00"},{"catalog_id":"92363900-88ed-4f0d-8d2c-1179365ee116","title":"故障排除","description":"troubleshooting","extend":"{}","progress_status":"completed","repo_id":"c7b9d1af-8560-4e8b-bdb9-a5b9e55eb3c9","id":"acb6d530-f6dd-46c5-ba2f-56bac04257a0","gmt_create":"2025-10-31T11:57:41.69137+08:00","gmt_modified":"2025-10-31T11:57:41.694766+08:00"},{"catalog_id":"94cfc524-0233-4ef6-91e0-c9b50f2a454f","title":"版本变更日志","description":"changelog","extend":"{}","progress_status":"completed","repo_id":"c7b9d1af-8560-4e8b-bdb9-a5b9e55eb3c9","id":"c6d846d7-ae0b-48f0-aed7-356c278eb7e1","gmt_create":"2025-10-31T11:57:46.971368+08:00","gmt_modified":"2025-10-31T11:57:46.975302+08:00"}],"wiki_overview":{"content":"\u003cblog\u003e\n# GitHub Copilot CLI 项目综合分析\n\n## 1. 项目介绍\n\n### 项目目的\nGitHub Copilot CLI 是一个命令行工具,旨在将 GitHub Copilot 的 AI 编程辅助能力直接集成到开发者的终端环境中。它允许开发者通过自然语言与 AI 交互,执行代码生成、文件操作、Git 操作、PR 管理等任务,从而提升开发效率。\n\n### 核心目标\n- 提供无缝的终端内 AI 编程体验\n- 支持与 GitHub 生态系统的深度集成(如 Issues、PRs、Workflows)\n- 实现多模型支持和自定义代理(Agents)\n- 提供可扩展的工具系统(MCP Tools)以增强功能\n\n### 目标用户\n- 使用 GitHub 进行开发的程序员\n- 希望在终端中使用 AI 辅助编程的开发者\n- 需要自动化代码任务和 GitHub 操作的团队\n\n## 2. 技术架构\n\n### 组件分解\n根据变更日志分析,项目包含以下核心组件:\n\n- **会话管理**:负责维护用户会话状态,支持会话恢复和上下文管理\n- **模型交互层**:与后端 AI 模型通信,支持多种模型(如 Sonnet 4.5、Haiku 4.5)\n- **MCP 工具服务器**:提供可扩展的工具接口,用于代码搜索、PR 管理、工作流查询等\n- **权限控制系统**:管理对文件系统和 GitHub API 的访问权限\n- **输入处理引擎**:处理多行输入、命令解析、路径检测等\n- **日志与调试系统**:记录会话日志并提供调试信息\n\n### 设计模式\n- **插件化架构**:通过 MCP 工具系统实现功能扩展\n- **事件驱动设计**:基于用户输入和工具调用触发相应操作\n- **分层架构**:清晰分离 CLI 界面、业务逻辑和外部服务交互\n\n### 系统关系与数据流\n```mermaid\nflowchart TD\n A[用户输入] --\u003e B[输入处理器]\n B --\u003e C{是否为命令?}\n C --\u003e|是| D[命令执行器]\n C --\u003e|否| E[AI 模型请求]\n D --\u003e F[MCP 工具调用]\n E --\u003e G[模型推理]\n F --\u003e H[GitHub API]\n G --\u003e I[结果生成]\n I --\u003e J[输出渲染]\n H --\u003e J\n J --\u003e K[终端显示]\n```\n\n## 3. 关键实现\n\n### 主要入口点\n- `copilot` 命令行主程序(具体实现文件未提供)\n\n### 核心模块\n- **会话状态管理模块**:位于 `~/.copilot/session-state`\n- **配置管理模块**:读取 `~/.copilot/config` 配置文件\n- **MCP 工具服务器集成**:支持从本地和远程加载工具定义\n- **自定义 Agents 系统**:从 `~/.copilot/agents` 或 `.github/agents` 加载代理定义\n\n### 配置方法\n- 全局配置文件:`~/.copilot/config`\n- MCP 服务器配置:`~/.copilot/mcp-config.json`\n- 环境变量支持:如 `GH_HOST`、`COPILOT_KITTY` 等\n\n### 外部依赖\n- GitHub CLI (`gh`)\n- Node.js 运行时(有最低版本要求)\n- Sharp 图像处理库(已捆绑)\n- node-pty 终端处理库(已捆绑)\n\n### 集成点\n- GitHub API(Issues、PRs、Workflows、Repositories)\n- OAuth 认证系统\n- 代理服务器支持(通过 HTTPS_PROXY/HTTP_PROXY)\n- Kitty 协议(用于多行输入支持)\n\n### 组件关系图\n```mermaid\ngraph LR\n A[CLI 主程序] --\u003e B[会话管理]\n A --\u003e C[模型选择器]\n A --\u003e D[MCP 工具系统]\n A --\u003e E[权限控制器]\n D --\u003e F[GitHub API 集成]\n D --\u003e G[自定义工具]\n D --\u003e H[本地工具调用]\n B --\u003e I[会话存储 ~/.copilot/session-state]\n C --\u003e J[支持模型: Sonnet 4.5, Haiku 4.5]\n E --\u003e K[路径权限检查]\n A --\u003e L[输入处理器]\n L --\u003e M[Kitty 协议支持]\n L --\u003e N[多行输入处理]\n```\n\n## 4. 关键特性\n\n### 功能概述\n- 自然语言驱动的代码生成和编辑\n- 支持 `/model` 命令切换 AI 模型\n- `/agent` 和 `/delegate` 命令支持智能代理\n- MCP 工具系统提供丰富的 GitHub 集成功能\n- 多行输入支持(Kitty 协议或 `/terminal-setup`)\n- 会话持久化和恢复功能\n- 详细的使用统计和配额管理\n\n### 实现亮点\n- **并行工具调用**:模型可同时调用多个工具(可通过 `--disable-parallel-tools-execution` 禁用)\n- **智能路径检测**:改进的路径检测算法减少不必要的权限请求\n- **流式输出**:支持 token-by-token 的响应流式传输\n- **图像支持**:通过 `@` 提及文件可作为输入\n- **直接命令执行**:使用 `!` 前缀可绕过模型直接执行 shell 命令\n\n### 功能架构图\n```mermaid\nstateDiagram-v2\n [*] --\u003e Idle\n Idle --\u003e Processing: 用户输入\n Processing --\u003e ToolCall: 需要工具调用?\n ToolCall --\u003e Confirmation: 等待用户确认\n Confirmation --\u003e Execution: 用户批准\n Execution --\u003e Result: 获取结果\n Result --\u003e Render: 渲染输出\n Processing --\u003e DirectExec: 以!开头?\n DirectExec --\u003e Shell: 直接执行命令\n Shell --\u003e Render\n Render --\u003e Idle: 完成\n ToolCall --\u003e ModelResponse: 不需要工具\n ModelResponse --\u003e Render\n```\n\nSources:\n- [LICENSE.md](/Users/berton/Github/copilot-cli/LICENSE.md)\n- [changelog.md](/Users/berton/Github/copilot-cli/changelog.md)\n\u003c/blog\u003e","gmt_create":"2025-10-31T11:53:03.018574+08:00","gmt_modified":"2025-10-31T11:53:03.018574+08:00","id":"b6e3c42b-970d-43a2-a408-054124065c90","repo_id":"c7b9d1af-8560-4e8b-bdb9-a5b9e55eb3c9"},"wiki_readme":{"content":"No readme file","gmt_create":"2025-10-31T11:52:07.944045+08:00","gmt_modified":"2025-10-31T11:52:07.944045+08:00","id":"a5cedcd3-6930-4c83-9694-5e00accfa78c","repo_id":"c7b9d1af-8560-4e8b-bdb9-a5b9e55eb3c9"},"wiki_repo":{"id":"c7b9d1af-8560-4e8b-bdb9-a5b9e55eb3c9","name":"copilot-cli","progress_status":"completed","wiki_present_status":"COMPLETED","optimized_catalog":"\".\\n├── LICENSE.md\\n├── README.md\\n└── changelog.md\\n\"","current_document_structure":"WikiEncrypted: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","catalogue_think_content":"WikiEncrypted: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","recovery_checkpoint":"wiki_generation_completed","last_commit_id":"0d2c9de9632b31219ff93413b2d8ebe8c4909e2a","last_commit_update":"2025-10-28T13:06:34-04:00","gmt_create":"2025-10-31T11:52:06.125635+08:00","gmt_modified":"2025-10-31T11:57:47.018872+08:00","extend_info":"{\"language\":\"zh\",\"active\":true,\"branch\":\"main\",\"shareStatus\":\"\",\"server_error_code\":\"\",\"cosy_version\":\"\"}"}} \ No newline at end of file