跳到主要内容
项目档案库 / SDK

omni-bot-sdk:基于YOLO视觉识别的微信4.0 RPA框架 - 零侵入消息自动化与OpenAI/Dify集成SDK使用指南

omni-bot-sdk是一个基于视觉识别和数据库监听的微信4.0 RPA框架,实现零侵入消息自动化处理。支持YOLO模型定位、OCR识别、插件扩展及OpenAI/Dify集成,适用于个人学习与技术交流场景。本文详细介绍项目定位、安装配置、使用方法和架构特点。

545PythonStar 于 2026年2月24日2026年9月17日 更新

AI 总结

omni-bot-sdk 是一个基于视觉识别(YOLO+OCR)和数据库轮询的微信4.0 RPA框架,实现零侵入消息监听与自动化操作,支持插件扩展和OpenAI/Dify集成,适用于个人学习与技术交流场景。

中文项目介绍

omni-bot-sdk 是一个专为微信4.0设计的RPA(机器人流程自动化)开发框架,旨在帮助开发者构建智能聊天机器人并自动化处理微信消息。项目采用数据库轮询监听消息源,结合自定义YOLO视觉模型和OCR技术实现界面元素定位,从而在运行时对微信客户端零侵入,显著降低被检测封号的风险。 框架核心解决传统微信自动化方案依赖Hook或逆向接口易被识别的问题,通过纯视觉识别路径避免修改微信进程,理论上不受版本更新影响。同时提供插件化架构,支持动态加载功能模块,可轻松集成OpenAI、Dify等大语言模型服务实现智能回复,并内置文本、图片、文件的消息发送能力,还可扩展至朋友圈、小程序等复杂操作。 主要适用场景为个人学习与技术交流,如构建私人助理机器人、自动化流程实验、LLM集成研究等。⚠️项目明确禁止用于营销、广告等商业行为,使用者需自行承担封号风险。技术层面要求Python 3.12+环境,依赖ultralytics、paho-mqtt、fastmcp等库,需配置数据库密钥和本地MQTT服务。消息处理流程为:数据库轮询 → 消息队列 → 插件链处理 → RPA动作队列 → 视觉执行器,所有数据保留本地,不联网收集信息。

详细信息与使用说明

1. 项目定位与用途

omni-bot-sdk 是一个面向开发者的微信4.0 RPA框架SDK,核心定位是通过零侵入方式实现微信客户端自动化。其主要用途包括:构建个人聊天机器人、自动化接收与处理各类微信消息(文本/图片/文件)、集成大语言模型(如OpenAI、Dify)实现智能对话、以及扩展发送朋友圈和小程序等高级功能。项目提供完整的程序化API,开发者可通过几行代码快速启动机器人,也可通过插件系统深度定制业务逻辑。同时配套桌面GUI客户端(独立仓库)供非编程用户使用。项目严格限定于个人学习与技术交流,禁止商业用途。

2. 解决的问题

传统微信自动化方案多依赖Hook或逆向工程,易被微信官方检测导致封号。本项目通过三大技术路径解决该问题:一是采用数据库只读轮询策略监听消息,避免修改微信进程;二是使用训练专用的YOLO模型配合OCR进行视觉定位,替代坐标硬编码,提升版本适应性;三是所有RPA操作模拟人类点击输入,不调用内部接口。此外,插件化架构解决了功能扩展与核心逻辑耦合的问题,MCP协议支持解决了与其他AI工具集成的标准化问题。但需注意,视觉识别方案无法保证100%准确率,且数据库读取行为仍可能被杀毒软件视为异常。

3. 适用场景

本项目适用于以下场景:个人技术学习与研究,如探索RPA技术原理、测试视觉识别模型;构建私人助理机器人,实现自动回复、消息提醒、文件整理等个人生产力工具;集成LLM服务,将微信作为对话界面接入AI能力;自动化流程实验,验证消息处理、群管理等逻辑。⚠️严禁用于企业营销、广告推送、群发消息等商业行为。由于RPA运行时会抢占鼠标键盘,建议在专用机器或虚拟机上部署。对于需要高准确率、高并发或企业级稳定性的场景,本项目不适用。

4. 安装方式

安装前提:Windows系统、Python 3.12版本。步骤1:通过pip从PyPI安装核心库:pip install omni-bot-sdk。步骤2:获取微信数据库解密密钥(dbkey)。本项目不提供密钥提取工具,需自行从GitHub获取DbkeyHookCMD.exe或DbkeyHookUI.exe运行获取,将密钥填入配置文件对应字段。步骤3:部署MQTT消息代理服务。MCP工具调用和任务回调依赖MQTT,Windows可使用nanomq等工具启动本地服务,默认端口1883。步骤4:创建配置文件,参考config.example.yaml生成config.yaml,设置微信版本、数据库路径、密钥、MQTT地址、插件列表等参数。注意:仓库中未明确给出数据库密钥工具的安装来源链接,需用户自行在GitHub搜索获取;MQTT服务的具体配置参数在文档中详细枚举。

5. 使用方式

基础使用:参考examples/simple-bot/bot.py,导入Bot类并指定配置文件路径,调用start()方法启动机器人。运行时请勿操作鼠标键盘,以免干扰RPA执行。消息处理:框架自动监听微信数据库,发现新消息后经解析器转换为统一消息对象,依次通过插件链处理。插件可决定是否响应并生成RPA动作。功能扩展:通过插件系统添加自定义逻辑,插件需实现指定接口并注册entry-points;或使用MCP协议,外部工具可调用RPA能力发送消息、管理群组。高级操作:RPA模块支持发送文本、图片、文件,可扩展至朋友圈发布、小程序打开等。所有视觉操作依赖YOLO模型与OCR定位,需确保微信窗口处于前台且不被遮挡。异常处理:框架具备自恢复机制,如微信异常会尝试自动回复,登录失败可推送钉钉二维码。

6. 补充说明与实现特点

技术实现上,项目采用分层架构:数据源层读取微信数据库;核心层包含轮询器、消息队列、插件管理器;执行层通过视觉识别模拟操作。消息流转路径为:数据库 → 轮询器 → 消息队列 → 消费者/解析器 → 插件链 → RPA动作队列 → 视觉执行器 → 微信界面。关键特点:1) 零侵入设计,不Hook微信进程,降低检测概率;2) 插件化架构,基于setuptools entry-points动态加载;3) 支持MCP协议,标准化工具调用;4) 视觉定位使用定制YOLO模型,适应不同版本UI;5) 配置系统详尽,覆盖RPA参数、外部服务、存储等。已知局限性:视觉识别非100%准确;同名联系人可能导致消息发送错误;RPA运行期间独占输入设备;窗口焦点可能错乱;初始化耗时较长;数据库只读打开可能被杀毒软件警告。隐私方面,项目不联网、不收集数据、不写微信数据库,所有信息保留本地。

思维导图

omni-bot-sdk
消息监听
数据库轮询
消息队列
消息解析器
核心处理
插件管理器
插件链处理
RPA动作队列
RPA执行
动作处理器
视觉定位(YOLO)
OCR识别
窗口管理
输入模拟
插件系统
entry-points加载
内置插件
自定义插件
视觉识别
YOLO模型
控件检测
坐标计算
外部集成
MQTT客户端
Dify客户端
MinIO存储
MCP协议

常见问题

使用 omni-bot-sdk 有哪些风险?

存在微信账号被封禁、功能受限等风险,项目及作者概不负责。严禁用于营销、发广告等商业行为,仅限个人学习与技术交流。运行时需避免操作鼠标键盘,建议在单独机器部署。

如何获取数据库密钥(dbkey)?

本项目不提供密钥提取工具,需自行通过 GitHub 搜索获取 DbkeyHookCMD.exe 或 DbkeyHookUI.exe 运行提取,将密钥填入配置文件。仓库中未明确给出工具的具体来源链接。

支持哪些微信版本?是否会被检测?

理论支持最新版本,当前明确支持微信 4.0.6.33。采用视觉识别和数据库只读监听,降低被检测概率,但无法保证 100% 安全,数据库读取行为可能被杀毒软件视为异常。

如何扩展机器人的功能?

可通过插件系统动态加载自定义插件,插件需实现指定接口并注册 entry-points;或使用 MCP 协议让外部工具调用 RPA 能力进行消息发送和群管理。

运行时为什么不能操作鼠标键盘?

RPA 执行会模拟人类操作并争夺输入控制权,运行时操作鼠标键盘会导致流程中断或错误。且窗口焦点可能错乱,建议在专用环境部署并保持微信窗口前台。