本篇 

        根据上一篇Openclaw(本地部署+个人微信)ClawBot插件【安装指南】

https://blog.csdn.net/i_k_o_x_s/article/details/159351489?spm=1001.2014.3001.5502

续写

一、目录

在 Openclaw 文件夹。主要关注

       1.  .OPENCLAW/extensions. (扩展文件夹)

        2.  .OPENCLAW/openclaw.json (文件)

二、原理

个人微信 -> 微信/iLink 上游服务 -> openclaw-weixin 插件 -> OpenClaw agent -> 插件 -> 上游服务 -> 微信

扫码登录这条链:

日常收发消息这条链:

媒体消息会多一层:

下面文件都在扩展文件夹中:如 channel.ts (line 283) 

  1. 扫码登录
    用户用个人微信扫二维码,插件调用上游接口 get_bot_qrcode / get_qrcode_status,等确认后拿到 bot_token、ilink_bot_id、ilink_user_id,然后存到本地状态目录。也就是说,“个人微信接入”这一步其实是你的微信账号和上游 bot/session 建立绑定。login-qr.ts (line 126) channel.ts (line 205)

  2. 收消息
    OpenClaw 启动这个账号后,会进入一个长期运行的 monitor,不断调用 ilink/bot/getupdates 做 long-poll。上游有新微信消息时,插件就收下来;还会把 get_updates_buf 持久化,避免重启后丢消息或重复拉取。channel.ts (line 283) monitor.ts (line 37) sync-buf.ts (line 49)

  3. 转成 OpenClaw 会话
    收到微信消息后,插件会把它转换成 OpenClaw 的标准上下文:谁发的、正文、媒体、本次会话 ID 等;然后走 OpenClaw 的鉴权、路由、session 记录,再交给 agent 处理。所以它本质上是“微信消息 -> OpenClaw 消息上下文”的适配器。inbound.ts (line 123) process-message.ts (line 64)

  4. 回复消息
    OpenClaw 产出回复后,插件调用 sendmessage 发回上游,再由上游送回微信。这里有个关键点:回复必须带上微信侧下发的 context_token,插件会在收到消息时先缓存它,回消息时再带回去。没有这个 token,代码里会直接拒绝发送。inbound.ts (line 10) send.ts (line 78)

  5. 图片/文件
    媒体不是简单传 URL。发送时,插件先向上游申请 getuploadurl,本地生成 AES key,把文件上传到微信 CDN,再把 encrypt_query_param + aes_key 放进消息体。接收时则反过来:从 CDN 下载、解密、落地,再交给 OpenClaw。upload.ts (line 49) media-download.ts (line 23)

Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐