微信消息文件发送skill — 微信消息文件发送技能
v1.0.0This 技能 provides integrated WeChat account management, message delivery, and file transmission capabilities. It supports 查询ing current user account in格式化ion and actively 发送ing text messages or various file types (including images, videos, audio, and documents) to specified WeChat contacts or groups when invoked through OpenClaw. The functionality enables complete operation execution for user-driven communication and sharing tasks.
运行时依赖
安装命令
点击复制本土化适配说明
微信消息文件发送skill — 微信消息文件发送技能 安装说明: 安装命令:["openclaw skills install wechat-account-send"] 该技能用于微信相关操作,可能需要相应的平台账号或API密钥
技能文档
微信账号消息发送 技能
使用 OpenClaw 的微信集成功能,实现微信账号信息查询、会话管理、主动文本消息和文件发送功能。 调用时机:当用户需要查询当前微信账户信息,或主动向指定微信联系人/群组发送消息时,通过微信发送文件即可触发。
功能说明
本技能提供以下核心功能:
微信会话查询:使用 会话s_列出 工具查询当前活跃的微信会话和对话信息。 主动文本消息发送:通过微信后端API向指定用户发送文本消息。 文件发送:通过微信后端API向指定用户或机器人发送多种格式的文件(如图片、视频、音频、文档)。 功能亮点 支持多账号管理 自动获取用户配置信息 完整的消息与文件发送反馈 跨平台兼容性(Windows/Linux/MacOS) 详细的调试信息输出 会话信息查询和管理 实时会话状态监控 自动路径检测,无需手动配置 支持广泛的文件格式(图片、视频、音频、文档、压缩包等) 使用方法
- 会话查询功能
当用户要求列出所有会话时,调用 会话s_列出 工具: 会话s_列出()
找到当前对话
当用户要求找到我们之间的对话时: # 获取所有会话 会话s_列出() # 过滤出微信渠道的会话 # 找到最新的或与当前对话匹配的会话获取会话详情
使用 会话s_列出 的参数来获取更详细的信息:
获取最近活跃的会话
会话s_列出(activeMinutes=60, messageLimit=5)
2. 主动消息发送功能
命令行调用方式
```bash python scripts/mAIn_发送_msg示例 python scripts/mAIn_发送_msg "6e2f83e62b99-im-机器人" "这是发送的消息"
- 文件发送功能 (新增)
本技能提供两种核心文件发送场景:
场景一:微信文件自我发送 使用场景:当用户要求将某个文件(如截图、结果文件等)通过微信发送给自己时触发。 执行流程: 通过微信会话查询功能,确认当前会话对应的机器人账号。 理解用户需要发送的文件(由用户提供或根据上下文生成)。 调用文件发送程序,将文件发送至用户微信。 场景二:微信文件推送发送 使用场景:当用户要求将某个文件通过微信发送给指定机器人时触发。 执行流程: 解析用户指令,确认需要发送的文件。 调用文件发送程序,将文件发送至目标机器人账号。 命令行调用方式 # 发送图片 python scripts/mAIn_发送_file.py "XXXXXXX-im-机器人" "/home/测试图片.jpg"
# 发送视频 python scripts/mAIn_发送_file.py "XXXXXXX-im-机器人" "/home/测试视频.mp4"
# 发送文档 python scripts/mAIn_发送_file.py "XXXXXXX-im-机器人" "/home/测试文档.pdf"
# 发送音频 python scripts/mAIn_发送_file.py "XXXXXXX-im-机器人" "/home/测试音频.mp3"
触发条件
当同时满足以下条件时,文件发送功能将被自动调用:
用户通过微信发送的消息非纯文本。 消息中携带附件(如图片、视频、文档等)。 用户明确要求"通过微信发送文件"或表达类似意图。 参数说明
- 会话查询参数
- 消息发送参数
- 文件发送参数 (新增)
注:实际文件大小限制以微信官方API规定为准,超过限制可能导致发送失败。
已测试支持的文件格式 图片:jpg, png, gif, bmp 等 视频:mp4, mov, avi 等 音频:mp3, wav, m4a 等 文档:pdf, doc, docx, xls, xlsx, ppt, pptx, txt 等 压缩文件:zip, rar, 7z 等 配置文件位置
账号配置文件默认存放在以下位置:
Windows: C:\Users\用户名\.OpenClaw\OpenClaw-weixin\accounts Linux/MacOS: ~/.OpenClaw/OpenClaw-weixin/accounts 自动路径检测
技能现在通过 获取_OpenClaw_path() 函数实现自动路径检测:
优先检测环境变量 OpenClaw_状态_DIR 如果未设置环境变量,使用默认路径 支持 Windows、Linux 和 macOS 平台 错误处理
常见错误及解决方法:
错误类型 可能原因 解决方法 路径不存在 OpenClaw路径配置错误 检查 OpenClaw 是否正确安装 配置文件缺失 账号ID不存在或配置文件损坏 重新登录微信账号 网络请求异常 网络连接失败或API地址错误 检查网络连接和API地址配置 权限验证失败 令牌失效或权限不足 重新获取身份验证令牌 文件发送失败 (新增) 文件路径错误、网络异常、API返回非零状态码、文件类型不支持或大小超限 检查文件路径与网络,查看错误日志,确认文件格式与大小 示例输出 会话查询示例
会话s_列出 返回示例:
{ "会话s": [ { "会话Key": "OpenClaw-weixin:xxxxxxxx-22f75d8b", "kind": "OpenClaw-weixin", "lastMessage": "检查微信助手的账号ID", "lastMessa获取ime": "2026-04-01T17:12:00Z" } ] }
消息发送示例
成功发送文本消息的输出:
================================================== 【微信消息发送测试】 目标用户: xxxxxxxx 客户端ID: OpenClaw-weixin:1735114630-abc123def 上下文令牌: xxxxxxxx-22f75d8b ------------------------------ HTTP 状态码: 200 API 返回码 (ret): 0 ✅ 消息发送成功! 服务器响应详情: { "ret": 0, "msg": "成功", "data": {} } ==================================================
文件发送示例 (新增)
成功发送文件的输出:
- 准备上传参数...
- 申请上传参数...
- 加密文件...
- 上传到CDN...
- 发送文件...
版本历史 版本 更新日期 更新内容 4.0.0 2026-04-03 新增文件发送功能,支持图片、视频、音频、文档、压缩文件等多种格式文件发送。 3.0.0 2026-04-02 新增主动消息发送功能,支持向指定用户发送消息;添加自动路径检测功能 2.0.0 2026-04-01 改用会话s_列出工具查询会话信息 1.0.0 2026-04-01 初始版本发布,支持微信账号信息查询 技术说明 工作原理 会话查询原理 调用 OpenClaw 的 会话s_列出 工具 获取所有活跃会话信息 过滤出微信渠道的会话 返回会话详细信息 消息发送原理 根据账号ID查找对应的配置文件 读取配置文件中的连接参数 构建符合微信API规范的请求 发送HTTP请求到微信后端 处理响应并显示结果 文件发送原理 (新增) 根据账号ID查找对应的配置文件,获取必要的连接参数。 读取并验证本地文件,进行加密和上传参数准备。 将文件上传至CDN,获取文件访问参数。 调用微信API,发送包含文件访问信息的消息到指定会话。 处理API响应,返回发送结果。 自动路径检测原理 def 获取_OpenClaw_path(): """获取OpenClaw安装路径,支持Windows、Linux、MacOS""" # 优先使用环境变量指定的路径 状态_dir = os.environ.获取('OpenClaw_状态_DIR') if 状态_dir and os.path.exists(状态_dir): return Path(状态_dir)
# 默认路径 home = Path.home() if sys.平台 == 'win32': # Windows: C:\Users\用户名\.OpenClaw return home / '.OpenClaw' else: # Linux/MacOS: ~/.OpenClaw return home / '.OpenClaw'
架构设计
┌─────────────────┐ ┌──────────────────┐ ┌──────────────────┐ │ 会话查询模块 │ │ 账号信息查询 │────▶│ 消息发送模块 │ └─────────────────┘ └──────────────────┘ └──────────────────┘ ▲ ▲ ▲ │