微信发送器:基于视觉的自动化消息发送 - Openclaw Skills

作者:互联网

2026-03-26

AI教程

什么是 微信发送器?

微信发送器技能是为 Openclaw Skills 设计的高级自动化模块。它通过模拟人类视觉感知和键盘操作,使 AI 代理能够与微信桌面应用程序进行交互。通过集成用于窗口管理的 peekaboo 工具和用于实时屏幕截取的 Agent-Eye,该技能允许代理在微信界面中导航、定位特定联系人并高可靠性地发送消息。它专门用于处理传统 API 访问可能受限或不可用的基于 UI 的交互。

该技能是 Openclaw Skills 更广泛生态系统的一部分,在 LLM 推理和桌面 GUI 执行之间搭建了桥梁。它使用基于坐标的系统和视觉验证循环,确保在活动工作区内准确执行聚焦窗口、粘贴文本和触发热键等操作。

下载入口:https://github.com/openclaw/skills/tree/main/skills/noir-hedgehog/wechat-sender

安装与下载

1. ClawHub CLI

从源直接安装技能的最快方式。

npx clawhub@latest install wechat-sender

2. 手动安装

将技能文件夹复制到以下位置之一

全局模式 ~/.openclaw/skills/ 工作区 /skills/

优先级:工作区 > 本地 > 内置

3. 提示词安装

将此提示词复制到 OpenClaw 即可自动安装。

请帮我使用 Clawhub 安装 wechat-sender。如果尚未安装 Clawhub,请先安装(npm i -g clawhub)。

微信发送器 应用场景

  • 自动化向特定微信群或联系人发送每日状态更新或通知。
  • 构建需要在微信上直接发送消息的 AI 驱动型客户支持工作流。
  • 根据外部触发器或数据变化安排消息发送。
  • 通过视觉确认自动化联系人检索和消息验证。
微信发送器 工作原理
  1. 代理使用 peekaboo 聚焦微信应用程序窗口,确保其为活动的当前进程。
  2. 它将应用程序窗口大小和位置标准化为 1200x900 区域,以保持 Openclaw Skills 视觉工具的坐标一致性。
  3. 代理通过触发搜索热键 (Cmd+F) 或使用方向键导航联系人列表来搜索目标联系人。
  4. 通过 Agent-Eye 服务器捕获实时快照,并由内部图像工具进行分析,以确认选择了正确的联系人。
  5. 使用剪贴板粘贴操作后跟发送热键命令将消息注入界面。
  6. 执行最终的视觉验证步骤以检查消息气泡的出现,确保成功送达。

微信发送器 配置指南

要在您的 Openclaw Skills 环境中开始使用此技能,请按照以下步骤操作:

  1. 确保微信已登录并在您的 macOS 系统上运行。
  2. 安装并启动 Agent-Eye 服务器以提供屏幕截图功能:
eye-server --port 8080 --region 0,0,1200,900
  1. 初始化 Python 代理以处理屏幕处理循环:
cd crates/eye
python -c "from agent import Agent; agent = Agent(server_url='http://localhost:8080', interval=1.5, grid_size=100, show_mouse=True); agent.run()"
  1. 通过获取测试快照来验证设置:
curl http://localhost:8080/snapshot.png -o test.png

微信发送器 数据架构与分类体系

微信发送器技能按如下方式组织其交互数据和视觉元数据:

数据类型 描述 格式
快照 微信 UI 的实时 PNG 捕获 图像 (PNG)
网格元数据 用于元素定位的 100px 坐标网格 坐标映射
应用边界 为 peekaboo 定义的窗口尺寸 x, y, width, height
联系人信息 接收者的显示名称或别名 字符串
消息负载 要传输的实际文本内容 字符串
热键序列 特定的组合键 (例如 cmd+return) 字符串数组
name: wechat-sender
version: 1.0.0
description: 微信消息自动发送。使用 peekaboo 工具操作窗口,结合 Agent-Eye 获取实时屏幕截图进行视觉理解。触发条件:用户提到"发微信"、"给xxx发消息"、"微信自动发送"等。

WeChat Sender

准备工作

1. 依赖项目

Agent-Eye - 屏幕捕获服务

  • 仓库:https://github.com/noir-hedgehog/Agent-eye
  • 功能:实时屏幕截图、100px 网格叠加、鼠标坐标显示
  • 启动方式:
    # 服务端
    eye-server --port 8080 --region 0,0,1200,900
    
    # Python Agent(需要配置 image key)
    cd crates/eye
    python -c "
    from agent import Agent
    agent = Agent(server_url='http://localhost:8080', interval=1.5, grid_size=100, show_mouse=True, region='0,0,1200,900')
    agent.run()
    "
    

2. 启动检查清单

  • 确认微信已登录且保持后台运行
  • 启动 Agent-Eye 服务端:eye-server --port 8080
  • 启动 Python Agent(无需额外配置)
  • 验证截图功能:curl http://localhost:8080/snapshot.png -o test.png
  • 验证图像理解:使用 OpenClaw 内置的 image tool 分析截图

3. 图像理解说明

图像理解功能由 OpenClaw 内置的 image 工具提供,无需额外配置 Agent-Eye。Agent-Eye 负责捕获屏幕截图,image 工具负责理解图像内容。

微信消息自动发送技能。可以灵活组合以下能力,但执行前需要先思考流程(checklist)。

原子能力

能力 命令 说明
聚焦窗口 peekaboo window focus --app "微信" 聚焦微信窗口(某些app有防录屏限制,需要先聚焦)
调整窗口 peekaboo window set-bounds --app "微信" --x 0 --y 0 --width 1200 --height 900 调整窗口位置和大小,避免防录屏限制
截图 The-Eye: curl http://localhost:8080/snapshot.png/usr/sbin/screencapture -R0,0,1200,900 建议用 The-Eye 获取实时截图
图像理解 image tool 分析截图内容,查找联系人位置
切换联系人 peekaboo hotkey --keys "shift,down" --app "微信" 模拟 shift+↓ 切换选中联系人
粘贴文字 peekaboo paste --text "{message}" --app "微信" 复制文字到剪贴板并粘贴
发送消息 peekaboo hotkey --keys "cmd,return" --app "微信" 模拟 cmd+return 发送消息
搜索联系人 peekaboo hotkey --keys "cmd,f" --app "微信" 推荐! 激活搜索框,比滑动列表快

视觉上下文说明

使用 The-Eye 截图时:

  • 100px 网格:帮助定位界面元素的精确坐标。每个格子是 100x100 像素
  • 鼠标准星坐标 (x, y):当前鼠标位置,十字准星+坐标标签
  • 截图分辨率:默认捕获整个屏幕,可在 The-Eye 启动时用 --region 参数指定区域

图像理解时的参考信息:

  • 网格坐标可以帮助定位按钮、联系人等元素的具体位置
  • 鼠标坐标指示当前关注的区域
  • 微信界面特征:左侧联系人列表、右侧聊天窗口、底部输入框

微信 UI 探索发现

左侧边栏图标(从到到下)

  1. 个人头像
  2. 聊天(消息)- 绿色选中
  3. 通讯录 - 小人头图标
  4. 收藏 - 立方体图标
  5. 朋友圈 - 圆环快门图标
  6. 视频号 - 漏斗图标
  7. 搜一搜/看一看 - 地球仪图标
  8. 小程序 - 层级点图标
  9. 手机连接 - 手机图标
  10. 更多(设置)- 三横线图标

推荐联系人查找方式

方式1:搜索(推荐)

  1. peekaboo hotkey --keys "cmd,f" --app "微信" 激活搜索框
  2. peekaboo paste --text "联系人名字" --app "微信" 输入搜索词
  3. 点击搜索结果进入聊天

方式2:滑动列表

  • 使用 shift+up/down 切换联系人
  • 适合联系人顺序已知的情况

执行流程(Checklist 思考模式)

在执行每个操作前,先思考:

  1. 当前状态是什么?
  2. 下一步需要做什么?
  3. 需要什么工具/能力?
  4. 可能的风险是什么?

推荐流程

1. [ ] 聚焦微信窗口 + 调整大小
     → peekaboo window focus --app "微信"
     → peekaboo window set-bounds --app "微信" --x 0 --y 0 --width 1200 --height 900

2. [ ] 选择找联系人方式
     → 搜索(推荐):Cmd+F → 输入名字 → 点击结果
     → 滑动列表:shift+up/down

3. [ ] 获取截图(优先用 The-Eye)
     → curl http://localhost:8080/snapshot.png -o /tmp/wechat.png
     
4. [ ] 分析截图(视觉理解)
     → 使用 image tool,询问:
       - 当前选中的联系人是谁?
       - 目标联系人在列表第几个?
       - 界面是否有异常?

5. [ ] 发送消息
     → peekaboo paste --text "消息内容" --app "微信"
     → peekaboo hotkey --keys "cmd,return" --app "微信"

6. [ ] 确认发送成功
     → 截图 + image tool 确认消息气泡出现

灵活运用原则

  • 搜索是最高效的:用 Cmd+F 搜索,比滑动列表快很多
  • 不必完全按顺序:如果已经知道联系人名字,直接搜索
  • 选择合适的截图方式
    • The-Eye 实时流:适合需要鼠标坐标的场景
    • 直接截图:适合只需要静态界面的场景
  • 遇到问题灵活处理
    • 如果搜索没结果,尝试滑动列表
    • 如果切换失败,可以重新截图确认状态
    • 如果发送失败,尝试重新聚焦窗口

示例

发送"最近怎么样"给"宝宝星":

方式1:搜索(推荐)

  1. 聚焦 + 调整窗口
  2. Cmd+F 激活搜索
  3. paste "宝宝星"
  4. 点击搜索结果
  5. paste 消息 + Cmd+Return
  6. 确认

方式2:滑动列表

  1. 聚焦 + 调整窗口
  2. 截图确认位置
  3. shift+down × 7
  4. paste 消息 + Cmd+Return
  5. 确认

注意事项

  • 某些 app(微信、企业微信等)有防录屏限制,聚焦窗口+调整大小可以绕过
  • 窗口调整到 1200x900 后,截图只需截取该区域
  • The-Eye 服务需要先启动:eye-server --port 8080 + eye agent start
  • 每次按键操作间隔 0.3 秒更稳定
  • 遇到错误可以尝试重新聚焦窗口,不要盲目重试