基于wxauto库和OneBotV11协议的微信消息转发框架,支持通过WebUI进行配置管理。
🔌 支持两种使用方式:
- 独立应用模式:直接运行使用
- AstrBot插件模式:作为AstrBot插件集成使用
- 🌐 WebUI配置界面 - 友好的Web界面进行配置操作
- 💾 本地配置存储 - 所有配置保存到本地文件,支持长期存储
- 👥 微信消息监听 - 监听指定用户的微信消息
- 🔄 OneBotV11协议转换 - 将微信消息转换为OneBotV11格式
- 🌐 反向WebSocket通信 - 通过反向WS与后端服务通信
- 📨 消息回复处理 - 解析后端回复并发送给微信用户
- 🎯 多媒体支持 - 支持文字、图片、文件等多种消息类型
- 🪟 智能窗口管理 - 自动检测所有微信窗口,支持定时最小化恢复功能
- 🔄 多窗口同步操作 - 同时管理主窗口和聊天窗口,保持窗口状态一致性
pip install -r requirements.txt- 启动程序:
python main.py- 打开浏览器访问WebUI界面:
http://localhost:10001
- 在WebUI中进行配置:
- 设置要监听的微信用户昵称
- 配置反向WebSocket地址
- 启用相关功能模块
-
将整个项目文件夹复制到AstrBot的插件目录中
-
在AstrBot管理界面中启用「微信消息转发框架」插件
-
插件启动后,访问WebUI界面进行配置:
http://localhost:10001
(注意:需要自行在astrbot的webui新建一个消息平台并选择aiocqhttp协议) 4. 配置步骤与独立模式相同
注意:
- 插件模式下,框架会在AstrBot启动时自动加载,无需手动运行main.py
- 插件采用非阻塞设计,不会影响AstrBot的正常业务运行
- 所有组件(WebSocket、微信监听、Web UI)都在独立线程中运行
监听用户昵称: 要监听消息的微信用户昵称列表启用微信监听: 是否启用微信消息监听功能
反向WebSocket地址: 后端服务的WebSocket地址启用OneBot客户端: 是否启用OneBot协议通信
启用窗口控制器: 是否启用微信窗口自动管理功能最小化间隔: 定时最小化微信窗口的时间间隔(秒)恢复延迟: 窗口最小化后多长时间恢复(毫秒)多窗口检测: 自动检测并管理所有微信相关窗口(主窗口、聊天窗口等)
端口: WebUI服务端口,默认10001
wxauto_repost_onebotv11/
├── main.py # 主程序入口
├── requirements.txt # 依赖包列表
├── README.md # 项目说明
├── config/ # 配置文件目录
│ └── config.json # 主配置文件
├── src/ # 源代码目录
│ ├── __init__.py
│ ├── config_manager.py # 配置管理模块
│ ├── wechat_monitor.py # 微信监听模块
│ ├── onebot_converter.py # OneBotV11协议转换器
│ ├── websocket_client.py # WebSocket客户端
│ ├── message_handler.py # 消息处理模块
│ ├── window_controller.py # 微信窗口控制器
│ └── web_ui.py # WebUI模块
└── static/ # 静态文件目录
├── css/
├── js/
└── templates/
- 首次使用需要确保微信PC版已登录
- 建议在稳定的网络环境下使用
- 配置文件会自动保存,无需手动备份
- 窗口控制器功能会自动检测所有微信窗口(包括主窗口和聊天窗口),定时执行最小化恢复操作
- 多窗口管理功能可以通过WebUI界面进行测试和配置
- 如遇到问题,请检查日志输出
MIT License