SKILL.md
2.55 KB
name: wechat-voice-sender description: 通过 LSPosed 内部 API 发送微信语音消息(TTS 一键合成,无 UI 模拟) version: 1.0
category: communication
WeChat 语音发送
When to Use
- 用户要求「发语音」、「发条语音」、「语音通知」等
- 需要让消息听起来更有温度、更像真人说的
- 发送语音摘要、日报、提醒(比文字更直观)
- 对方不便看屏幕时
文字消息用 send_wechat_message,语音消息用 send_wechat_voice_tts。
核心工具(直接调用,不要自己实现任何编解码)
send_wechat_voice_tts — 文字 → 语音,一步到位
# 发语音给火星人
result = mcp.call("send_wechat_voice_tts", {
"to": "yibooo", # 火星人的 wxid
"text": "你好,明天下午三点开会,记得准时。",
"voice": "zh-CN-XiaoxiaoNeural" # 可选,默认女声
})
# 返回: {"status": "sent", "duration_ms": 4200, ...}
工具内部自动完成:edge-tts → ffmpeg → SILK V3 编码 → WeChat hook 发送。 不要自己调 edge-tts、ffmpeg、silk-wasm——那是工具的事,不是你的事。
可用声音
| voice 参数 | 风格 |
|---|---|
zh-CN-XiaoxiaoNeural(默认) |
女声,自然亲切 |
zh-CN-YunxiNeural |
男声,自然 |
zh-CN-YunyangNeural |
男声,新闻播报风 |
已知联系人 wxid
| 名字 | wxid |
|---|---|
| 火星人 | yibooo |
| 文件传输助手(测试用) | filehelper |
其他联系人用 send_wechat_message 的 to 字段(支持昵称模糊搜索),或先查 WeChat DB:
# 查 wxid
result = mcp.call("query_wechat_contacts", {"query": "联系人昵称"})
技术说明(了解即可,不需要操心)
- 走 LSPosed hook(wechathook 模块),调 WeChat 内部
w11.r0工厂 - DB INSERT 在 r0 构造器内完成,status=4(已送达),不触发 CDN 上传
- 无 UI 模拟,不影响微信界面,不会被反自动化检测
- 语音格式:SILK V3(Tencent 变体),存为
.amr
错误处理
| status | 含义 | 处理 |
|---|---|---|
sent |
成功 | 完成 |
error: WeChat not running |
微信进程未启动 | 稍等重试,工具会自动尝试启动 |
error: edge-tts not installed |
依赖缺失 | pip install edge-tts |
error: ffmpeg not found |
依赖缺失 | pkg install ffmpeg |
error: silk-wasm not found |
依赖缺失 | npm install -g silk-wasm |
安全约束
- 不要对陌生联系人发送大量语音(有封号风险)
- 批量发送时每条间隔 ≥ 5s