copilot网络问题解决方案

最近遇到了很多使用copilot发现买了pro+之后使用不了claude模型的情况。遂写一篇博客记录与copilot有关的网络问题,如果你是本地使用的话非常简单,挂个梯子就行,但是大多数时候是vscode远程连接使用,因此便需要进行一些配置

问题根因以及解决方法论

问题的根本原因是没有使用梯子,claude对本地ip进行了限制,导致无法使用。

因此解决的方案是使用梯子访问copilot。当然问题就出在这里,当前出的各种问题都是因为没有让copilot正确使用到梯子的环境

vscode的代理配置

让vscode远程环境使用网络代理分为两种情况:

  1. 使用终端的代理环境
  2. 使用vscode通道走本地的代理环境

使用终端的代理环境

这种情况依然分为两种解法,第一种较为简单,使用ssh在远程连接的时候将远程主机的端口映射到本地

1
ssh -R 7890:localhost:7890 user@remote-host

注意:这个7890是clash的惯用的代理端口,具体需要查看你的clash

然后在vscode的设置中设置Proxy和Proxy Support

image-20260415215738220

  • 设置了Proxy之后,vscode的网络请求就会使用代理地址了。如果不设置的话,就需要在~/.bashrc中添加:

    1
    2
    3
    # Proxy settings
    export http_proxy=http://127.0.0.1:7890
    export https_proxy=http://127.0.0.1:7890
  • Proxy Support和Use Local Proxy Configuration这个设置息息相关,这点我们下面来讲,对于使用终端代理,这里最合适的设置就是设置为on

第二种就是使用Use Local Proxy Configuration这个设置,开启这个设置,并且把Proxy Support设置为override,这会使用vscode自带的网络通道,实现在远程环境中使用本地的vscode使用的网络代理,理论上,如果你本地可以使用claude模型,那么启动这个配置之后,远程也可以。

问题自查

如果到现在为止,两种方案都不行,你需要进行一下自查:

  1. 代理端口是不是7890

  2. 代理机场节点是否能用,使用浏览器访问Google测试

  3. 代理软件是否开启了局域网可以使用,这个需要打开,打开了没有啥坏处

  4. 在输出中查看copilot日志,去AI和浏览器中搜索,经验上来讲,这里AI大多数意识不到你的具体场景,还是在浏览器中直接搜索更高效

    image-20260415224618870

如果都不行,你可以将copilot的模式从本地模式切换到CLI模式,这个模式会稳定的使用终端的代理环境而不是vscode。如果使用cli记得设置bashrc

替代方案

我觉得这个方案并不是一种降级,而是一种优选。

使用copilot的模型进行反代,使用claude code的框架,进行使用。

需要使用copilot api这个项目:https://github.com/ericc-ch/copilot-api

使用下面的命令启动反代

1
HTTPS_PROXY=http://127.0.0.1:7890 HTTP_PROXY=http://127.0.0.1:7890 npx copilot-api@latest start --claude-code --proxy-env

你会选择一大一小两个模型,大模型选择sonnet或者opus,小模型选一个免费的就行。

然后你会得到一个可以直接使用的文本,脚本会直接放到你的剪切版上,类似这样:

1
2
export ANTHROPIC_BASE_URL=http://localhost:4141 ANTHROPIC_AUTH_TOKEN=dummy 
ANTHROPIC_MODEL=claude-opus-4.6 ANTHROPIC_DEFAULT_SONNET_MODEL=claude-opus-4.6 ANTHROPIC_SMALL_FAST_MODEL=gpt-5-mini ANTHROPIC_DEFAULT_HAIKU_MODEL=gpt-5-mini DISABLE_NON_ESSENTIAL_MODEL_CALLS=1 CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 && claude

但是我们主要是使用vscode上面的claude,因此需要转换成下面的形式:

1
2
3
4
5
6
7
8
9
10
11
12
{
"env": {
"ANTHROPIC_BASE_URL": "http://localhost:4141",
"ANTHROPIC_AUTH_TOKEN": "dummy",
"ANTHROPIC_MODEL": "claude-opus-4.6",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "claude-opus-4.6",
"ANTHROPIC_SMALL_FAST_MODEL": "gpt-5-mini",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "gpt-5-mini",
"DISABLE_NON_ESSENTIAL_MODEL_CALLS": "1",
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1"
}
}

设置~/.claude/setting.json为上面的内容,这样无论是终端的claude还是vscode都能用,claude会去这个文件中读取配置。

然后就可以开始爽用claude code了。

因为这个方案使用的是终端的代理,没有vscode网络环境的事情,因此不会出问题。