事情是这样的。上周我买了一台新笔记本(Windows 11),装好 VS Code 后第一件事就是装 GitHub Copilot。装好插件,点击「Sign in to GitHub」,浏览器弹出来让我登录 GitHub 账号——然后卡住了,页面一直在转圈。
等了 3 分钟,VS Code 弹出提示:「Request signin failed: Failed to authenticate with GitHub.」我点了几次重试,偶尔成功登录了,但 Copilot 依然显示「Sign in failed」。来回折腾了快一个小时,最后发现是网络问题。
(实测)这不是 Copilot 的 bug,是 GitHub 在国内的连接不稳定——Copilot 的认证流程需要访问 github.com 的 OAuth 服务,而你家宽带的 DNS 解析可能让这个流量被墙了。这篇文章就是给 Windows 开发者准备的排查和修复指南。
这篇是 OpenAI Codex 停用后 5 个免费平替 API 实测对比 的周边篇。如果你 Copilot 实在激活不了,也可以看看那篇里的其他几个替代方案。
不要上来就改配置,先确认是哪种情况。
# 在 VS Code 里:
# 1. 按 Ctrl+Shift+P → 输入 Developer: Toggle Developer Tools
# 2. 切换到 Console 面板
# 3. 重新试一次 Sign in
# 4. 看报错信息
# 常见的错误:
# - net::ERR_CONNECTION_TIMED_OUT → 网络被墙
# - net::ERR_CERT_AUTHORITY_INVALID → 本地证书过期
# - net::ERR_PROXY_CONNECTION_FAILED → 代理设置不对
# - Failed to fetch → 网络不稳定
# 打开 cmd 或 PowerShell,运行:
curl -I https://github.com 2>&1 | findstr "HTTP"
# 如果返回:
# HTTP/1.1 200 OK → GitHub 能访问,问题在代理或证书
# 没返回或超时 → 网络被墙,需要代理
(实测)我新笔记本上跑这个命令直接没返回——github.com 完全连不上。然后我试了 github.com.cnpmjs.org(GitHub 的国内镜像),秒回 200。确认是网络问题。
这是 Windows 用户最常用的修复方法。
// VS Code settings.json(按 Ctrl+, 打开设置)
{
// 如果你有 HTTP 代理(如 Clash、V2Ray 等,代理端口通常是 7890)
"http.proxy": "http://127.0.0.1:7890",
"http.proxyStrictSSL": false,
"https.proxy": "http://127.0.0.1:7890",
// 如果你没有代理,用 GitHub 的国内镜像(不需要代理)
"github-enterprise.uri": "https://github.com.cnpmjs.org"
}
| 代理工具 | 默认 HTTP 端口 | 默认 SOCKS 端口 |
|---|---|---|
| Clash for Windows | 7890 | 7891 |
| V2RayN | 10809 | 10808 |
| Shadowsocks | 不提供 HTTP | 1080(SOCKS5) |
| Git proxy | —— | —— |
// 如果你的代理只提供 SOCKS5 端口(如 Shadowsocks):
"http.proxy": "socks5://127.0.0.1:1080"
(实测)我装的是 Clash for Windows,默认端口是 7890。VS Code 的 http.proxy 设成 http://127.0.0.1:7890 后,立刻就能激活了。如果你用 Clash,记得先确认代理是不是在「Rule」模式而不是「Direct」模式——Direct 模式下代理不转发 GitHub 流量,设了也没用。
VS Code 的代理设置只影响它自己的网络请求,有些 VS Code 插件不走 VS Code 的代理设置。更彻底的做法是在系统层面设代理。
# PowerShell(管理员模式)
# 设置 HTTP 代理(重启后失效)
$env:HTTP_PROXY="http://127.0.0.1:7890"
$env:HTTPS_PROXY="http://127.0.0.1:7890"
# 永久设置(写入系统环境变量)
[System.Environment]::SetEnvironmentVariable('HTTP_PROXY', 'http://127.0.0.1:7890, [System.EnvironmentVariableTarget]::User)
[System.Environment]::SetEnvironmentVariable('HTTPS_PROXY', 'http://127.0.0.1:7890, [System.EnvironmentVariableTarget]::User)
# 验证
echo $env:HTTP_PROXY
(实测)设置完环境变量后最好重启 VS Code——有些插件只在启动时读取一次环境变量,改了不会动态更新。
Copilot 激活过程需要 Git 来做 OAuth 回调。如果你的 Git 没有走代理,也会导致认证失败。
# 设置 Git 的 HTTP 代理
git config --global http.proxy http://127.0.0.1:7890
git config --global https.proxy http://127.0.0.1:7890
# 验证
git config --global --get http.proxy
git config --global --get https.proxy
# 如果不需要了,可以删除
# git config --global --unset http.proxy
# git config --global --unset https.proxy
如果你的代理工具拦截了 HTTPS 流量(比如抓包工具 Fiddler、Charles),VS Code 会因为证书不受信任而拒绝连接。
# 方法 A:让 VS Code 忽略 SSL 证书验证(不推荐,但临时可用)
# VS Code settings.json 加:
"http.proxyStrictSSL": false
# 方法 B:导入代理工具的根证书(推荐)
# 1. 打开 Chrome → 访问 github.com → 点地址栏的锁图标 → 证书信息
# 2. 把证书导出为 .cer 文件
# 3. Windows 搜索「管理用户证书」→ 受信任的根证书颁发机构 → 导入
# 验证证书是否生效:
curl -I https://github.com 2>&1 | findstr "SSL"
(实测)我因为用过 Fiddler 抓包,它给系统装了一个自签名证书。后来卸载 Fiddler 时没清理证书,导致 Chrome 和 VS Code 都报证书错误。跑了一遍「证书管理 → 删除所有 Fiddler 签发的证书」后,就正常了。
如果上面所有方法都试过了还是不行,可能是缓存出了问题。彻底清理一次:
# 1. 退出 VS Code
# 2. 删除 Copilot 的认证缓存
# Windows 路径:
rmdir /s /q "%USERPROFILE%\AppData\Roaming\Code\User\globalStorage\github.copilot"
# macOS / Linux 路径(如果你是别的平台):
# rm -rf ~/.config/Code/User/globalStorage/github.copilot
# 3. 删除 GitHub 认证缓存
rmdir /s /q "%USERPROFILE%\AppData\Roaming\Code\User\globalStorage\github.authentication"
# 4. 重新打开 VS Code → 重新 Sign in
(实测)这招是我在所有配置都试完后最后才用的。删了缓存,重新登录,Copilot 就正常了。我猜是之前的失败认证留下了「脏 token」,让新版认证流程卡住了。
| 症状 | 可能原因 | 解法 |
|---|---|---|
| 浏览器能登录 GitHub,但 Copilot 不行 | VS Code 代理没设 | 设 http.proxy |
| 公司网络,必须用 pac 代理文件 | VS Code 不支持 pac | http.proxy 配成公司代理的 IP:端口 |
| Copilot 显示已激活但补全是灰的 | 免费版额度用完(2000次/月) | 升级付费版 $10/月 |
| 激活后第二天又掉线了 | token 过期,需要定期重新认证 | 正常现象,重新登录就行 |
| WSL 里 VS Code 连不上 | WSL 和 Windows 代理不同 | WSL 里单独设代理 |
如果以上全部方法都无效,或者你没有办法弄到代理工具——放弃 Copilot,换完全免费的本地方案。
GitHub Copilot 激活失败的根本原因:它依赖 GitHub 的 OAuth 服务,而 GitHub 在国内的连通性不稳定。这不是你的问题,是网络环境的问题。
| 替代方案 | 费用 | 是否需要网络 | 激活流程 |
|---|---|---|---|
| Continue(VS Code 插件)+ Ollama | $0 | 不需要 | 装好直接用,不登录任何账号 |
| DeepSeek API | 免费 500 万 token | 需要(国内可直连) | 注册 → 拿 Key → 配到 Continue |
| GLM-4 API | 免费 1000 万 token | 需要(国内直连) | 注册 → 拿 Key → 配到 Continue |
| 阿里云 DashScope | 每月 100 万 token 免费 | 需要(国内直连) | 注册 → 拿 Key → 配到 Continue |
(实测)我现在已经不依赖 Copilot 的激活流程了——因为 GitHub 偶尔网络波动就要重新登录,太麻烦。我现在用 Continue + Ollama(本地)和 Continue + DeepSeek API(云端)双方案,不需要激活,不需要维护 token,零配置直接能用。
具体的本地方案搭建教程看 Ollama + OpenCode + VS Code 完全免费离线 AI 补全方案。免费 API 选择看 OpenAI Codex 停用后 5 个免费平替 API 实测对比。
本文基于博主在 Windows 11 上多次安装和激活 GitHub Copilot 的实测经验写成。代理配置参考了 VS Code 官方文档关于网络代理的设置说明。证书问题排查方法参考了 Windows 证书管理官方文档。