目录
OpenClaw Proxy 设置,7890 端口示例
如果 OpenClaw 在 Windows 下联网异常,尤其是 OpenAI OAuth token exchange 卡住、登录失败、请求超时,这类问题很多时候不是 OpenClaw 本身坏了,而是 终端代理没有真正传递给 Node.js。
这篇直接给一个能用的配置,假设你本地代理端口是 7890。

临时设置,先在 PowerShell 里直接执行
$env:http_proxy = "http://127.0.0.1:7890"
$env:https_proxy = "http://127.0.0.1:7890"
$env:all_proxy = "http://127.0.0.1:7890"
$env:NO_PROXY = "localhost,127.0.0.1,::1"
$env:NODE_USE_ENV_PROXY = "1"
这里面最关键的是这一行:
$env:NODE_USE_ENV_PROXY = "1"
很多人前面四个代理变量都配了,但 Node.js 默认未必会按你预期走这些环境变量。对于 OpenClaw 里依赖 Node 网络层的场景,这行经常才是决定成败的关键。
为什么这一行关键
像 OpenClaw 登录、OAuth token exchange、部分 fetch 请求,底层会经过 Node.js。
如果只是设置了:
http_proxyhttps_proxyall_proxy
但没加:
NODE_USE_ENV_PROXY=1
那就可能出现一种很烦的现象:
- 浏览器能代理
- curl 有时能代理
- Clash 明明开着
- 但 OpenClaw / Node fetch 还是连不上
所以这不是“可选优化”,很多情况下它是必须项。
永久自动化方案
如果你不想每次开 PowerShell 都手动敲一遍,最省事的办法就是把配置写进 $PROFILE。
先执行:
if (!(Test-Path $PROFILE)) { New-Item -Type File -Path $PROFILE -Force }
notepad $PROFILE
然后把下面这段完整写进去:
# ================== OpenClaw + Clash 代理设置 (Windows) ==================
# 自动设置终端代理
$proxy = "http://127.0.0.1:7890"
$env:http_proxy = $proxy
$env:https_proxy = $proxy
$env:all_proxy = $proxy
$env:NO_PROXY = "localhost,127.0.0.1,::1"
# 关键一行:让 Node.js fetch 真正走代理(OpenAI OAuth token exchange 必须)
$env:NODE_USE_ENV_PROXY = "1"
# 启动提示
Write-Host "✅ PowerShell 已自动设置 OpenClaw 代理 (端口 7890 + NODE_USE_ENV_PROXY)" -ForegroundColor Green
# 可选:一键开关函数(以后想临时关闭就输入 proxy-off)
function proxy-on {
$proxy = "http://127.0.0.1:7890"
$env:http_proxy = $proxy
$env:https_proxy = $proxy
$env:all_proxy = $proxy
$env:NO_PROXY = "localhost,127.0.0.1,::1"
$env:NODE_USE_ENV_PROXY = "1"
Write-Host "✅ 代理已开启 (7890)" -ForegroundColor Green
}
function proxy-off {
$env:http_proxy = $null
$env:https_proxy = $null
$env:all_proxy = $null
$env:NO_PROXY = $null
$env:NODE_USE_ENV_PROXY = $null
Write-Host "❌ 代理已关闭" -ForegroundColor Yellow
}
# 默认启动时开启代理
proxy-on
这套配置的好处
这样配完以后:
- 每次打开 PowerShell 自动带代理
- OpenClaw 更容易直接正常联网
- 需要关闭时可以手动执行
proxy-off - 要恢复时执行
proxy-on
基本不用再反复折腾。
适用场景
这套方案尤其适合:
- Windows + PowerShell
- Clash / Mihomo 本地代理
- OpenClaw 登录或联网异常
- Node fetch 不走代理
如果你用的不是 7890,把文里的端口统一替换成你自己的本地代理端口就行。
最后一句
如果你只记一个点,那就是:
代理变量配了不算完,
NODE_USE_ENV_PROXY=1很关键。
这一行,真的是很多 Windows 环境下 OpenClaw 联网问题的胜负手。