成功打通 OpenClaw + 微信群聊:纯视觉、不 HOOK、无需公网。 最近看到一篇文章分享在不使用第三方协议、不做 HOOK 与内存注入、无需公网暴露的前提下,通过纯视觉 UI 自动化,把 OpenClaw 接入微信(包含群聊 @ 回复),全程本地 WebSocket 通信,隐私不出内网。 顺手整理出来这套方案:
- 技术路线:UI 层模拟(纯视觉),不逆向、不注入。
- 通信方式:本机 WebSocket 与 OpenClaw Gateway 交互。
- 部署环境:Windows + 微信 PC 客户端 + OpenClaw。
- 效果:好友/群聊监听,@ 即答;自动通过好友并欢迎;流式响应回写。
微信自动化方案盘点与选择
Windows 上安装 OpenClaw(极简路径)
安装 OpenClaw
# 安装
npm i -g openclaw@latest
# 如果下载缓慢,切换国内源
npm config set registry https://registry.npmmirror.com
引导配置
openclaw onboard --install-daemon
C:Usersadmin.openclawopenclaw.json
常用终端命令
# 配置检查与修复
openclaw doctor --fix
# 终端对话
openclaw tui
# 查看 gateway 指令
openclaw gateway --help
# 前台运行(便于观察日志)
openclaw gateway run
# 后台重启
openclaw gateway restart
# 查看状态
openclaw gateway status
# 停止
openclaw gateway stop
18789
创建独立微信 Agent
# 查看已有 Agent
openclaw agents list
# 创建 Agent 并指定 workspace
openclaw agents add echo --workspace C:Usersadmin.openclawworkspace-echo
# 测试通信
openclaw agent --agent echo --message "hello"
踩坑提醒run error: Error: Session file path must be within sessions directory
配置 Agent 人设

workspace/
├── AGENTS.md # 运行手册:启动流程
├── SOUL.md # 行为宪章:Bot 行为规范
├── IDENTITY.md # 身份档案:我是谁
├── USER.md # 用户画像:服务对象
├── TOOLS.md # 工具配置:专属 Skills
├── HEARTBEAT.md # 心跳任务:定时检查
├── MEMORY.md # 长期记忆:永久存储
└── memory/
└── YYYY-MM-DD.md # 日记:每日记录


OpenClaw 接入微信(纯视觉自动化)
业务逻辑(极简四步)

- 监听微信会话列表:识别红点/未读标记。
- 定位目标会话:私聊或群聊 @ 信息。
- 将消息透传至 OpenClaw(本机 WebSocket)。
- 接收流式回复并回填到对应会话。
交互逻辑:

架构设计
- 应用层(wxbot):业务编排,处理好友监听、消息监听、群聊 @ 回复等。
- 通信层(OpenClawClient):管理 WebSocket 连接、请求-响应匹配、流式事件消费。
- 自动化层(MainWnd):控制微信主窗口,负责会话切换、消息收/发、好友管理。
- 基础设施(uiautomation):Windows UI 自动化框架,模拟鼠标键盘与控件交互。
- 外部交互(OpenClaw Gateway):代理网关,负责 session 管理与流式输出。

关键实现
- 轮询机制:定时截屏检测「未读红点」,遍历会话列表完成消息监听。
- 消息去重:用字典记录每个会话已处理的消息 ID,防止重复触发。
- 流式响应:实时累加 OpenClaw 输出,按会话维度分片发送,提升可读性与响应速度。
测试情况
私聊窗口

