SkillHub

wx-send

v1.0.0

发送微信消息给指定联系人。支持两种模式:(1) 有消息内容:直接发送指定消息;(2) 无消息内容:OCR 截图识别聊天窗口内容并自动回复。当用户需要自动发送微信消息、自动回复微信聊天时触发此技能。

Sourced from ClawHub, Authored by libero1980

Installation

Please help me install the skill `wx-send` from SkillHub official store. npx skills add libero1980/wx-send

WX-Send

发送微信消息给指定联系人。

功能概述

通过 AppleScript 模拟键盘操作,自动完成微信消息发送。

技术栈

  • AppleScript - macOS 自动化脚本语言
  • System Events - macOS 系统事件处理
  • osascript - 命令行执行 AppleScript 工具
  • pyautogui - Python 版本的鼠标键盘控制(可选)

工作原理

通过模拟键盘快捷键控制微信客户端 UI:

步骤 操作 工具/命令
1 激活微信应用 tell application "WeChat"
2 复制联系人到剪贴板 AppleScript set the clipboard to
3 打开搜索框 keystroke "f" using command down
4 粘贴联系人名称 keystroke "v" using command down
5 按回车键 keystroke return
6 按下箭头选择搜索结果 keystroke (ASCII character 31)
7 按上箭头取消选择 keystroke (ASCII character 30)
8 再次回车进入聊天 keystroke return
9 复制消息到剪贴板 AppleScript set the clipboard to
10 粘贴消息 keystroke "v" using command down
11 发送消息 keystroke return

完整脚本 (wx_send.applescript)

on run argv
    set contactName to item 1 of argv
    set messageText to ""

    if (count of argv) > 1 then
        set messageText to item 2 of argv
    end if

    tell application "WeChat"
        activate
        delay 0.5
    end tell

    set the clipboard to contactName

    tell application "System Events"
        tell process "WeChat"
            -- 打开搜索框 (Cmd+F)
            keystroke "f" using command down
            delay 1
            -- 粘贴联系人名称
            keystroke "v" using command down
            delay 2
            -- 回车
            keystroke return
            delay 1
            -- 按一次下箭头
            keystroke (ASCII character 31)
            delay 0.5
            -- 按一次上箭头
            keystroke (ASCII character 30)
            delay 0.5
            -- 再次回车进入聊天
            keystroke return
            delay 2
        end tell
    end tell

    if messageText is not "" then
        set the clipboard to messageText

        tell application "System Events"
            tell process "WeChat"
                delay 1
                -- 粘贴消息
                keystroke "v" using command down
                delay 0.5
                -- 发送
                keystroke return
            end tell
        end tell
        return "Sent: " & messageText
    else
        return "Ready"
    end if
end run

使用方法

发送消息(推荐)

# 方法1:复制 wx_send.applescript.txt 内容手动创建 .applescript 文件
# 然后执行:
osascript scripts/wx_send.applescript "联系人名称" "消息内容"

# 方法2:使用 Python 版本
python3 scripts/wx_send.py "联系人名称" "消息内容"

AppleScript 文件创建方法

  1. 打开文本编辑器(如 TextEdit)
  2. 复制 scripts/wx_send.applescript.txt 的内容
  3. 保存为 wx_send.applescript(无后缀)
  4. 赋予执行权限:chmod +x wx_send.applescript

示例

# 给"怪兽"发送消息"你好"
python3 scripts/wx_send.py "怪兽" "你好"

依赖要求

macOS 权限

首次使用需要授权辅助功能权限: 1. 打开 系统偏好设置安全性与隐私隐私辅助功能 2. 添加 osascript 或终端应用

Python 依赖(可选)

pip3 install pyautogui

注意事项

  • 联系人名称需与微信备注名完全一致
  • 微信必须处于未登录状态或已解锁状态
  • 需要保持屏幕常亮,避免自动锁定
  • 中文消息推荐使用 AppleScript 版本发送

进阶:OCR 自动回复

如需 OCR 截图识别自动回复,可使用 wx_ocr_reply.py(需要配置 OpenAI API)。