Copilot 的连接链路
GitHub Copilot 在编辑器中工作时,需要完成两类网络通信:
| 环节 |
作用 |
出问题时的表现 |
| GitHub 认证 |
登录 GitHub 账号,确认 Copilot 订阅状态 |
无法登录、反复要求授权 |
| Copilot 服务 |
发送代码上下文,返回补全和对话结果 |
补全不出现、对话报错或超时 |
两类请求都需要稳定访问。GitHub 在中国大陆可以访问但不稳定,时好时坏,因此很多用户会发现网页偶尔能打开,Copilot 却经常失效。Copilot 背后调用的模型来自多家厂商,部分模型可能受地区政策影响,服务可用地区与具体模型范围以 GitHub 官方说明为准。
除了行内补全,Copilot 的对话和 Agent 等功能也越来越常用。这些功能会以流式方式持续输出,并可能连续发起多轮请求,对连接稳定性的要求明显高于补全。补全能用而对话经常中断,往往就是节点稳定性不足的表现。
VS Code 中的代理设置
VS Code 提供了内置的代理配置项,Copilot 扩展会参考这些设置:
- http.proxy:填写本机代理客户端的 HTTP 或混合端口,例如
http://127.0.0.1:端口号,端口以客户端设置页为准;
- http.proxyStrictSSL:是否严格校验代理链路的证书,正常的机场代理保持默认即可,不建议为了消除报错随意关闭;
- http.proxySupport:控制扩展是否使用代理设置,一般保持默认。
除了编辑器设置,Copilot 也会读取 HTTPS_PROXY 等环境变量。如果你习惯从终端启动 VS Code,环境变量同样可以生效。修改代理设置后,建议完全退出并重新打开编辑器。
如果不想逐项配置,开启 TUN 模式是最省事的方式,编辑器及其扩展进程都会自动走代理。客户端的设置方法可参考 Clash Verge Rev 教程。
JetBrains 系列 IDE 的设置
IntelliJ IDEA、PyCharm、WebStorm 等 JetBrains IDE 中的 Copilot 插件,使用的是 IDE 自身的代理配置。在设置中找到 HTTP Proxy 页面,选择手动配置,填写代理地址和端口,保存后可以用页面提供的连接检查功能确认是否连通。
JetBrains IDE 也可以选择自动检测代理,但自动检测的结果不一定准确。遇到问题时,手动配置或开启 TUN 模式更可靠。修改后建议重启 IDE,让插件重新建立连接。
常见错误与排查
无法连接服务器。 最常见的原因是编辑器没有走代理。先开启 TUN 模式测试,如果恢复,说明是编辑器代理配置的问题。
认证失败或反复要求登录。 检查 GitHub 相关域名是否都走代理,并且指向同一个节点。认证过程中切换节点,可能导致会话失效。
证书错误。 提示证书无法验证、证书链中存在自签名证书等,通常意味着有程序在拦截 HTTPS 流量,例如公司网关或安全软件,应先排查这些程序,而不是关闭证书校验。
补全间歇性失效。 节点延迟高或丢包时,补全请求容易超时。可以在编辑器的输出面板中选择 Copilot 日志,查看具体的错误信息。VS Code 中还可以运行 Copilot 的诊断命令,检查各个连接环节是否正常。
选择 Copilot 节点时,低延迟比高带宽更重要,稳定不切换比测速成绩更重要。各机场对 Copilot 的支持情况见上方支持矩阵,同类编辑器的设置还可以参考 Cursor 机场。