要让 OpenClaw 连通本地代理,最根本的办法是绕过它自己的代理解析,用 Node.js 底层机制去连接。
🎯 核心解决方案:用环境变量“强制”OpenClaw走代理
这是一个既治本又省心的方法。环境变量是 Node.js 原生支持的代理机制,能让代理配置100%稳定生效,从根本上避开协议混淆等一系列复杂问题。
方案一:单次有效(最快验证,适合测试)
这个方法适合先快速验证,每次关闭终端后需要重新设置。请将PORT换成你的代理端口(例如7890):
# 1. 设置环境变量,强制当前终端下的所有流量走代理exportHTTPS_PROXY=http://127.0.0.1:PORTHTTP_PROXY=http://127.0.0.1:PORT# 2. 重新运行 OpenClaw 配置向导openclaw onboard方案二:一劳永逸(配置开机启动,适合日常)
如果你想避免每次都手动设置,可以把它写进 shell 配置文件里。macOS 默认使用zsh,配置文件是~/.zshrc。
# 1. 用文本编辑打开配置文件open~/.zshrc# 2. 在文件末尾添加以下两行(同样请替换PORT为你的端口)exportHTTP_PROXY=http://127.0.0.1:PORTexportHTTPS_PROXY=http://127.0.0.1:PORT# 3. 保存文件后,执行以下命令让配置立即生效source~/.zshrc设置好后,以后每次打开终端都会自动加载代理配置,再运行openclaw onboard即可。
🛠️ 备选方案:从根源上解决问题(推荐)
如果觉得以上方案操作起来比较复杂,可以考虑直接使用一个专门为国内网络优化过的版本@guadskill/openclaw-proxy。它在官方版本基础上内置了 HTTP 代理支持,配置起来非常省心。
- 卸载旧版:
npmuninstall-gopenclaw - 安装优化版:
npminstall-g@guadskill/openclaw-proxy - 重新配置:
在它弹出的引导中,会交互式地询问你的代理地址,直接填上openclaw onboardhttp://127.0.0.1:PORT(注意是http://,不是https://)就行了。
本文仅用于本地开发调试,请勿用于非法用途。