Omni-Bot-SDK-OSS 是一个开源的微信自动化框架,基于视觉识别技术,支持微信4.0版本的RPA(机器人流程自动化)操作。它通过自定义YOLO模型和OCR技术实现运行时零侵入,适合开发者构建自动化任务。用户可以动态接入插件,适配OpenAI或Dify等平台,解析文本、图片、文件等多种消息类型,并支持消息发送和扩展功能,如小程序和朋友圈操作。项目托管在GitHub,采用Python开发,适合在独立设备上部署以避免干扰用户操作。
功能列表
- 基于YOLO模型和OCR技术,实现窗口识别和消息内容解析。
- 支持动态接入插件,兼容OpenAI、Dify等第三方平台。
- 解析微信消息,包括文本、图片、文件等类型。
- 支持消息发送功能,含文本、图片、文件等。
- 可扩展至小程序和朋友圈的内容发布。
- 通过数据库监听实现消息实时处理。
- 提供可视化管理客户端,无需编码即可操作。
使用帮助
安装流程
要使用 Omni-Bot-SDK-OSS,需按照以下步骤在本地或独立设备上完成安装。环境准备和部署过程较为简单,适合熟悉Python的开发者。
- 克隆仓库
打开终端,运行以下命令克隆项目到本地:git clone https://github.com/weixin-omni/omni-bot-sdk-oss cd omni-bot-sdk-oss
- 创建虚拟环境
为避免依赖冲突,建议创建Python虚拟环境:python -m venv venv source venv/bin/activate # Linux/Mac venv\Scripts\activate # Windows
- 安装依赖
在虚拟环境中安装项目所需依赖:pip install -e .
- 配置文件
项目需要一个配置文件config.yaml
,用于设置微信窗口、数据库连接等参数。用户需根据官方文档(仓库中的 README 或 Wiki)创建并填写配置文件,包含 YOLO 模型路径、OCR 设置和插件参数等。 - 运行框架
使用以下代码启动框架:from omni_bot_sdk.bot import Bot def main(): bot = Bot(config_path="config.yaml") bot.start() if __name__ == "__main__": main()
运行后,框架会通过数据库监听消息,并根据配置执行自动化任务。
主要功能操作
1. 消息解析与处理
Omni-Bot-SDK-OSS 使用 YOLO 模型和 OCR 技术识别微信窗口中的消息内容。启动框架后,它会:
- 监听数据库中的新消息(需用户自行配置数据库,如 MySQL 或 SQLite)。
- 解析消息类型(文本、图片、文件等),并将结果存入消息队列。
- 通过插件管理器分发消息至插件链,执行自定义逻辑。
操作步骤:
- 配置数据库连接参数(在
config.yaml
中设置数据库地址和凭据)。 - 确保微信客户端在目标设备上运行,窗口保持可见。
- 启动框架后,系统会自动扫描微信窗口,识别新消息并解析内容。
2. 消息发送
框架支持发送文本、图片和文件消息,模拟人类操作。操作步骤:
- 在插件中定义发送目标(联系人或群聊名称)。
- 调用框架的发送接口,例如:
bot.send_message(contact="目标联系人", message_type="text", content="你好")
- 确认微信窗口处于活跃状态,框架会自动定位输入框并发送。
注意:由于采用视觉识别,当存在同名联系人或群聊时,可能导致发送目标错误。建议使用唯一标识(如备注名)提高准确性。
3. 插件扩展
用户可以通过编写插件扩展功能,支持 OpenAI 或 Dify 等平台。插件开发步骤:
- 在
plugins
目录下创建 Python 文件,定义插件逻辑。 - 插件需继承框架的
Plugin
类,并实现process_message
方法。 - 示例插件代码:
from omni_bot_sdk.plugin import Plugin class MyPlugin(Plugin): def process_message(self, message): # 自定义逻辑 return {"action": "send", "content": "收到消息"}
- 将插件注册到
config.yaml
,框架会自动加载。
4. 可视化客户端
对于不熟悉编码的用户,项目提供可视化管理客户端。操作步骤:
- 下载客户端(从 GitHub Release 页面获取)。
- 安装后,打开客户端,导入
config.yaml
文件。 - 通过界面配置消息监听、发送规则和插件,无需编写代码。
- 客户端支持查看消息队列和执行日志,便于调试。
注意事项
- 部署环境:RPA 操作会占用鼠标和键盘,建议在独立设备上运行,避免干扰日常使用。
- 准确性限制:视觉识别可能因窗口重叠或分辨率问题导致错误,需确保微信窗口唯一且清晰。
- 插件开发:查阅官方文档以获取详细的插件 API 和示例代码。
应用场景
- 自动化客服
企业可通过框架监听客户消息,自动回复常见问题或转发消息至人工客服。例如,电商平台可自动回复订单状态查询。 - 群聊管理
在微信群聊中,框架可自动发送公告、活动通知,或根据关键词触发特定回复,适合社区运营或营销场景。 - 数据收集
开发者可利用消息解析功能,收集群聊或联系人消息,分析用户行为或提取关键信息,用于市场调研。 - 内容分发
媒体或自媒体从业者可通过框架自动发布文章链接、图片或小程序到微信群或朋友圈,提高内容传播效率。
QA
- 框架是否支持所有微信版本?
目前仅支持微信4.0版本。其他版本可能因界面变化导致识别失败,建议测试兼容性。 - 如何提高消息发送的准确性?
使用唯一备注名或群聊ID,避免同名冲突。确保微信窗口保持前台并清晰可见。 - 插件开发需要哪些前置知识?
熟悉 Python 编程和基本的 YOLO/OCR 原理。参考官方文档中的插件示例可快速上手。 - 可视化客户端是否免费?
是的,客户端包含在开源项目中,免费下载使用,但需自行配置环境。