WeChat Mac RPA

4个月前发布 174 00

WeChat Mac RPA 是一个专为 macOS 设计的微信自动化解决方案。它摒弃了传统的协议逆向、Hook 注入或数据库读取方式,转而采用多模态视觉感知与大语言模型(LLM)Agent 相结合的技术路径。

所在地:
中国
收录时间:
2026-07-09
WeChat Mac RPAWeChat Mac RPA

WeChat Mac RPA 是一个专为 macOS 设计的微信自动化解决方案。它摒弃了传统的协议逆向、Hook 注入或数据库读取方式,转而采用多模态视觉感知与大语言模型(LLM)Agent 相结合的技术路径。通过将微信视为一个纯黑盒 GUI 应用,该框架利用计算机视觉“看”懂界面,利用 LLM 理解对话语境,并通过系统级自动化执行操作,从而实现像人一样自动回复消息。

这种设计使得工具具有极强的鲁棒性:微信 UI 的更新仅被视为视觉输入的变化,无需跟随协议变动进行频繁维护。

核心架构:五层认知闭环

该系统由五个子系统构成完整的认知闭环,每一次循环均被结构化日志记录,形成可追溯的生产质量资产。

1. 感知层 (Perception):从像素到结构化数据

负责忠实还原界面上的文字、布局和状态,不进行语义理解,只负责提取。

  • SmartPipeline (主力):采用“本地预判 + 多模态 API 兜底”策略。先通过像素 Diff 判断截图是否有实质变化,无变化时零 API 调用;有变化时调用多模态大模型提取消息内容。
  • VisionPipeline (备用):纯本地 OCR 管道,在多模态 API 不可用时降级运行。
  • WeFlowPipeline (初始化):启动时从微信数据库导出全量历史聊天记录,注入 GlobalStore,让 Bot 上线即具备背景知识。

2. 推理层 (Reasoning):决策大脑

决定“说什么”和“用什么工具”,采用二级路由机制:

  • 轻量化 Agent (日常路径):运行完整的 ReAct 循环(分析意图 → 调用工具 → 观察结果 → 重新推理),支持 search_memory、web_search 等工具及 Skills 组合。
  • Hermes 路径 (复杂任务):匹配到复杂 Skill 且 Hermes 模型可用时,切换长上下文模型进行单轮深度推理,不启用 ReAct 工具循环。
  • 消息去重:利用 LCS (最长公共子序列) 算法进行跨 tick 消息对齐,基于哈希、文字相似度及图片 Jaccard 相似度,确保只处理真正的新消息。

3. 记忆系统 (Memory):三层上下文组装

Prompt 由三层记忆动态组装,而非单纯依赖长期 Wiki:

  • 工作记忆 (Working Memory):最近 N 条对话原文,解决即时上下文、指代和省略问题。
  • 会话记忆 (Session Memory):以“人物卡”形式呈现,包含对方画像、社会关系、用户偏好及当前会话状态。
  • 长期记忆 (Long-term Memory):
    • LLM Wiki:从历史对话中提炼的结构化事实。
    • BGE 语义索引:基于 BAAI/bge-small-zh-v1.5 模型的向量检索,支持运行时增量更新。所有数据本地存储,不上传云端。

4. 行动层 (Action):GUI 操作执行

将推理决策翻译为对微信界面的实际操作,基于 UIInteractor 抽象层实现:

  • 消息发送:通过 AppleScript 写入剪贴板并粘贴,发送前进行回读验证。
  • 文件/图片发送:复用剪贴板通道,支持白名单文件发送。
  • 聊天切换:基于坐标点击左侧列表,内置全局点击冷却以防布局异常。
  • 安全机制:包含 frontmost 窗口验证、异常熔断及剪贴板清理。

5. 数据飞轮 (Data Flywheel):自动迭代优化

借鉴强化学习思想,构建“人工标注校准 Judge → Judge 自动评估 Bot”的闭环:

  • 回路一 (校准):少量人工标注用于训练和校准 LLM as Judge (Reward Model),确保其评分标准符合人类偏好。
  • 回路二 (迭代):可信的 Judge 自动对生产环境的 tick_log 打分,驱动 AB Test 和根因分析,实现 Prompt 和策略的自动化优化,大幅降低人工维护成本。

快速开始

环境要求: macOS 12+, Python 3.10+, 微信 Mac 版

安装与配置:

pip install -r requirements.txt
cp .env.example .env
# 填入 API Key

权限设置:
需在“系统设置 → 隐私与安全”中授予终端/Bot 应用以下权限:

  • 屏幕录制:用于截取微信窗口画面。
  • 辅助功能:用于 AppleScript 控制窗口。
  • 自动化:用于 System Events 进程间通信。

启动服务:

python3 run_bot.py

常驻管理 (LaunchAgent):

# 加载并启用
launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/com.wechat-mac-rpa.admin.plist
launchctl enable gui/$(id -u)/com.wechat-mac-rpa.admin
launchctl kickstart gui/$(id -u)/com.wechat-mac-rpa.admin

相关导航