问题背景
在一台服务器配置了代理和 Codex,ssh 直接连接后 Codex 使用正常,但是通过 VScode Remote 连接后发现 Codex Cli 和 Codex Extension 全都无法使用。排查后发现是由于 VScode Remote 启动时并不读取 ~/.bashrc 因此导致通过这种方式连接默认代理无效,需要单独配置。
问题原因
很多人误以为(包括我之前):
VS Code Remote = 打开一个 SSH shell
实际上并不是。
真实结构:
Windows VS Code
↓
VS Code Remote Server
↓
Node/Electron 子进程
↓
Codex Extension
↓
Codex CLI
给 VScode Remote Server 注入环境变量
为了解决这个问题,需要单独给 VScode Remote Server 配置代理相关环境变量,以 V2ray 的 10809 端口为例,需要先创建
~/.vscode-server/server-env-setup/proxy.sh
内容为:
export http_proxy=http://127.0.0.1:10809
export https_proxy=http://127.0.0.1:10809
export HTTP_PROXY=http://127.0.0.1:10809
export HTTPS_PROXY=http://127.0.0.1:10809
export ALL_PROXY=socks5://127.0.0.1:10809
export NO_PROXY=localhost,127.0.0.1,::1
测试:
curl -I https://api.openai.com
如果成功则说明 VScode Remote 网络正常
评论区