360 Secure SkillHub
360 安全技能中心

Wechat Auto

该 Skill 通过 Windows 可执行文件 dc.exe 实现桌面自动化:唤醒微信窗口、搜索并点击联系人、发送文本消息,以及逐页滚动把聊天记录保存为 PNG 序列。提供 .sh 与 .bat 包装脚本以适配 WSL 与原生 Windows,处理编码与路径差异。联系人名称需与微信显示名完全一致。

2020必胜
2020必胜
热度 6.24
最近更新 2026-04-02 21:47:46
分类:自动化依赖:代码执行 / 读写文件应用场景:自动化脚本 / 工作流

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add wechat-auto
Metadata
name
wechat-auto
description
微信自动化工具。支持:微信/企微发消息、聊天记录截图等。适用于 WSL 和原生 Windows 环境。触发词:"发微信"、"微信消息"、"截屏"、"快捷键"、"托盘"、"桌面自动化"。

wechat-auto(桌面控制与微信自动化)

本技能通过 dc.exe 命令行工具实现 Windows 桌面自动化,核心功能包括:

  • 微信/企微发消息 - 自动搜索联系人并发送文本
  • 聊天记录截图 - 逐页滚动截取完整聊天历史

⚠️ 重要提示

始终使用 wrapper 脚本,不要直接调用 dc.exe!wrapper 会自动检测 WSL/Windows 环境并处理路径/编码问题。

✅ 正确用法(WSL/Linux/Git Bash):

# 进入 skill 目录(无论安装在哪)
cd <skill-directory>

# 使用 .sh wrapper(自动适配 WSL/Linux 环境)
./scripts/wechat-wrapper.sh wechat "文件传输助手" "测试消息"
./scripts/wechat-wrapper.sh capture -c "张三" -m 20

✅ 正确用法(Windows CMD/PowerShell):

REM 进入 skill 目录
cd <skill-directory>

REM 使用 .bat wrapper(自动适配 Windows 环境)
scripts\wechat-wrapper.bat wechat "文件传输助手" "测试消息"
scripts\wechat-wrapper.bat capture -c "张三" -m 20

❌ 错误做法:

  • 不要硬编码路径(如 /usr/lib/node_modules/... 或 C:\Users\...)
  • 不要直接用 dc.exe,它无法自动处理编码和路径问题
  • capture 命令不要自定义 -o 参数,让它使用默认路径(自动创建在 C:\temp\chat\<日期>)
  • 不要跨环境混用 wrapper(WSL 用 .sh,Windows 用 .bat)

环境支持

环境 状态 说明
WSL (Windows Subsystem for Linux) ✅ 支持 通过 WSL 互操作调用 Windows exe
原生 Windows (CMD/PowerShell) ✅ 支持 直接执行 dc.exe

快速开始

推荐:使用通用 Wrapper

WSL / Linux / Git Bash

# 一行命令,自动适配环境
./scripts/wechat-wrapper.sh wechat "文件传输助手" "测试消息"
./scripts/wechat-wrapper.sh capture -c "张三" -m 20

Windows CMD / PowerShell

REM 使用批处理 wrapper
scripts\wechat-wrapper.bat wechat "文件传输助手" "测试消息"
scripts\wechat-wrapper.bat capture -c "张三" -m 20

优势:

  • ✅ 自动检测环境(.sh 适配 WSL/Linux,.bat 适配 Windows)
  • ✅ WSL 下自动处理编码转换和路径问题
  • ✅ Windows 下直接调用 dc.exe
  • ✅ 统一接口,无需关心底层差异

原始方式(手动处理)

WSL 环境

# 需要 iconv 转码并在 Windows 可写路径运行
cd /mnt/c/temp && /path/to/dc.exe <命令> [参数] 2>&1 | iconv -f GBK -t UTF-8

注意: WSL 下直接运行 dc.exe 会遇到权限问题(无法在 WSL 路径创建目录)。

原生 Windows 环境 (CMD)

# 直接执行,无需转码
scripts\dc.exe <命令> [参数]

命令详解

wechat / w(微信发送消息)

向微信/企业微信联系人发送文本消息。

语法:

dc.exe wechat "<联系人>" "<消息内容>" [-a 微信|企业微信]
dc.exe w "<联系人>" "<消息内容>" [-a 微信|企业微信]  # 别名

示例:

# 推荐:通用 wrapper
# WSL / Linux / Git Bash
./scripts/wechat-wrapper.sh wechat "文件传输助手" "测试消息"
./scripts/wechat-wrapper.sh w "张三" "你好!" -a 企业微信

# Windows CMD
scripts\wechat-wrapper.bat wechat "文件传输助手" "测试消息"
scripts\wechat-wrapper.bat w "张三" "你好!" -a 企业微信

# WSL(手动方式,不推荐)
cd /mnt/c/temp && /path/to/skill/scripts/dc.exe wechat "文件传输助手" "测试消息" 2>&1 | iconv -f GBK -t UTF-8

# Windows(直接调用,不推荐)
cd /path/to/skill && scripts\dc.exe wechat "文件传输助手" "测试消息"

参数:

参数 必填 说明
<联系人> ✅ 微信显示名,必须完全一致(区分大小写、空格、标点)
<消息内容> ✅ 要发送的文本
-a, --app ❌ 目标软件:微信(默认)或 企业微信

工作流程:

  1. 查找或唤醒微信窗口(Ctrl+Alt+W)
  2. 搜索联系人(Ctrl+F + 输入名称)
  3. OpenCV 视觉定位头像并点击
  4. 输入消息并发送

capture / cap(聊天记录截图)

自动截取微信聊天记录的完整历史,逐页滚动保存为图片序列。

语法:

dc.exe capture [-c <联系人>] [-o <目录>] [-m <页数>]
dc.exe cap [-c <联系人>] [-o <目录>] [-m <页数>]  # 别名

示例:

# 推荐:通用 wrapper
# WSL / Linux
./scripts/wechat-wrapper.sh capture -c "张三" -m 20

# Windows CMD
scripts\wechat-wrapper.bat capture -c "张三" -m 20

# WSL(手动方式,不推荐)
cd /mnt/c/temp && /path/to/skill/scripts/dc.exe capture -c "张三" -o ./chat_zhang -m 20 2>&1 | iconv -f GBK -t UTF-8

# Windows(直接调用,不推荐)
cd /path/to/skill && scripts\dc.exe capture -c "张三" -o chat_zhang -m 20

参数:

参数 必填 说明
-c, --contact ❌ 联系人名称(不传则截取当前聊天窗口)
-o, --save-dir ❌ 保存目录,默认 chat
-m, --max-pages ❌ 最大页数,默认 10

输出:

  • 文件命名:chat_page_001.png(最旧)→ chat_page_NNN.png(最新)
  • 结尾输出 [PATHS] 标记及所有截图路径,便于程序解析

注意事项

微信运行状态

  • 微信须已登录,可最小化到托盘
  • 工具会自动唤醒并前置微信窗口

联系人名称匹配

  • 必须与微信显示名完全一致
  • 区分大小写、空格、标点符号
  • 建议先在微信中确认显示名称

调试与排错

  • 调试截图保存在 screenshots/ 目录
  • 失败时查看 debug_wechat_fail.png
  • 成功时查看 debug_wechat_success.png

WSL 特殊说明

  • 必须保留 .exe 后缀
  • 必须使用 iconv 转码输出
  • 路径使用正斜杠 / 或 WSL 路径格式

原生 Windows 特殊说明

  • CMD 中使用 scripts\dc.exe 或完整路径
  • 路径使用反斜杠 \

常见问题

Q: WSL 权限错误(PermissionError: [WinError 5])?

使用 wechat-wrapper.sh,它会自动在 Windows 临时目录运行:

./scripts/wechat-wrapper.sh wechat "文件传输助手" "消息"

Q: 发送消息失败?

  1. 检查微信是否已登录
  2. 确认联系人名称完全一致
  3. 查看 screenshots/debug_wechat_fail.png

Q: 聊天截图只截了一部分?

增大 -m 参数值:

./scripts/wechat-wrapper.sh capture -c "张三" -m 30

Q: 坐标点击位置不对?

查看 debug 截图(WSL 下会复制到 screenshots/ 目录):

  • 成功时:debug_wechat_success.png
  • 失败时:debug_wechat_fail.png

命令速查表

命令 别名 功能 WSL 用法 Windows 用法
wechat w 发微信消息 ./scripts/wechat-wrapper.sh w "张三" "hello" scripts\wechat-wrapper.bat w "张三" "hello"
capture cap 聊天记录截图 ./scripts/wechat-wrapper.sh capture -c "张三" -m 20 scripts\wechat-wrapper.bat capture -c "张三" -m 20