“教程写的都是 Mac 命令Windows 上怎么搞”“换了 Linux 服务器同样的 YAML 配置就是跑不通……”“从 Windows 换到 Mac代理突然不生效了环境变量写法不一样”如果你在多台设备上部署 OpenClaw你一定遇到过这种“跨平台水土不服”的问题。不同操作系统的终端环境不同命令语法不同甚至环境变量的生效方式也不同。今天这篇文章就帮你一次性搞定Windows、Mac、Linux三大平台下 OpenClaw 的代理配置手把手带你把站大爷隧道代理跑通。一、为什么跨平台配置容易“翻车”核心原因有两个第一不同平台的终端语法不同。Windows 的 CMD 和 PowerShell 用set或$env:Linux/Mac 用export。搞混了就会报错。第二配置的生效范围不同。生效范围WindowsMac/Linux当前会话set/$env:export永久生效setx/ 系统变量写入~/.bashrc/~/.zshrc最稳妥的策略是统一用环境变量配置法——这是 OpenClaw 官方文档认可的“最快检查”方式。它通过 Node.js 原生机制处理代理请求能彻底绕开 YAML 配置在跨平台环境下可能出现的协议混淆问题。二、Windows 系统配置Windows 下主要有两种终端PowerShell推荐和CMD。方法一PowerShell推荐功能最强PowerShell 是微软新一代跨平台 Shell对 OpenClaw 的兼容性最好。临时生效当前窗口$env:HTTP_PROXYhttp://隧道ID:密码tps.zdaye.com:8080 $env:HTTPS_PROXYhttp://隧道ID:密码tps.zdaye.com:8080 openclaw gateway start永久生效推荐[Environment]::SetEnvironmentVariable(HTTP_PROXY, http://隧道ID:密码tps.zdaye.com:8080, User) [Environment]::SetEnvironmentVariable(HTTPS_PROXY, http://隧道ID:密码tps.zdaye.com:8080, User)完成后需要重启终端才能生效。方法二CMD命令提示符兼容旧脚本临时生效set HTTP_PROXYhttp://隧道ID:密码tps.zdaye.com:8080 set HTTPS_PROXYhttp://隧道ID:密码tps.zdaye.com:8080 openclaw gateway start永久生效setx HTTP_PROXY http://隧道ID:密码tps.zdaye.com:8080 setx HTTPS_PROXY http://隧道ID:密码tps.zdaye.com:8080使用setx后新打开的命令行窗口会生效当前窗口不会。⚠️踩坑提醒PowerShell 和 CMD 的环境变量不互通。在 PowerShell 里$env:HTTP_PROXY...设的变量在 CMD 里用echo %HTTP_PROXY%是看不到的。建议全程使用同一个终端。Windows 永久生效图形界面方式按Win R输入sysdm.cpl点击“高级” → “环境变量”在“系统变量”或“用户变量”中点击“新建”变量名HTTP_PROXY变量值http://隧道ID:密码tps.zdaye.com:8080同样添加HTTPS_PROXY重启电脑或重新打开终端后生效三、Mac 系统配置Mac 使用ZshmacOS Catalina 后默认或Bash旧版本。临时生效当前终端export HTTP_PROXYhttp://隧道ID:密码tps.zdaye.com:8080 export HTTPS_PROXYhttp://隧道ID:密码tps.zdaye.com:8080 openclaw gateway start永久生效推荐确认你用的是哪种 Shellecho $SHELL # /bin/zsh → Zsh # /bin/bash → Bash如果是 ZshmacOS 默认编辑~/.zshrcecho export HTTP_PROXYhttp://隧道ID:密码tps.zdaye.com:8080 ~/.zshrc echo export HTTPS_PROXYhttp://隧道ID:密码tps.zdaye.com:8080 ~/.zshrc source ~/.zshrc如果是 Bash编辑~/.bash_profile或~/.bashrcecho export HTTP_PROXYhttp://隧道ID:密码tps.zdaye.com:8080 ~/.bash_profile echo export HTTPS_PROXYhttp://隧道ID:密码tps.zdaye.com:8080 ~/.bash_profile source ~/.bash_profile小提示Mac 用户如果使用 LaunchAgent 实现开机自启可以创建~/Library/LaunchAgents/ai.openclaw.ssh-tunnel.plist持久化隧道服务。临时关闭代理unset HTTP_PROXY HTTPS_PROXY四、Linux 系统配置Linux 服务器通常使用Bash配置方式与 Mac 类似但注意区分桌面版和服务器的环境差异。临时生效当前会话export HTTP_PROXYhttp://隧道ID:密码tps.zdaye.com:8080 export HTTPS_PROXYhttp://隧道ID:密码tps.zdaye.com:8080 openclaw gateway start永久生效系统级将以下内容添加到~/.bashrc用户级推荐echo export HTTP_PROXYhttp://隧道ID:密码tps.zdaye.com:8080 ~/.bashrc echo export HTTPS_PROXYhttp://隧道ID:密码tps.zdaye.com:8080 ~/.bashrc source ~/.bashrc如果是系统级配置所有用户生效编辑/etc/environmentHTTP_PROXYhttp://隧道ID:密码tps.zdaye.com:8080 HTTPS_PROXYhttp://隧道ID:密码tps.zdaye.com:8080修改后需要注销重新登录或重启系统。服务器运维小技巧在生产环境建议配合PM2实现开机自启和崩溃重启npm install -g pm2 pm2 start openclaw --name openclaw-gateway -- gateway run pm2 save pm2 startup五、Docker 环境配置跨平台一致无论在 Windows、Mac 还是 Linux 上跑 Docker配置方式完全一致——通过docker-compose.yml的environment字段传递环境变量services: openclaw: image: openclaw/openclaw:latest environment: - HTTP_PROXYhttp://隧道ID:密码tps.zdaye.com:8080 - HTTPS_PROXYhttp://隧道ID:密码tps.zdaye.com:8080 - NO_PROXYlocalhost,127.0.0.1 ports: - 18789:18789 restart: unless-stopped⚠️关键提醒容器内不要手动export环境变量必须在 docker run 或 compose 中传递否则重启会丢失。六、跨平台配置速查表平台临时生效永久生效永久生效文件/位置Windows PowerShell$env:HTTP_PROXY...[Environment]::SetEnvironmentVariable(...)系统环境变量Windows CMDset HTTP_PROXY...setx HTTP_PROXY ...系统环境变量Mac Zshexport HTTP_PROXY...写入~/.zshrc~/.zshrcMac Bashexport HTTP_PROXY...写入~/.bash_profile~/.bash_profileLinux Bashexport HTTP_PROXY...写入~/.bashrc~/.bashrcDocker全平台—在docker-compose.yml中配置environment字段七、验证代理是否生效配置完成后用 OpenClaw 的测试指令验证请访问 https://httpbin.org/ip告诉我返回的IP地址是什么如果返回的 IP不是你的本机IP说明配置成功。等 1-2 分钟再问一次如果 IP变了说明站大爷隧道代理的自动轮换功能也在正常工作。总结跨平台配置 OpenClaw 代理核心就一件事用环境变量别折腾 YAML。三句话记住全部要点Windows 用 PowerShell$env:HTTP_PROXY...永久生效用[Environment]::SetEnvironmentVariableMac 用 Zshexport写入~/.zshrcsource后生效Linux 用 Bashexport写入~/.bashrcsource后生效Docker 全平台一致在docker-compose.yml的environment中配置不用管宿主机是什么系统。