🧪 Skills

wx

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

v1.0.0
❤️ 0
⬇️ 90
👁 1
Share

Description


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

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)。

Reviews (0)

Sign in to write a review.

No reviews yet. Be the first to review!

Comments (0)

Sign in to join the discussion.

No comments yet. Be the first to share your thoughts!

Compatible Platforms

Pricing

Free

Related Configs