Skip to content

Commit 1350742

Browse files
committed
repo wiki
1 parent 0d2c9de commit 1350742

9 files changed

Lines changed: 3446 additions & 0 deletions

File tree

.qoder/repowiki/zh/content/基本使用.md

Lines changed: 427 additions & 0 deletions
Large diffs are not rendered by default.

.qoder/repowiki/zh/content/安装与配置.md

Lines changed: 700 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 389 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,389 @@
1+
# 故障排除
2+
3+
<cite>
4+
**本文档中引用的文件**
5+
- [README.md](file://README.md)
6+
- [changelog.md](file://changelog.md)
7+
- [LICENSE.md](file://LICENSE.md)
8+
</cite>
9+
10+
## 目录
11+
1. [简介](#简介)
12+
2. [系统要求与兼容性](#系统要求与兼容性)
13+
3. [认证问题](#认证问题)
14+
4. [环境问题](#环境问题)
15+
5. [功能问题](#功能问题)
16+
6. [性能问题](#性能问题)
17+
7. [日志收集与分析](#日志收集与分析)
18+
8. [版本兼容性检查](#版本兼容性检查)
19+
9. [反馈机制](#反馈机制)
20+
10. [常见问题解答](#常见问题解答)
21+
22+
## 简介
23+
24+
GitHub Copilot CLI 是一个强大的终端集成AI编码助手,提供了智能的代码补全、重构和开发支持。本故障排除指南旨在帮助用户识别、诊断和解决在使用过程中可能遇到的各种问题。
25+
26+
## 系统要求与兼容性
27+
28+
### 支持的操作系统
29+
30+
GitHub Copilot CLI 支持以下平台:
31+
- **Linux** - 完全支持
32+
- **macOS** - 完全支持
33+
- **Windows** - 完全支持(实验性警告已移除)
34+
35+
### Node.js 版本要求
36+
37+
**最低要求:** Node.js v22 或更高版本
38+
**推荐版本:** 最新稳定版
39+
40+
**重要提示:** 在启动时会强制执行最小 Node 版本要求,如果版本不兼容,CLI 将无法启动。
41+
42+
### npm 版本要求
43+
44+
- **npm** v10 或更高版本
45+
- (仅限 Windows)**PowerShell** v6 或更高版本
46+
47+
**节源码**
48+
- [README.md](file://README.md#L25-L35)
49+
50+
## 认证问题
51+
52+
### 组织策略限制
53+
54+
**症状:** 访问被拒绝或收到策略限制错误
55+
56+
**诊断步骤:**
57+
1. 检查是否在企业环境中使用
58+
2. 验证组织管理员是否启用了 Copilot CLI
59+
3. 确认网络访问权限
60+
61+
**解决方案:**
62+
- 联系组织管理员确认 Copilot CLI 的启用状态
63+
- 检查企业网络策略和防火墙设置
64+
- 参考官方文档:[管理组织中的 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)
65+
66+
### Personal Access Token (PAT) 权限不足
67+
68+
**症状:** 使用 PAT 登录时出现权限错误
69+
70+
**诊断步骤:**
71+
1. 检查 PAT 是否具有 "Copilot Requests" 权限
72+
2. 验证环境变量设置
73+
3. 确认 PAT 格式正确
74+
75+
**解决方案:**
76+
1. 访问 [GitHub PAT 设置页面](https://github.com/settings/personal-access-tokens/new)
77+
2. 添加 "Copilot Requests" 权限
78+
3. 设置环境变量:
79+
- `GH_TOKEN``GITHUB_TOKEN`(优先级顺序)
80+
4. 重新启动 CLI 并使用 `/login` 命令
81+
82+
### OAuth 登录失败
83+
84+
**症状:** OAuth 流程中断或浏览器无法打开
85+
86+
**诊断步骤:**
87+
1. 检查网络连接
88+
2. 验证防火墙设置
89+
3. 确认浏览器可正常打开
90+
91+
**解决方案:**
92+
- 对于 SSH 用户:确保环境支持设备代码轮询
93+
- 手动复制设备代码到浏览器
94+
- 使用 PAT 作为替代认证方式
95+
- 更新至最新版本以获得改进的 OAuth 实现
96+
97+
**节源码**
98+
- [changelog.md](file://changelog.md#L272-L278)
99+
- [changelog.md](file://changelog.md#L201-L213)
100+
101+
## 环境问题
102+
103+
### Node.js 版本不兼容
104+
105+
**症状:** 启动时显示版本错误或功能异常
106+
107+
**诊断步骤:**
108+
1. 运行 `node --version` 检查版本
109+
2. 验证 npm 版本:`npm --version`
110+
3. 检查 PowerShell 版本(Windows 用户)
111+
112+
**解决方案:**
113+
1. 升级 Node.js 到 v22 或更高版本
114+
2. 使用版本管理器(如 nvm)管理 Node.js 版本
115+
3. 清理 npm 缓存并重新安装
116+
117+
### 代理配置错误
118+
119+
**症状:** 网络连接超时或代理认证失败
120+
121+
**诊断步骤:**
122+
1. 检查代理环境变量设置
123+
2. 验证代理服务器可达性
124+
3. 确认认证凭据正确
125+
126+
**解决方案:**
127+
1. 设置代理环境变量:
128+
- `HTTPS_PROXY``HTTP_PROXY`
129+
- 格式:`http://username:password@proxy-server:port`
130+
2. 对于 Node.js v24+ 用户,代理支持已增强
131+
3. 检查防火墙规则和网络策略
132+
133+
**节源码**
134+
- [changelog.md](file://changelog.md#L201-L213)
135+
- [changelog.md](file://changelog.md#L223-L231)
136+
137+
## 功能问题
138+
139+
### 工具调用失败
140+
141+
**症状:** MCP 工具执行失败或无响应
142+
143+
**诊断步骤:**
144+
1. 检查工具配置文件
145+
2. 验证环境变量解析
146+
3. 确认路径权限
147+
148+
**解决方案:**
149+
1. 更新 MCP 服务器配置格式
150+
2. 确保环境变量前缀使用 `$` 符号
151+
3. 检查工具依赖项和权限设置
152+
4. 使用 `--allow-all-paths` 参数临时解决问题
153+
154+
### 会话卡死
155+
156+
**症状:** 会话无法正常结束或响应停滞
157+
158+
**诊断步骤:**
159+
1. 检查是否有未完成的工具调用
160+
2. 验证内存使用情况
161+
3. 确认网络连接状态
162+
163+
**解决方案:**
164+
1. 使用 `/exit``/quit` 命令退出
165+
2. 强制终止进程(`Ctrl+C`
166+
3. 清理会话状态文件
167+
4. 重启 CLI 并使用 `--resume` 恢复会话
168+
169+
### 多行输入异常
170+
171+
**症状:** 输入框无法正确处理多行文本
172+
173+
**诊断步骤:**
174+
1. 检查终端协议支持
175+
2. 验证 Kitty 协议设置
176+
3. 确认终端配置
177+
178+
**解决方案:**
179+
1. 在 VSCode 中运行 `/terminal-setup` 命令
180+
2. 设置 `COPILOT_KITTY` 环境变量
181+
3. 使用 `/terminal-setup` 命令配置非 Kitty 终端
182+
4. 检查终端键盘协议支持
183+
184+
**节源码**
185+
- [changelog.md](file://changelog.md#L120-L132)
186+
- [changelog.md](file://changelog.md#L182-L199)
187+
- [changelog.md](file://changelog.md#L134-L141)
188+
189+
## 性能问题
190+
191+
### 响应延迟
192+
193+
**症状:** 命令响应时间过长
194+
195+
**诊断步骤:**
196+
1. 检查网络连接质量
197+
2. 监控系统资源使用
198+
3. 分析对话上下文长度
199+
200+
**解决方案:**
201+
1. 减少对话上下文长度
202+
2. 使用 `/clear` 开始新的会话
203+
3. 检查代理设置和网络配置
204+
4. 更新到最新版本以获得性能优化
205+
206+
### 内存占用过高
207+
208+
**症状:** 内存使用持续增长
209+
210+
**诊断步骤:**
211+
1. 监控内存使用趋势
212+
2. 检查大文件处理
213+
3. 分析工具调用频率
214+
215+
**解决方案:**
216+
1. 定期使用 `/clear` 清理会话
217+
2. 避免处理过大的文件
218+
3. 使用 `--disable-parallel-tools-execution` 减少并发
219+
4. 检查是否有内存泄漏问题
220+
221+
**节源码**
222+
- [changelog.md](file://changelog.md#L53-L70)
223+
- [changelog.md](file://changelog.md#L215-L221)
224+
225+
## 日志收集与分析
226+
227+
### 启用调试日志
228+
229+
GitHub Copilot CLI 提供了灵活的日志级别配置:
230+
231+
**可用的日志级别:**
232+
- `none` - 禁用日志
233+
- `error` - 仅错误信息
234+
- `warning` - 警告和错误
235+
- `info` - 基本信息和警告
236+
- `debug` - 详细调试信息
237+
- `all` - 全部日志
238+
- `default` - 默认级别
239+
240+
**启用调试日志的方法:**
241+
1. 创建或编辑配置文件:`~/.copilot/config`
242+
2. 添加配置项:`log_level: debug`
243+
3. 重启 CLI 应用程序
244+
245+
### 日志文件位置
246+
247+
**会话状态文件:**
248+
- 新格式:`~/.copilot/session-state/`
249+
- 旧格式:`~/.copilot/history-session-state/`(将迁移)
250+
251+
**启动日志:**
252+
- 包含当前版本信息,便于问题报告
253+
- 在调试模式下提供更多详细信息
254+
255+
### 日志分析技巧
256+
257+
**常见日志模式:**
258+
1. **认证相关:** 查找 API 请求 ID 和认证状态变化
259+
2. **工具调用:** 监控工具执行时间和结果
260+
3. **性能问题:** 分析响应时间和资源使用
261+
4. **错误处理:** 关注错误消息和堆栈跟踪
262+
263+
**节源码**
264+
- [changelog.md](file://changelog.md#L120-L132)
265+
- [changelog.md](file://changelog.md#L143-L158)
266+
267+
## 版本兼容性检查
268+
269+
### 当前版本信息
270+
271+
根据 changelog,当前最新版本为 **0.0.353**,发布于 2025年10月28日。
272+
273+
### 版本更新建议
274+
275+
**定期更新的好处:**
276+
1. 获取最新的功能和改进
277+
2. 修复已知的安全漏洞
278+
3. 解决性能问题
279+
4. 改进用户体验
280+
281+
**更新方法:**
282+
```bash
283+
npm update -g @github/copilot
284+
```
285+
286+
### 已修复问题回顾
287+
288+
**最近的重要修复:**
289+
- **0.0.353:** 支持自定义代理服务器
290+
- **0.0.352:** 改进 MCP 工具处理
291+
- **0.0.351:** 优化路径检测逻辑
292+
- **0.0.350:** 限制 GitHub MCP 工具数量以节省上下文空间
293+
294+
**节源码**
295+
- [changelog.md](file://changelog.md#L1-L10)
296+
297+
## 反馈机制
298+
299+
### 提交问题报告
300+
301+
GitHub Copilot CLI 提供多种反馈渠道:
302+
303+
**1. GitHub Issues**
304+
- 访问项目仓库:[GitHub Copilot CLI Issues](https://github.com/github/copilot-cli/issues)
305+
- 提交技术问题和功能请求
306+
- 包含详细的重现步骤和环境信息
307+
308+
**2. Discussions**
309+
- 参与社区讨论
310+
- 寻求帮助和最佳实践
311+
- 分享使用经验和技巧
312+
313+
**3. 内置反馈命令**
314+
- 在 CLI 中运行 `/feedback` 命令
315+
- 提交保密的反馈调查
316+
- 快速报告问题而不离开 CLI 界面
317+
318+
### 报告问题的最佳实践
319+
320+
**完整的错误报告应包含:**
321+
1. **问题描述:** 清晰描述遇到的问题
322+
2. **重现步骤:** 详细的操作步骤
323+
3. **预期行为:** 正确的行为应该是什么
324+
4. **实际行为:** 实际观察到的现象
325+
5. **环境信息:**
326+
- 操作系统版本
327+
- Node.js 版本
328+
- Copilot CLI 版本
329+
- 终端类型和配置
330+
6. **日志信息:** 启用调试日志并提供相关输出
331+
7. **截图或录屏:** 如有必要,提供视觉证据
332+
333+
### 社区参与
334+
335+
**积极参与的好处:**
336+
- 加速问题解决过程
337+
- 影响产品发展方向
338+
- 获得社区支持和帮助
339+
- 分享您的经验给其他用户
340+
341+
## 常见问题解答
342+
343+
### Q: 我可以使用哪些模型?
344+
345+
**A:** 默认使用 Claude Sonnet 4.5,可通过 `/model` 命令切换:
346+
- Claude Sonnet 4
347+
- Claude Sonnet 4.5
348+
- GPT-5(如果可用)
349+
350+
### Q: 如何重置会话?
351+
352+
**A:** 使用以下命令:
353+
- `/clear` - 清理当前会话
354+
- `/exit``/quit` - 退出 CLI
355+
- `copilot --resume` - 恢复最近的会话
356+
357+
### Q: 为什么我的输入被截断?
358+
359+
**A:** 可能是由于:
360+
1. 上下文窗口接近限制
361+
2. 大量内容粘贴
362+
3. 终端宽度限制
363+
364+
**解决方案:**
365+
- 使用 `/clear` 开始新会话
366+
- 使用 `/terminal-setup` 优化输入
367+
- 检查终端宽度设置
368+
369+
### Q: 如何处理权限问题?
370+
371+
**A:** 确保:
372+
1. 具有文件和目录的读写权限
373+
2. 使用正确的认证方式
374+
3. 检查组织策略限制
375+
376+
**节源码**
377+
- [changelog.md](file://changelog.md#L244-L257)
378+
379+
## 结论
380+
381+
GitHub Copilot CLI 是一个功能强大但复杂的工具,可能会遇到各种技术挑战。通过遵循本故障排除指南,您可以有效地诊断和解决大多数常见问题。
382+
383+
记住:
384+
- 保持软件更新到最新版本
385+
- 启用适当的日志记录以便调试
386+
- 充分利用内置的诊断命令
387+
- 积极参与社区反馈
388+
389+
如果遇到本指南未涵盖的问题,请随时通过 GitHub Issues 或 Discussions 寻求帮助。

0 commit comments

Comments
 (0)