前言¶
告警、审批结果、定时任务状态,很多团队最终都要落到企业微信里。常见做法是单独写脚本或接一层内部服务,自己维护 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 脚本执行。
- 凭证与连接:
check检查是否就绪;setup写入 Skill 目录下私有.env;verify验证 API 连接。 - 通讯录:按姓名模糊搜索、按手机号或邮箱精确查找、获取用户详情、列出部门及部门成员(含递归)。
- 消息推送:向单个或多个 UserID(
|分隔)发送文本、Markdown、文本卡片;支持@all与多人场景的--preview/--yes确认流程。 - 运维辅助:
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,适合运维通知、协作提醒、轻量办公自动化。
限制与注意:
- 接收者须在应用可见范围内,否则可能出现
60020等错误;通讯录查询依赖相应 Secret 与权限。 - 群发、
@all默认要求先--preview,确认后再加--yes,避免误发。 - Secret 不应写入代码或日志;Skill 默认只读取其目录下的
.env,可通过WECOM_ENV_FILE指定其他 env 文件。 - 商店名
wecome-send-message与包内 Skill 名wecom-api、slugwecom-send-message并存,排查问题时以安装目录与坐标为准。
结尾¶
wecome-send-message 把企业微信自建应用的消息与通讯录能力收敛成可安装的 Agent Skill:凭证本地化、命令行可复现、文档里带错误码与安全约定。若你已在用 SkillHub 管理 Skills,可按坐标安装并在配置 verify 通过后,用对话驱动企微通知。
官方地址:https://www.skillhub.cn/skills/user_6976792a/wecom-send-message