March 26, 2026
Uncategorized
Mac 用户必看:OpenClaw 连接 Telegram 的代理配置完全指南
在中国大陆使用 OpenClaw 连接 Telegram 时,经常会遇到网络连接问题。这是因为 Telegram 的 API 服务器在海外,直接连接会被防火墙拦截。本文详细讲解如何在 Mac 上通过代理软件(如 Clash)让 OpenClaw 正常连接 Telegram。
问题症状
如果你看到类似这样的错误日志,说明 OpenClaw 无法连接 Telegram:
[telegram] setMyCommands failed: Network request for 'setMyCommands' failed!
[telegram] deleteWebhook failed: Network request for 'deleteWebhook' failed!
[telegram] sendMessage failed: Network request for 'sendMessage' failed!
解决方案原理
OpenClaw 支持通过环境变量配置 HTTP 代理。我们需要:
- 确保代理软件(Clash)正在运行
- 在 OpenClaw 的 LaunchAgent 配置中添加代理环境变量
- 重启 OpenClaw 服务使配置生效
详细配置步骤
第一步:确认代理端口
首先确认你的 Clash 代理监听的端口(通常默认是 7890):
lsof -i :7890
如果看到输出说明代理正在运行。记住这个端口号,后续配置会用到。
第二步:编辑 LaunchAgent 配置文件
OpenClaw 作为系统服务(LaunchAgent)运行,需要在配置文件中添加代理环境变量:
nano ~/Library/LaunchAgents/ai.openclaw.gateway.plist
在 <dict> 的 EnvironmentVariables 部分添加以下内容:
<key>HTTP_PROXY</key>
<string>http://127.0.0.1:7890</string>
<key>HTTPS_PROXY</key>
<string>http://127.0.0.1:7890</string>
<key>ALL_PROXY</key>
<string>http://127.0.0.1:7890</string>
参数说明:
HTTP_PROXY– HTTP 请求代理HTTPS_PROXY– HTTPS 请求代理(用于 Telegram API)ALL_PROXY– 所有协议的代理http://127.0.0.1:7890– 本地代理地址和端口
编辑完成后按 Ctrl+X 保存退出。
第三步:重启 OpenClaw Gateway
重新加载 LaunchAgent 配置:
# 停止 gateway
openclaw gateway stop
# 重新加载配置并启动
launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/ai.openclaw.gateway.plist
命令说明:
launchctl bootstrap– 加载并启动 LaunchAgent 服务gui/$(id -u)– macOS GUI 用户的 LaunchAgent 路径(自动获取你的 UID)
第四步:验证连接
查看日志确认 Telegram 连接成功:
tail -f ~/.openclaw/logs/gateway.log | grep telegram
看到类似以下日志说明连接成功:
[telegram] sendMessage ok chat=xxx message=xxx
完整命令速查表
# 1. 检查代理端口是否运行
lsof -i :7890
# 2. 停止 gateway
openclaw gateway stop
# 3. 编辑配置文件
nano ~/Library/LaunchAgents/ai.openclaw.gateway.plist
# 4. 重新加载配置
launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/ai.openclaw.gateway.plist
# 5. 查看实时日志
tail -f ~/.openclaw/logs/gateway.log
# 6. 查看 gateway 状态
openclaw gateway status
常见问题排查
问题 1:修改后仍然无法连接
解决方案:
- 确保 Clash 正在运行(检查菜单栏图标)
- 确保配置文件中的端口与 Clash 实际端口一致
- 确保修改后已经重启了 gateway
问题 2:使用 SOCKS5 代理
如果你的代理软件使用 SOCKS5 协议,需要将配置改为:
<string>socks5://127.0.0.1:7891</string>
问题 3:端口号不是 7890
不同的代理软件默认端口不同:
- Clash:7890(HTTP)、7891(SOCKS5)
- Shadowrocket:6153(HTTP)
- ClashX:7890(HTTP)
用 lsof -i :PORT_NUMBER 检查你的实际端口。
总结
Mac 上配置 OpenClaw 代理的核心就是三步:
- 确认代理端口
- 编辑 LaunchAgent 配置文件添加环境变量
- 重启 gateway 使配置生效
按照本文步骤操作,基本都能解决 Telegram 连接问题。如果还有问题,查看日志是最快的排查方法。