← 返回
未分类

wechat-send-ui

无需打开微信,通过自然语言指令将让workbuddy直接给任意联系人发文字、图片、文件、视频。
老村长
未分类 community v1.1.9 1 版本 80000 Key: 无需
★ 0
Stars
📥 4
下载
💾 0
安装
1
版本
#latest

概述

微信_发消息到指定人

通过 Python Win32 UI 自动化,在已登录的微信桌面客户端中向指定联系人发送文字、图片、视频、任意文件

触发条件

满足以下任意一条即触发本技能:

  • 用户消息包含 "发微信"
  • 用户消息包含 "给微信的" / "通过微信" / "微信发消息" / "微信发文件" 等自然语言

> ⚠️ 收到指令后直接执行,无需再次确认

支持的发送类型

类型说明参数
------------------
文字纯文本消息直接传消息内容
图片jpg/png/bmp/gif/webp--image <路径>
文件zip/xlsx/docx/pdf 等任意文件--file <路径>
视频mp4/mov/avi 等视频文件--file <路径>(与文件相同)

调用命令

Python 解释器:python(系统 Python,所有依赖已就绪)

> 以下命令中 wechat_send.py 位于本技能目录下,WorkBuddy 会自动解析路径。

发文字:

python "<技能目录>/wechat_send.py" "<联系人>" "<消息内容>"

发图片:

python "<技能目录>/wechat_send.py" "<联系人>" "" --image "<图片路径>"

发图片+说明文字:

python "<技能目录>/wechat_send.py" "<联系人>" "<说明文字>" --image "<图片路径>"

发文件(zip/xlsx/docx/pdf等):

python "<技能目录>/wechat_send.py" "<联系人>" "" --file "<文件路径>"

发视频(mp4/mov等):

python "<技能目录>/wechat_send.py" "<联系人>" "" --file "<视频路径>"

消息含特殊字符(从文件读取):

python "<技能目录>/wechat_send.py" "<联系人>" "" --msgfile <临时文件路径>

调试模式(截图保存到桌面):

python "<技能目录>/wechat_send.py" "<联系人>" "<消息>" --screenshot

执行流程

  1. 检测微信登录状态:枚举窗口查找标题"微信",未找到直接报错退出
  2. 激活微信窗口Ctrl+Alt+W 热键唤醒;若窗口在托盘(坐标-32000),自动 SW_RESTORE 强制还原
  3. 最大化:坐标恢复后 ShowWindow(SW_MAXIMIZE),等待渲染稳定
  4. Ctrl+F 搜索联系人:剪贴板粘贴联系人名,回车打开聊天
  5. 点击聊天输入框:坐标定位(右侧聊天区,距底边 95px)
  6. 粘贴内容
    • 文字 → pyperclip.copy() + Ctrl+V
    • 图片 → PowerShell SetImage + Ctrl+V
    • 文件/视频 → PowerShell SetFileDropList + Ctrl+V
  7. 点击发送按钮:坐标(距右边 60px,距底边 30px)
  8. 收尾:清空剪贴板,Ctrl+W 关闭聊天,最小化微信

返回结果说明

  • [OK] 完成 → 执行成功,内容已发出
  • [失败] 未找到微信窗口 → 微信未启动或未登录
  • [FAIL] 失败 → 其他执行错误

技术实现

  • 激活方案Ctrl+Alt+W 热键(微信自注册) + 失败时 SW_RESTORE 兜底,均等待坐标恢复后再继续
  • DPI 自适应:对比物理分辨率与 pyautogui 逻辑分辨率,自动计算缩放比
  • 最大化阴影修正:最大化时改用工作区坐标,避免 Qt 窗口阴影偏移
  • 图片粘贴:PowerShell System.Drawing.Image + Clipboard.SetImage,支持 jpg/png/bmp/gif
  • 文件/视频粘贴:PowerShell StringCollection + Clipboard.SetFileDropList,支持任意文件类型
  • 剪贴板安全:发送完成后自动清空剪贴板,避免敏感内容残留
  • HWND 缓存:缓存在 .wechat_hwnd_cache,重启微信后自动刷新
  • 微信 UI 布局:功能栏(56px) + 会话列表(230px) + 聊天区,输入框距底边约 95px,发送按钮距右边 60px、距底边 30px

环境要求

  • Windows 操作系统
  • 微信 PC 版已安装并保持登录状态
  • Python 3.x(系统 python 命令可用)
  • 依赖包:pyautoguipywin32pyperclipPillow(opencv-python/numpy 可选,仅用于截图调试)

安装依赖:

pip install pyautogui pywin32 pyperclip Pillow

错误排查

现象原因解决
------------------
未找到微信窗口微信未运行或未登录启动微信并登录后重试
坐标循环卡在 -32000热键被占用 / 微信版本不支持已自动 SW_RESTORE 兜底
消息发到了错误的人搜索匹配到其他联系人或群聊使用完整姓名,加 --screenshot 调试
文件发送后未出现预览微信版本限制或文件过大确认文件大小,查看微信是否弹出确认框
视频发送后提示格式不支持微信不支持该视频编码转码为 H.264 mp4 后重试

版本历史

共 1 个版本

  • v1.1.9 脱敏、修正相对路径 当前
    2026-06-11 11:54 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

developer-tools

Github

steipete
使用 `gh` CLI 与 GitHub 交互,通过 `gh issue`、`gh pr`、`gh run` 和 `gh api` 管理议题、PR、CI 运行及高级查询。
★ 666 📥 323,769
security-compliance

Skill Vetter

spclaudehome
AI智能体技能安全预审工具。安装ClawdHub、GitHub等来源技能前,检查风险信号、权限范围及可疑模式。
★ 1,210 📥 266,127
ai-intelligence

Self-Improving + Proactive Agent

ivangdavila
自我反思+自我批评+自我学习+自组织记忆。智能体评估自身工作、发现错误并持续改进。
★ 1,349 📥 317,677