Skip to content

ljc545w/weixin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenClaw 微信频道插件(自用版)

这是一个用于 OpenClaw 的微信频道插件(weixin),由 qqbot 精简改造而来,面向个人自用。

✅ 功能

  • 处理个人用户发来的消息
  • 处理群聊中的 @Bot 消息(群艾特)

注意:目前只支持处理文本消息

注意:消息推送和回复接口是插件的关键适配点,需要你根据自己的微信网关/服务实现。

⚠️ 说明

个人微信并没有官方API,如果你想要接入,需自己完成消息监听推送回复,大概是以下步骤:

  1. 你自己的微信连接层(通过Hook协议等)负责把消息推送到插件,消息需包含replyUrl字段
  2. 插件将消息转成 OpenClaw 事件并交给主应用
  3. 插件调用${replyUrl}sendText/进行回复
  4. 你自己的回复层负责把 bot 的输出转回微信

📁 代码结构

  • index.ts:插件入口
  • src/api.ts:微信 API 适配层
  • src/channel.ts:OpenClaw 渠道实现
  • src/gateway.ts:消息路由与状态
  • src/outbound.ts:发送消息接口
  • src/runtime.ts:运行时逻辑
  • src/types.ts:类型定义
  • src/config.ts:配置加载

🔧 快速开始

  1. 克隆仓库并安装依赖:
git clone https://github.com/ljc545w/weixin/
cd weixin
pnpm install
  1. 在 OpenClaw 主程序中启用插件:
openclaw plugin install ./weixin
openclaw plugin enable weixin
  1. 完成weixin插件配置。 3.1 在openclaw.json.channels.weixin中配置accountId(机器人的微信ID)。 3.2 在openclaw.json.channels.weixin中配置gateway,插件会基于此地址启动wsshttp服务,然后,你需要自行完成消息监听,将消息推送到该地址。 3.3 设置openclaw.json.channels.weixin.enabletrue。 3.4 在openclaw.json.channels.weixin.allowFrom添加允许执行/new等命令的用户微信ID。

⚙️ 关键适配点

本插件支持消息事件的接收和处理,但以下部分需要你自己实现对接:

  • 接收微信消息后推送到插件:src/gateway.tssrc/api.ts
  • 解析 OpenClaw 输出并回复给目标用户:src/outbound.ts
  • 群 @ 解析与回复定位(@用户)

🛠 你应该做的事情

  1. 在你的微信网关中把个人消息转换为插件输入事件。
  2. 把群消息艾特 bot 的场景映射到插件事件(at 标记)。
  3. 插件的发送接口(outbound)会将回复内容发送到你的网关,由你返回给用户,因此,网关须支持sendText/路由。
  4. 测试个人与群 @ 回复行为。

🧩 插件调用约定(建议)

  • 输入消息格式:参考src/types.ts/WeixinMessage
  • 输出消息格式:{ accountId, userName, content }

你可以根据自己的网关 layer 扩展字段。

📌 注意

  • 目前此插件只做消息桥接逻辑,不含完整微信客户端认证/会话管理。
  • 请勿直接把敏感信息写入仓库。

🤝 贡献与自用

欢迎把这个仓库当作你自己微信自用的起点:

如果你愿意,也可以把你的创意提 PR 回 upstream。


weixin:由 qqbot 精简改造的 OpenClaw 微信频道插件,特别感谢原作者sliverp的贡献。

About

weixin channel for openclaw.

Resources

License

MIT, MIT licenses found

Licenses found

MIT
LICENSE
MIT
QQBOT_LICENSE

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors