乐于分享
好东西不私藏

OpenClaw 新玩法:本地封闭运行,微信无缝接入

OpenClaw 新玩法:本地封闭运行,微信无缝接入

openclaw接入微信,遇到了有意思的技术问题。过程曲折但收获满满,特此记录,希望帮到有类似需求的你。

问题的开始

AI 助手 OpenClaw 一直运行在本地,端口绑定在 127.0.0.1

想接入微信,二维码扫描后,微信发送消息给openclaw没有任何反映

最开始的思路

第一反应:Gateway 需要暴露到公网才能接收微信回调

方案
复杂度
🔒 Tailscale VPN
⭐ 低
🌐 反向代理 Nginx/Caddy
⭐⭐ 中
🔄 内网穿透 frp
⭐⭐ 中

正准备大干一场时,突然想到一个问题:

我真的理解这个插件的架构吗?

柳暗花明

带着疑问让openclaw翻看了 OpenClaw 文档和插件源码,发现了惊喜设计:

微信插件采用的是「长轮询」机制,而非「回调」机制!

🔄 两种模式对比

传统回调模式(需要公网暴露)

微信服务器 ──回调──► 你的服务器(需要公网 IP)

长轮询模式(不需要公网暴露)

你的服务器 ──轮询──► 微信服务器 微信服务器 ◄─响应───

💡 本质区别:谁主动发起连接?

📊 架构图解

🔒Gateway 不需要开放端口

🌐通信方式 插件主动发起 HTTPS

📱消息方式 通过轮询响应返回

🛡️安全性大大提高

🚀 微信接入标准流程

如果你也想接入,可以按照以下步骤操作:

第一步:安装插件

# 安装微信插件
openclaw plugins install "@tencent-weixin/openclaw-weixin"

第二步:启用插件

openclaw config set plugins.entries.openclaw-weixin.enabledtrue

第三步:二维码登录

openclaw channels login --channel openclaw-weixin

终端会显示二维码,用手机微信扫描确认授权

第四步:验证连接

openclaw channels status

第五步:开始使用

直接在微信里给 bot 发消息即可!

🚧 踩坑实录

实际操作中踩了几个坑,记录下来帮你避雷:

⚠️ 坑 1:修改openclaw默认端口,提升安全性

修改了 LaunchAgent 端口配置,却忘了修改启动脚本。

# ❌ 错误:没有指定端口
nohup openclaw gateway > ... &

# ✅ 正确:显式指定端口
nohup openclaw gateway --port xxxxx > ... &

教训:修改配置要全局检查,不能遗漏调用点

⚠️ 坑 2:旧进程没释放

端口修改后,旧进程仍在运行,新端口无法生效。

# 查看端口占用
lsof -i :xxxxx

# 杀掉旧进程
kill <PID>

教训:修改端口前先清理旧进程

⚠️ 坑 3:二维码过期太快?

先检查网络连通性:

curl -s "https://ilinkai.weixin.qq.com/ilink/bot/get_bot_qrcode?bot_type=3"

如果返回正常,说明网络没问题。

扫码时注意:

  • ⚠️ 要点击「确认登录」,不是只扫码
  • ⚠️ 设备时间要同步

🎉 最终成功

修复以上问题后,微信登录成功!

✅ openclaw-weixin: enabled, configured, running

现在有两种方式访问 AI 助手:

🌐 Web 界面
http://127.0.0.1:xxxxx/
💬 微信
直接给 微信ClawBot 发消息

📸 效果截图

▲ 通过微信与 AI 助手对话,发送链接自动保存到笔记

🔐 安全评估

🌐网络暴露 ✅ 极低

🔑认证方式 ✅ Token + 微信

🔒传输加密 ✅ HTTPS

📊整体风险 ✅ 低风险

长轮询架构在安全性部署简便性上都有明显优势。

📝 总结

1 安装插件要先理解架构,不要想当然

2 修改配置要全局检查,尤其是启动命令

3 长轮询 + 主动连接 是不需要公网 IP 也能实现消息收发的巧妙方案

4 善用源码和文档,很多问题已有答案