跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像AI 生图工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
编程语言Node.jsWeChatAI

OpenClaw 接入微信实现 AI 自动回复实战指南

本文介绍如何通过 OpenClaw 插件将微信私聊和群聊接入 AI 智能体运行时。涵盖插件安装、Token 获取、内网穿透配置及 Webhook 设置。支持媒体处理、富消息转发、自定义触发策略及 Agent 绑定。通过 ngrok 或 FRP 实现公网可达,完成从消息接收到 Agent 调度的闭环。

机器人发布于 2026/4/11更新于 2026/7/1832 浏览
OpenClaw 接入微信实现 AI 自动回复实战指南

SyNodeAi OpenClaw Plugin

SyNodeAi OpenClaw Plugin 用于将微信私聊和群聊接入 OpenClaw,使每一条消息都能进入 Agent Runtime,触发 Tool、Skill 或 Workflow 调度。

为什么做这个插件

在 OpenClaw 体系里,微信不仅是聊天工具,更是:

  • 高活跃入口:天然承载真实用户会话
  • 事件源:每条消息都可以转换为 Agent Event
  • 执行环境:每个会话都可以成为独立上下文 Runtime
  • 能力承载层:可以继续挂载 Tool、Skill、Workflow、ACP 持久会话

可以理解为:

WeChat = Event Source OpenClaw = Runtime Agent = Execution Unit Tool / Skill = Capability Layer

架构概览

WeChat ↓ Channel (SyNodeAi) ↓ OpenClaw Runtime ↓ Agent ↓ Tool / Skill / Workflow → Response → WeChat

功能特性

通道能力
  • 支持微信私聊/群聊接入
  • 支持 SyNodeAi API + Webhook 回调
  • 支持消息转 Event
  • 支持接入 OpenClaw Channel 体系
Agent 执行能力
  • 每个会话独立上下文
  • 支持 bindings 路由到指定 Agent
  • 支持 ACP 持久会话
  • 支持群聊/私聊细粒度触发策略
微信特性支持
  • 支持 @ 触发/引用触发
  • 支持引用回复/普通回复/@发送者
  • 支持撤回消息
  • 支持转发已有富消息
  • 支持表情/名片/小程序/appmsg/链接等富消息
  • 支持群成员目录读取与已知对象缓存
媒体与语音能力
  • 支持媒体上传
  • 支持 mediaPublicUrl 本地反代
  • 支持 S3 兼容上传
  • 支持语音自动转 silk
  • 支持自动下载 rust-silk
  • 支持 ffmpeg/ffprobe 处理媒体

快速开始

只需要几分钟,你就可以让微信跑起一个 AI Agent。

1. 安装插件

推荐使用 npm 安装:

openclaw plugins install synodeai

其他安装方式包括本地目录安装、软链接(开发调试)或归档安装。安装或启用插件后需要重启 Gateway。

2. 登录并获取 Token

打开地址登录微信并完成绑定,获取 token:

http://synodeai.webotchat.com/quickstart
3. 配置 JSON 文件

将配置文件复制到 ~/.openclaw/openclaw.json:

{
  "channels": {
    "synodeai": {
      "enabled": true,
      "token": "<synodeai-token>",
      "webhookHost": "0.0.0.0",
      "webhookPort": 4399,
      "webhookPath": "/webhook",
      "autoQuoteReply": false,
      "allowFrom": [],
      "dmPolicy": "open",
      "groupPolicy": "open",
      "groups": {
        "*": {
          "trigger": { "mode": "at" },
          "reply": { "mode": "quote_source" }
        }
      }
    }
  }
}
4. 配置 Webhook(内网穿透)

Webhook 是 SyNodeAi 将微信消息推送到你本地 OpenClaw 的入口地址,必须公网可访问。如在本地环境使用,推荐用 ngrok 做内网穿透。

4.1 安装 ngrok
brew install ngrok
4.2 配置 token

注册 ngrok 后获取 token,然后执行:

ngrok config add-authtoken YOUR_TOKEN
4.3 启动穿透
ngrok http 4399

你会看到类似输出:

https://xxxx.ngrok-free.app -> http://localhost:4399

这个 https://xxxx.ngrok-free.app 就是你的公网地址。

5. 填写 webhook

把上一步的公网地址按下面格式填写到 SyNodeAi:

https://xxxx.ngrok-free.app/webhook
6. 启动 OpenClaw
openclaw start
7. 验证

向机器人发一条微信消息测试:

  • 私聊直接发消息
  • 群聊中 @机器人
  • 群聊中引用机器人上一条消息继续追问

正确顺序是:登录微信(SyNodeAi)→ 安装 OpenClaw plugin(synodeai)→ 复制 json 配置文件 → 配置 ngrok 拿到公网地址 → 在 SyNodeAi 填写 webhook → 最后启动 openclaw start。

配置项说明

核心配置位于 ~/.openclaw/openclaw.json 的 channels.synodeai 段落中:

  • webhookHost/webhookPort/webhookPath:SyNodeAi 回调入口(需公网可达,常配合 FRP)。
  • mediaPath:本地媒体服务的路由前缀(默认 /synodeai-media)。
  • mediaPublicUrl:本地反代回退时的公网地址前缀(可选)。
  • s3Enabled:是否启用 S3 兼容上传。
  • voiceAutoConvert:自动将音频转为 silk(默认开启)。
  • silkAutoDownload:自动下载 rust-silk(默认开启)。
  • autoQuoteReply:是否开启 replyToId + 纯文本 自动引用回复(默认开启)。
  • allowFrom:允许私聊触发的微信 ID。

群聊/私聊触发与回复规则

groups 和 dms 都支持 * 默认项 + 精确项覆写。

群聊触发

groups[*].trigger.mode 支持:

  • at:只有被 @ 时触发
  • quote:只有引用机器人消息时触发
  • at_or_quote:@ 或引用机器人消息都触发
  • any_message:任何消息都触发

群聊默认值是 at。

群聊回复

groups[*].reply.mode 支持:

  • plain:普通回复
  • quote_source:首条回复自动引用当前入站消息
  • at_sender:首条文本回复自动 @ 发送者
  • quote_and_at:首条文本回复同时引用并 @

群聊默认值会跟随 autoQuoteReply:未配置或为 true 时默认 quote_source;显式设为 false 时默认 plain。

私聊触发与回复
  • 触发模式:any_message 或 quote
  • 回复模式:plain 或 quote_source

私聊默认触发是 any_message。私聊默认回复也会跟随 autoQuoteReply 回退到 quote_source 或 plain。

绑定到 Agent / ACP

除了 channels.synodeai 这一段插件配置,SyNodeAi 还支持配合 OpenClaw 顶层 bindings[] 使用。

绑定到普通 Agent

示例表示:ops-room@chatroom 这个群固定交给 ops agent 处理。

{
  "bindings": [
    {
      "type": "route",
      "agentId": "ops",
      "match": {
        "channel": "synodeai",
        "accountId": "work",
        "peer": { "kind": "group", "id": "ops-room@chatroom" }
      }
    }
  ],
  "channels": {
    "synodeai": {
      "accounts": {
        "work": {
          "groups": {
            "ops-room@chatroom": {
              "trigger": { "mode": "at_or_quote" },
              "reply": { "mode": "quote_and_at" }
            }
          }
        }
      }
    }
  }
}
绑定到 ACP 持久会话

示例表示:这个群固定进入 codex agent 的一个 ACP 持久会话。

{
  "bindings": [
    {
      "type": "acp",
      "agentId": "codex",
      "match": {
        "channel": "synodeai",
        "accountId": "work",
        "peer": { "kind": "group", "id": "repo-room@chatroom" }
      },
      "acp": {
        "label": "repo-room",
        "mode": "persistent",
        "cwd": "/workspace/repo-a",
        "backend": "acpx"
      }
    }
  ]
}

发送媒体与富消息

URL 策略
  • 本地文件:优先上传 S3,失败回退 mediaPublicUrl 本地反代
  • 公网 URL:先尝试原 URL 发送,失败后再尝试上传 S3,仍失败回退本地反代
富消息与消息复用

可以通过共享 message 工具走标准动作:send、reply、unsend,并在参数里附带一个 synodeai 对象来表达微信专属语义。

示例:在当前群里回复并做部分引用

{
  "action": "reply",
  "message": "收到,我接着处理",
  "synodeai": {
    "quote": { "partialText": "需要继续跟进的那一段" }
  }
}

示例:撤回一条已经发出的消息

{
  "action": "unsend",
  "to": "ops-room@chatroom",
  "messageId": "10001",
  "newMessageId": "10002",
  "createTime": "1710000002"
}

插件支持通过 channelData["synodeai"] 传入 SyNodeAi 专有消息语义,结构如下:

  • appMsg:直接发送 <appmsg> XML
  • quoteReply:发送引用回复
  • emoji:发送表情
  • nameCard:发送名片
  • miniApp:发送小程序
  • revoke:撤回指定消息
  • forward:复用已存在消息 XML 进行二次转发

如果希望让模型主动发'部分引用',SyNodeAi 通道会识别回复末尾的一行隐藏指令:

[[GEWE_QUOTE_PARTIAL:要引用的原文片段]]

插件会在发送前剥离这行指令,并自动转成 quoteReply.partialText。

依赖

npm 依赖
  • zod
peer 依赖
  • openclaw (>= 2026.1.29)
系统级工具
  • ffmpeg / ffprobe(用于视频缩略图与时长)
  • rust-silk(出站语音转 silk + 入站语音解码;支持自动下载)
网络 / 服务依赖
  • SyNodeAi API 服务
  • Webhook 回调需要公网可达(可配合 FRP)
  • 媒体对外地址(mediaPublicUrl)

配置变更后需重启 Gateway。

目录

  1. SyNodeAi OpenClaw Plugin
  2. 为什么做这个插件
  3. 架构概览
  4. 功能特性
  5. 通道能力
  6. Agent 执行能力
  7. 微信特性支持
  8. 媒体与语音能力
  9. 快速开始
  10. 1. 安装插件
  11. 2. 登录并获取 Token
  12. 3. 配置 JSON 文件
  13. 4. 配置 Webhook(内网穿透)
  14. 4.1 安装 ngrok
  15. 4.2 配置 token
  16. 4.3 启动穿透
  17. 5. 填写 webhook
  18. 6. 启动 OpenClaw
  19. 7. 验证
  20. 配置项说明
  21. 群聊/私聊触发与回复规则
  22. 群聊触发
  23. 群聊回复
  24. 私聊触发与回复
  25. 绑定到 Agent / ACP
  26. 绑定到普通 Agent
  27. 绑定到 ACP 持久会话
  28. 发送媒体与富消息
  29. URL 策略
  30. 富消息与消息复用
  31. 依赖
  32. npm 依赖
  33. peer 依赖
  34. 系统级工具
  35. 网络 / 服务依赖
  • 免费图片AI生成工具免费生成了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
  • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
  • 100+免费在线小游戏爽一把
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • 前端动画演进:告别 jQuery animate,拥抱现代方案
  • 大模型在智能财务领域的应用思路与落地实践
  • AI 绘图引擎 Prompt 写作技巧与参数调优实战
  • 数据结构与算法:递归原理及 Java 实现案例
  • 基于腾讯云 HAI 与 DeepSeek 快速构建个人网页
  • Spring Security 接入 SpringBoot 与前后端分离实战
  • VSCode 中 GitHub Copilot 安装与使用指南
  • Dockerfile 核心指令详解与最佳实践指南
  • C++ 模板进阶:非类型参数、特化技巧与分离编译实战
  • Llama3.2 本地部署指南:使用 Ollama 快速搭建大模型助手
  • Rust 异步代码测试与调试实战指南
  • Whisper 在金融领域的应用:语音指令交易系统
  • SpringBoot 登录认证全栈实现:Session、统一结果封装、MD5 加密与拦截器
  • JBoss Seam 2.1.1 环境搭建与示例运行指南
  • AI 辅助前端动画开发实践
  • BFS 实现 FloodFill 算法及经典题目解析
  • 移动 Git 管理工具效率对比与选型指南
  • ARM、AMD、Intel 架构详解
  • WebView 概念、功能、应用场景及优劣势深度解析
  • Gitee 使用教程

相关免费在线工具

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online