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 代理。我们需要:

  1. 确保代理软件(Clash)正在运行
  2. 在 OpenClaw 的 LaunchAgent 配置中添加代理环境变量
  3. 重启 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 代理的核心就是三步:

  1. 确认代理端口
  2. 编辑 LaunchAgent 配置文件添加环境变量
  3. 重启 gateway 使配置生效

按照本文步骤操作,基本都能解决 Telegram 连接问题。如果还有问题,查看日志是最快的排查方法。

Leave a Reply

Your email address will not be published. Required fields are marked *