- macOS Accessibility API 详解 - WeChat-MCP 项目分析 - macOS 微信自动化代码示例 - Windows/macOS 双平台对比 - 混合架构推荐方案 - 微信版本兼容性说明
05-实现方案
快速落地路径
阶段一:最小可用产品(1-2周)
目标:用现有工具实现核心功能
技术栈:
├── 视觉:GPT-4V / Qwen-VL API
├── 控制:Playwright(CDP)
├── Agent:LangChain / 自研简单调度
└── 微信:UIAutomation(Windows)
实现步骤:
-
环境搭建
pip install playwright playwright install chromium -
视觉理解
# 截图 → GPT-4V理解 → 返回操作指令 response = gpt4v.analyze(image= screenshot, prompt= "描述页面内容") -
操作执行
# Playwright CDP 控制 page.click("button:has-text('发送')") page.fill("textarea", "消息内容") -
微信控制
# UIA 读取微信 import uiautomation as auto wechat = auto.WindowControl(Name="微信")
阶段二:核心能力优化(1-2月)
目标:提升稳定性,降低成本
2.1 视觉模型优化
自研VL模型(轻量级)
├── 数据采集:运营场景UI截图
├── 模型选型:LLaVA / Qwen-VL 微调
└── 部署:本地GPU / 云服务
2.2 控制层增强
CDP + 视觉双重校验
├── CDP获取DOM/坐标
├── 视觉验证元素位置
└── 双重确认后执行
2.3 Agent调度优化
引入状态机
├── 任务规划
├── 步骤执行
├── 结果校验
└── 异常恢复
阶段三:产品化(长期)
目标:稳定的商业产品
- 用户界面开发
- 知识库功能完善
- 多租户支持
- 私有化部署方案
技术方案详解
方案A:快速验证(基于Playwright + GPT-4V)
┌─────────────────────────────────────────┐
│ 用户指令 │
│ "帮我发微信给张三" │
└─────────────────┬───────────────────────┘
↓
┌─────────────────────────────────────────┐
│ GPT-4V 视觉理解 │
│ 截图 → 分析页面 → 生成操作步骤 │
└─────────────────┬───────────────────────┘
↓
┌─────────────────────────────────────────┐
│ Playwright 执行 │
│ page.click() / page.fill() / type() │
└─────────────────┬───────────────────────┘
↓
┌─────────────────────────────────────────┐
│ 结果验证 │
│ 截图 → GPT-4V验证 → 完成 │
└─────────────────────────────────────────┘
优点:快速出原型 缺点:依赖OpenAI API,有封号风险
方案B:稳定版(UIA + 自研VL)
┌─────────────────────────────────────────┐
│ 用户指令 │
└─────────────────┬───────────────────────┘
↓
┌─────────────────────────────────────────┐
│ 自研视觉模型(本地) │
│ 截图 → UI元素检测 → 结构化输出 │
└─────────────────┬───────────────────────┘
↓
┌─────────────────────────────────────────┐
│ UIAutomation 执行 │
│ 读文本 / 点击按钮 / 填写输入框 │
└─────────────────┬───────────────────────┘
↓
┌─────────────────────────────────────────┐
│ 结果验证 │
│ UIA读结果 → 确认完成 │
└─────────────────────────────────────────┘
优点:稳定、合规、无API依赖 缺点:开发周期长
方案C:混合方案(推荐)
┌─────────────────────────────────────────┐
│ 用户指令 │
└─────────────────┬───────────────────────┘
↓
┌─────────┴─────────┐
↓ ↓
┌───────────────┐ ┌───────────────┐
│ UIA读取UI树 │ │ 视觉模型辅助 │
│ (快速结构化) │ + │ (复杂内容理解) │
└───────────────┘ └───────────────┘
↓ ↓
└─────────┬─────────┘
↓
┌─────────────────────────────────────────┐
│ AI 决策 + 执行计划 │
└─────────────────┬───────────────────────┘
↓
┌─────────────────────────────────────────┐
│ UIA / CDP 执行 │
└─────────────────────────────────────────┘
优点:稳定 + 智能兼顾 缺点:架构复杂度高
关键技术选型建议
| 模块 | 推荐方案 | 理由 |
|---|---|---|
| 视觉模型 | Qwen-VL(开源) | 中文好,成本低 |
| 控制层 | Playwright + CDP | 成熟稳定 |
| Agent框架 | LangChain / 自研 | 简单场景够用 |
| 微信控制(Windows) | UIAutomation | Windows官方,合规 |
| 微信控制(macOS) | Accessibility API + WeChat-MCP | macOS官方方案 |
| 知识库 | Milvus / Chroma | 开源成熟 |
| 部署 | Docker | 便于分发 |
微信自动化(跨平台)
微信自动化支持 Windows 和 macOS 两个平台:
Windows 平台
详见 03-核心技术
- UIAutomation:Windows 官方 API,稳定合规
- 读取消息、点击按钮、输入文字
macOS 平台
详见 微信macOS自动化
- Accessibility API:macOS 官方 API
- WeChat-MCP:Python 项目,支持 MCP 协议
- macos-wechat-cli:Swift 项目,CLI 方式
macOS 推荐架构
┌─────────────────────────────────────────┐
│ 消息接收:chatlog-bot │
│ (数据库 Webhook) │
└─────────────────┬───────────────────────┘
↓
│ AI 处理消息 │
└─────────────────┬───────────────────────┘
↓
┌─────────────────────────────────────────┐
│ 消息发送:WeChat-MCP / Accessibility │
│ (macOS 原生操作) │
└─────────────────────────────────────────┘
⚠️ 微信版本注意
| 版本 | 兼容性 | 说明 |
|---|---|---|
| 3.8.x | ✅ 最好 | 推荐锁定此版本 |
| 4.0+ | ⚠️ 受限 | UI 结构变化大,部分操作失效 |
避坑指南
-
不要一开始就自研VL模型
- 成本高周期长
- 先用API验证功能
-
不要用Hook方式控制微信
- 有封号风险
- 版本更新容易失效
-
不要做通用平台
- 专注一个场景
- 先跑通再扩展
-
重视异常处理
- 页面结构可能变化
- 需要重试/回退机制