wecome-send-message:用 Agent Skill 对接企业微信消息与通讯录

前言

告警、审批结果、定时任务状态,很多团队最终都要落到企业微信里。常见做法是单独写脚本或接一层内部服务,自己维护 access_token、查 UserID、再调发送接口。每次改文案或换接收人,都要碰代码或改配置。

下面介绍 SkillHub 上的社区 Skill wecome-send-message(安装坐标为 @user_6976792a/wecom-send-message)。它把企微自建应用的凭证配置、通讯录查询和多种消息类型封装成 SKILL.md 工作流,由 Agent 按文档调用 tools/wecom_client.py 完成操作。

这是什么

wecome-send-message 面向 企业微信消息推送与通讯录查询:通过企微自建应用向指定用户发送消息,并按姓名、手机、邮箱等方式检索通讯录。

  • 维护方:SkillHub 社区发布者 user_6976792a,来源为 community,分类 business-ops
  • 当前版本:1.0.0
  • SkillHub 页面数据(以页面展示为准):评分 100000,下载 2293,安装 269;标签含 requires_api_key=true(实际需配置企微 CorpID、AgentID、Secret 等凭证)
  • 官方入口:SkillHub 技能页、api.skillhub.cn 坐标页

包内 SKILL.md 的 name 字段为 wecom-api,与商店展示名 wecome-send-message 不一致;安装与引用时以坐标 @user_6976792a/wecom-send-message 为准。

核心功能

以下能力均来自已发布的 SKILL.md 与 tools/wecom_client.py 子命令,Agent 通过 Bash 调用 Python 脚本执行。

  1. 凭证与连接:check 检查是否就绪;setup 写入 Skill 目录下私有 .env;verify 验证 API 连接。
  2. 通讯录:按姓名模糊搜索、按手机号或邮箱精确查找、获取用户详情、列出部门及部门成员(含递归)。
  3. 消息推送:向单个或多个 UserID(| 分隔)发送文本、Markdown、文本卡片;支持 @all 与多人场景的 --preview / --yes 确认流程。
  4. 运维辅助:history 查看最近发送审计;常见企微错误码在 Skill 文档中有对应处理说明;token 默认缓存在 Skill 私有 .cache/,审计写入 .state/message_audit.json。

前置依赖:Python 3,以及 pip install requests。

安装与启用

1、安装 SkillHub CLI(若尚未安装)

command -v skillhub && skillhub --version

未安装时可按 SkillHub 安装文档执行(完整安装示例):

curl -fsSL https://skillhub-1388575217.cos.ap-guangzhou.myqcloud.com/install/install.sh | bash

2、安装本 Skill 到当前 Agent 的 skills 目录

安装时必须使用 --dir 指向 Agent 识别的 skills 目录,否则默认落在 ./skills/ 可能无法被加载。

skillhub install @user_6976792a/wecom-send-message --dir <skills 目录>

常用路径(来自 SkillHub 安装文档):

  • Cursor:~/.cursor/skills/
  • Claude Code:~/.claude/skills/
  • Codex:~/.codex/skills/ 或项目下的 .agents/skills/

也可将下面提示词交给 AI,让其按 skillhub 安装说明 完成安装:

请根据 https://skillhub.cn/install/skillhub.md,安装 `@user_6976792a/wecom-send-message`。

3、配置企业微信凭证

首次使用前在 Skill 目录执行检查(将 ${CLAUDE_SKILL_DIR} 换为实际安装路径,例如 ~/.cursor/skills/@user_6976792a/wecom-send-message):

python3 ${CLAUDE_SKILL_DIR}/tools/wecom_client.py check

若未就绪,推荐用 setup 写入 Skill 私有 .env:

python3 ${CLAUDE_SKILL_DIR}/tools/wecom_client.py setup \
  --corp-id "你的企业ID" \
  --agent-id "你的AgentID" \
  --secret "你的应用Secret" \
  --contact-secret "你的通讯录Secret"

其中 CorpID、AgentID、Secret 来自企微管理后台自建应用;contact-secret 可选,用于通讯录能力,未配置时文档说明会用应用 Secret 兜底。也可通过环境变量 WECOM_CORP_ID、WECOM_AGENT_ID、WECOM_SECRET、WECOM_CONTACT_SECRET 或 OpenClaw 的 openclaw secrets set 注入(见 Skill 文档)。

配置后验证:

python3 ${CLAUDE_SKILL_DIR}/tools/wecom_client.py verify

典型用法

Skill 声明在用户说出「发企微消息给 XX」「企微推送」「wecom send」等意图时触发;也可使用文档中的 /wecom-api 类入口(以 Agent 对 Skill 的挂载方式为准)。

按姓名查人再发文本

python3 ${CLAUDE_SKILL_DIR}/tools/wecom_client.py search-name --name "张三"

python3 ${CLAUDE_SKILL_DIR}/tools/wecom_client.py send-text \
  --to "zhangsan" \
  --content "明天上午10点开会,请准时参加。"

多人发送(先预览再确认)

python3 ${CLAUDE_SKILL_DIR}/tools/wecom_client.py send-text \
  --to "zhangsan|lisi|wangwu" \
  --content "提醒:今天下班前提交周报" \
  --preview

python3 ${CLAUDE_SKILL_DIR}/tools/wecom_client.py send-text \
  --to "zhangsan|lisi|wangwu" \
  --content "提醒:今天下班前提交周报" \
  --yes

部门成员与 Markdown 通知

python3 ${CLAUDE_SKILL_DIR}/tools/wecom_client.py dept-list

python3 ${CLAUDE_SKILL_DIR}/tools/wecom_client.py dept-users --dept-id 1 --recursive

python3 ${CLAUDE_SKILL_DIR}/tools/wecom_client.py send-markdown \
  --to "zhangsan" \
  --content "## 会议通知\n> 时间:明天 10:00\n\n请准时参加。"

在 Cursor 等环境中,通常用自然语言描述意图,由 Agent 读取 SKILL.md 并执行上述命令;SKILL.md 写明允许的工具为 Read、Write、Edit、Bash。

适用场景与注意

适合谁:已在企业微信开通自建应用、需要把「查人 + 发消息」交给 coding Agent 的团队;分类为 business-ops,适合运维通知、协作提醒、轻量办公自动化。

限制与注意:

  1. 接收者须在应用可见范围内,否则可能出现 60020 等错误;通讯录查询依赖相应 Secret 与权限。
  2. 群发、@all 默认要求先 --preview,确认后再加 --yes,避免误发。
  3. Secret 不应写入代码或日志;Skill 默认只读取其目录下的 .env,可通过 WECOM_ENV_FILE 指定其他 env 文件。
  4. 商店名 wecome-send-message 与包内 Skill 名 wecom-api、slug wecom-send-message 并存,排查问题时以安装目录与坐标为准。

结尾

wecome-send-message 把企业微信自建应用的消息与通讯录能力收敛成可安装的 Agent Skill:凭证本地化、命令行可复现、文档里带错误码与安全约定。若你已在用 SkillHub 管理 Skills,可按坐标安装并在配置 verify 通过后,用对话驱动企微通知。

官方地址:https://www.skillhub.cn/skills/user_6976792a/wecom-send-message

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye