Agent skill · wecomteam
wecomcli-message
查询当前可以发送消息的聊天会话范围,并向会话列表中的单聊或群聊发送文本、Markdown、图片、文件、语音、视频消息。用户要求“给某人发消息”“在某个群里通知”“给最近会话发消息”或“把图片/文件/语音/视频发到企业微信”时使用。
What it needs
About 2k tokens when loaded.
What this skill does
企业微信发送消息 执行任何 wecom-cli 命令前,必须先读取并完成 wecomcli-shared 技能的公共前置检查。 1. 可以向授权人发送消息。 2. 可以向授权人以外的、机器人最近有消息往来的聊天会话(单聊和群聊)发送消息。 适用范围 适用 适用于给授权人发消息,使用 wecom-cli identity whoami 获取授权人ID,可作为 chatid 使用,无需调用 sessions list。 适用于查询当前有权限发送消息的聊天会话范围并给这些范围中的成员或群聊发送 Markdown 消息、图片、文件、AMR 语音或视频 不适用 发送对象不是授权人且不在本次 sessions list 返回结果中 → 告知用户当前只能向最近活跃的会话或授权人发送 技能依赖 调用依赖技能前,必须先完整读取对应 SKILL.md。 依赖技能 触发场景 数据流向 --- --- --- wecomcli-media 发送图片、文件、语音或视频时只有本地文件路径,没有可直接复用的 mediaid 包含媒体上传接口,如没有已有的 mediaid,必须先阅读该技能获取 mediaid,上传时传入的 type 应和发送时的msgtype 对齐 获取能发送消息的会话列表 命令 返回 字段 类型 说明 --- --- --- sessions array 会话列表,按最后一条消息时间从新到旧排序,具体数量以实际回包为准 sessions[].chatid string 会话 ID sessions[].chatname string 群名称或单聊名称 sessions[].chattype string single 单聊或 group 群聊 sessions[].lastmsgtime string 最后一条消息时间,格式 YYYY-MM-DD HH:MM:SS sessionscount integer sessions 数组元素数量 chatid 来源 向授权人以外的用户发送消息,调用 wecom-cli message aibot send 前,需要先调用一次 sessions list,然后从本次返回的 sessions[] 中选定目标项,把该项的 chatid 原样复制到 send.chatid。 以下值都不能直接作为 send.chatid: 用户输入的 ID 之前轮次或历史上下文保存的 chatid wecomcli-contact 返回的 userid 根据姓名、群名或其他字段自行构造的值 这些值最多只能作为匹配线索;最终发送参数必须重新取自本次 sessions list 的匹配项。 目标会话匹配 聊天名称:在本次 sessions[] 中按非空 chatname 精确匹配;不能精确匹配需要向用户反问确认发送目标,唯一命中时从匹配项复制 chatid。 最近第一个/最近某个会话:按 sessions[] 原始顺序选择用户明确指定的项。 用户提供 ID:只能与本次 sessions[].chatid 做完全相等校验;命中后仍从匹配项复制 chatid,不能直接复用用户输入值。 匹配结果处理: 唯一匹配时继续发送。 多个聊天会话候选时,按返回顺序展示聊天名和最后消息时间,让用户选择。 用户完成选择后,必须重新调用 sessions list,再用选定对象匹配当次返回值。 无匹配时停止发送,如实告知目标不在最近 10 个会话中;不要接受外部 chatid 绕过限制。 sessionscount=0 时停止发送,告知当前没有可发送的最近会话。 展示会话列表时保持接口原始顺序;展示名称和时间,不展示内部 chatid。 发送消息 前置条件 调用本接口前必须完成以下步骤: 1. 根据发送对象选择调用 wecom-cli message aibot sessions list获取 chatid 或 wecom-cli identity whoami 获取授权人ID。 2. 在本次列表中唯一匹配目标。 3. 如果发送授权人以外的对象,从列表中匹配项原样复制 sessions[].chatid。 4. …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills wecomteam/wecomcli-message