通过 macOS 桌面 GUI 自动化,在企业微信中找到联系人/群聊并发送消息。
com.tencent.WeWorkMac)python3 scripts/send_message.py "联系人或群名" "消息内容"
python3 scripts/send_message.py "XXX" "今日AI日报\nhttps://example.com" --wait-login
| 参数 | 说明 |
|---|---|
| ------ | ------ |
--wait-login | 需登录时自动轮询等待扫码 |
--timeout N | 登录等待超时秒数(默认 120) |
| Exit Code | 含义 |
|---|---|
| ----------- | ------ |
| 0 | 发送成功 |
| 1 | 发送失败 |
| 2 | 需要登录(仅非 --wait-login) |
激活企微 → 调整窗口 → 登录检测 → 等待弹窗消失 → 消息列表OCR查找 → 点击目标 → 关闭侧面板 → 点击输入框 → 粘贴 → 回车发送 → 验证
# ✅ 正确:用 screencapture -l <window_id> 截取企微窗口
screencapture -x -l 7741 /tmp/capture.png
# ❌ 错误:全屏截图在企微非前置时 OCR 返回 0 结果
screencapture -x /tmp/capture.png
原因:screencapture -x 全屏截图可能截到桌面/其他窗口,OCR 结果为空。窗口截图始终只截企微内容。
# 窗口截图 OCR 返回窗口内坐标
# cliclick 需要屏幕坐标
# 换算公式:
screen_x = window_position_x + ocr_pixel_x / 2
screen_y = window_position_y + ocr_pixel_y / 2
# 获取窗口位置:
peekaboo window list --app "com.tencent.WeWorkMac" --json
# → bounds: {x: 0, y: 33, width: 1400, height: 883}
忘记加偏移 = 点到错误位置,这是最常见的 bug!
只用 peekaboo paste --text --app bundleId,不用 cliclick 打字。
始终使用 com.tencent.WeWorkMac。
| 工具 | 用途 |
|---|---|
| ------ | ------ |
| peekaboo | paste 中文、hotkey、press、window focus/list |
| screencapture -l | 窗口截图(必须用 -l 指定窗口) |
| Swift Vision OCR | 文字识别 + 像素坐标(scripts/ocr_screen.swift) |
| cliclick | 屏幕坐标点击 |
| osascript | 窗口管理、App 激活/窗口调整 |
共 1 个版本