微信 Mac 视觉自动化助手
用视觉识别和 Agent 推理处理微信 Mac 消息,并通过界面自动回复。
- Star 数
- ★ 125
- 最近更新
- 今天
- License
- MIT
- 主语言
- Python
- FA 评分
- 49/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 平台专用
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 中 · 需要几步配置
- 开始前需要
- 典型场景
- 希望在自己的 Mac 上自动处理未读聊天并按本地人设回复的个人用户。
- 不适合
- 需要跨平台运行的用户
- 要求推理期间聊天内容和截图绝不离开本机的团队
这个 Agent 能做什么,适合哪些场景?
这是一个面向 macOS 的微信自动化框架,默认把微信当作黑盒 GUI,通过截图、视觉识别和系统级自动化处理消息。启动入口 python3 run_bot.py 会运行周期性主循环:感知窗口内容、跨轮去重、由 Agent 选择回复或工具,再通过 UIInteractor 操作界面。SmartPipeline 使用像素差异判断是否需要调用多模态 API,VisionPipeline 可在该 API 不可用时提供本地 OCR 回退;可选 WeFlow 模式从用户授权的本地数据库副本导入历史记录以初始化记忆。记忆由工作记忆、会话记忆、LLM Wiki 和 BGE 向量检索组成,运行数据与索引保存在本地。项目还提供 FastAPI 管理后台、结构化日志和 benchmark 工具;部署需要 macOS 权限,且使用外部模型时会将相关 Prompt 或截图发送给所配置的服务商。
安装依赖并配置 .env 中的 API Key 和 data/persona.md 人设后,运行 python3 run_bot.py。Bot 使用 screencapture 获取微信窗口画面;SmartPipeline 对截图做像素 Diff,并在画面变化时调用多模态 API 提取消息与布局,VisionPipeline 则以本地 OCR 作为备用。GlobalStore 使用 LCS 等匹配方式跨 tick 去重,再将新消息交给轻量化 Agent 的 ReAct 循环;Agent 可调用 search_memory、web_search、browse_url 等工具,也可按配置路由到 Hermes 路径。行动层通过 AppleScript、cliclick 和 UIInteractor 切换聊天、发送文本或文件,并处理登录恢复。Bot 可把新消息加入记忆检索;可选 WeFlow 模式可从用户授权的本地数据库副本导出历史消息。产物包括微信界面上的回复、SQLite 聊天记录、记忆与向量索引、结构化运行日志和 benchmark 报告。
- 希望在自己的 Mac 上自动处理未读聊天并按本地人设回复的个人用户。
- 希望 Agent 检索历史聊天和人物 Wiki 后再回复的微信使用者。
- 需要把可分享文件白名单中的文件发送到微信聊天的用户。
- 想用本地 OCR 回退处理视觉 API 暂不可用情况的开发者。
- 需要检查 tick 日志、人工标注案例或运行 benchmark 的项目维护者。
如何安装或部署这个 Agent?
需要 macOS 12+、Python 3.10+ 和微信 Mac 版,并为运行 Bot 的应用授予屏幕录制、辅助功能及首次运行时请求的自动化权限。仓库文档给出的安装与配置步骤如下;API Key 应填入 .env,人设文件应保存在 data/persona.md。
pip install -r requirements.txt
cp .env.example .env
cp prompts/persona.md.example data/persona.mdREADME 未指定 .env 中必须使用的具体服务商或变量名;请按项目配置模板填写 API Key。使用外部 LLM 或多模态 API 需要网络连接。
如何使用这个 Agent?
前台启动 Bot:
python3 run_bot.py如需常驻管理后台,README 提供 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开发者可前台运行管理后台:
python3 scripts/admin.py初始化长期历史索引的命令为:
python3 scripts/update_history_index.py这个 Agent 有哪些优点和局限?
- 默认 SmartPipeline 模式通过截图和公开 macOS API 操作界面,不依赖协议逆向、数据库读取或代码注入。
- SmartPipeline 先做像素 Diff,无实质变化时跳过多模态 API 调用;VisionPipeline 提供本地 OCR 回退。
- 包含工作、会话和长期记忆,
search_memory可结合 Wiki 摘要与历史聊天原文检索。 - 结构化 tick 日志、benchmark、人工 Review 与 LLM Judge 组成质量评估和迭代工具链。
- 仅支持 README 所述的 macOS 12+ 环境,并依赖微信 Mac 版及屏幕录制、辅助功能等系统授权。
- 使用外部 LLM 或多模态 API 时,相关 Prompt 或截图会发送给配置的服务商;费用取决于服务商,README 未列价格。
- 完整启用需要配置 API Key、运行时数据和人设,并可能需要配置 WeFlow 历史导入;步骤多于单命令安装。
- README 未列出支持的 LLM 服务商清单,也未给出在其他平台运行的路径。
这个 Agent 与同类方案有什么区别?
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| 微信 Mac 视觉自动化助手 当前 | 49 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 125 | 今天 | Python | — |
| Nuphus 桌面自动化 MCP | 72 · 存在缺口 | MCP 服务器免费 + 模型费 | ★ 328 | 3 天前 | Rust | Claude.ai · OpenAI API · Claude API |
| Clawd Cursor | 74 · 存在缺口 | MCP 服务器免费 + 模型费 | ★ 406 | 今天 | TypeScript | Codex · Claude Code |
| Agent Desktop | 85 · 表现良好 | 命令行工具免费 | ★ 1.8k | 今天 | Rust | — |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
README 明确说明辅助功能、屏幕录制、自动化权限用途,并披露本地聊天数据、WeFlow 数据库副本及发送给所配置 LLM 服务商的 Prompt/截图数据流,也建议不提交密钥和聊天数据;这些说明支持部分透明度与敏感数据处理得分。扣分原因是 Bot 会自动切换聊天并发送消息、文件,未见逐条发送前确认机制;所需系统权限和外部影响较大,恢复/撤销措施仅见数据库备份脚本,未覆盖误发消息;依赖清单未给出审计或漏洞缓解证据;发布者身份及代码归属未验证。
README、快速指南和故障手册提供分层说明、日志诊断流程及具体错误情形,测试片段也展示部分动作失败处理。扣分原因是指南中入口、目录和历史数据路径描述存在差异,例如快速指南提到已删除的旧版本与仓库 README 的当前结构并列,且测试目录描述不完全一致;依赖版本多数采用范围或固定旧版本,未说明可用性保障。CI 配置和测试文件提供一定支持,但不能据此声称本次执行通过。
文档面向 macOS 微信自动化场景,写明 macOS/Python 版本、OCR/SmartPipeline 与可选 WeFlow 路径、服务商数据传输条件及故障排查;模块与可选能力边界有较多描述。扣分原因是自动回复触发条件和每条消息是否发送的用户控制边界没有在提供材料中完整说明,适用范围主要限于特定平台、应用和中文聊天语境。
README 有目录、架构图、项目结构、术语表、文档索引和快速开始,MIT 正文完整;安装、配置、FAQ、排错与已知约束均有一定覆盖。扣分原因是部分快速指南仍引用与当前结构不一致的旧路径或测试位置;材料中没有清晰的版本发布策略、变更日志或明确的维护责任人,发布者也未验证。
项目描述了从截图识别、消息处理到自动回复的端到端用途,并提供可配置人设、记忆检索、日志与后台等实用能力。扣分原因是自动化回复的边际收益和运行成本没有量化,Benchmark 数字虽列出但本次所给材料没有对应数据集、评估协议或可复核的结果文件支持;外部模型调用及人工维护也带来持续成本。
架构、操作权限、数据流及诊断步骤有较具体的文件内说明,CI 工作流和动作测试片段可交叉支撑部分工程主张。扣分原因是许多性能、质量和生产级声明只有 README 自述,未附 benchmark 原始结果或独立佐证;声明、设计描述与实际已验证行为的边界虽有少量说明,但整体仍不充分。
- 源码中未见:来源归属可核验从官方仓库或包源安装,核对发布者和仓库地址,避免同名仿冒包。
- Bot 可自动切换微信聊天并发送回复或白名单文件;部署前应检查回复策略、文件白名单和宿主权限,并注意误发消息没有可见的撤回保障。
- 使用外部多模态或 LLM 服务时,聊天 Prompt 或截图会发送给配置的服务商;启用 WeFlow 还会导入本地历史聊天记录,需评估数据授权与保存范围。
- README 中的 Benchmark 数字没有随本次材料提供原始数据或评测协议,不能视为独立复核结果。