通过企业微信群机器人 Webhook 发送消息通知。支持文本、Markdown、Markdown V2(表格)、图片、文件消息。 支持发送到指定会话(chatid)或通过名称发送(需先注册 webhook URL)。 适用场景:服务告警、定时任务结果推送、数据报告发送、任何需要通知企业微信群的情况。
企业微信消息推送(群机器人 Webhook)
功能概述
企业微信消息推送(群机器人 Webhook)是一项面向实际任务的技能,主要用于curl (HTTP 客户端);jq (JSON 处理,版本 ≥ 1.6);
核心要点
- 所有发送脚本支持以下可选参数:;
- to <name>;
- 通过名称发送(推荐,需先注册);
使用与执行
url <url>;WECOM_WEBHOOK_URL;Webhook URL;chatid <id>;WECOM_CHATID;指定会话 ID;优先级 : --to。
结果检查与注意事项
它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
企业微信消息推送(群机器人 Webhook)
项目结构
qywx-msg-sender/ ├── scripts/ │ ├── wecom_common.sh # 公共函数库(参数解析、注册表、发送封装) │ ├── send_text.sh # 发送文本消息(支持 @成员) │ ├── send_markdown.sh # 发送 Markdown 消息 │ ├── send_markdown_v2.sh # 发送 Markdown V2 消息(支持表格) │ ├── send_image.sh # 发送图片消息(base64 直传,≤2MB) │ ├── send_file.sh # 发送文件消息(先上传获取 media_id,≤20MB) │ ├── register_chat.sh # 注册会话(绑定名称、URL、chatid) │ ├── list_chats.sh # 列出所有已注册的会话 │ └── unregister_chat.sh # 删除已注册的会话 └── SKILL.md # 本文档
依赖要求
curl(HTTP 客户端)jq(JSON 处理,版本 ≥ 1.6)
配置参数
所有发送脚本支持以下可选参数:
| 参数 | 环境变量 | 说明 |
|---|---|---|
--to |
- | 通过名称发送(推荐,需先注册) |
--url |
WECOM_WEBHOOK_URL |
Webhook URL |
--chatid |
WECOM_CHATID |
指定会话 ID |
优先级:--to(从注册表读取 url + chatid)> --url/--chatid > 环境变量
Webhook URL 获取
企业微信群 → 右上角「...」→ 群机器人 → 添加 → 复制 Webhook 地址
会话 ID (chatid) 说明
- 默认行为:不指定 chatid 时,消息发送到创建机器人的群
- 指定会话:通过
--chatid参数可发送到其他会话 - 获取方式:从群机器人回调事件中提取 chatid
会话注册表
支持通过名称发送消息,注册时绑定 webhook URL、chatid 和会话类型。
注册格式
name -> { url, chatid, chat_type }
chat_type:group(群聊,默认)或single(私聊)
注册会话
# 注册群聊(发送到 webhook 默认群) bash scripts/register_chat.sh "研发群" "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxx" # 注册群聊(发送到指定会话) bash scripts/register_chat.sh "告警群" "https://...?key=yyy" "wrkSFfCgAAxxxxxx" # 注册私聊(chat_type=single) bash scripts/register_chat.sh "张三" "https://...?key=zzz" "wokSFfCgAAyyyyyy" "single"
查看已注册
bash scripts/list_chats.sh
输出示例:
已注册的会话 (3 个): ======================================== 研发群: 类型: group URL: https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxx ChatID: (默认群) 告警群: 类型: group URL: https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=yyy ChatID: wrkSFfCgAAxxxxxx 张三: 类型: single URL: https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=zzz ChatID: wokSFfCgAAyyyyyy
删除注册
bash scripts/unregister_chat.sh "研发群"
注册表位置
默认:~/.wecom/chat_registry.json
可通过环境变量自定义:
export WECOM_REGISTRY_FILE="/path/to/registry.json"
消息类型对比
| 类型 | 脚本 | 特点 | 限制 |
|---|---|---|---|
| 文本 | send_text.sh |
纯文本,支持 @成员 | - |
| Markdown | send_markdown.sh |
富文本,标题/加粗/链接等 | 4096 字节 |
| Markdown V2 | send_markdown_v2.sh |
支持表格和多行代码块 | - |
| 图片 | send_image.sh |
base64 直传,无需上传 | 2MB,jpg/png |
| 文件 | send_file.sh |
自动上传获取 media_id | 20MB |
Markdown vs Markdown V2
| 特性 | Markdown | Markdown V2 |
|---|---|---|
| 基础语法 | # 标题、**加粗**、*斜体*、`代码`、[链接](url)、> 引用 |
同左 |
| 表格 | ❌ 不支持 | ✅ 支持 |
| 多行代码块 | ❌ 不支持 | ✅ 支持 ``` |
| 内容限制 | 4096 字节 | 较宽松 |
| 兼容性 | 更好(旧版客户端) | 需较新版本 |
选择建议:
- 简单消息 → 用
markdown(轻量、兼容性好) - 需要表格或代码块 → 必须用
markdown_v2
使用方式
所有脚本都支持 --to、--url、--chatid 参数。
文本消息
# 通过名称发送(推荐) bash scripts/send_text.sh --to "研发群" "部署完成" # 通过 URL 发送(临时使用) bash scripts/send_text.sh --url "https://...?key=xxx" "消息内容" # @ 指定成员(userid) bash scripts/send_text.sh --to "研发群" "服务异常,请处理" "zhangsan" # @ 所有人 bash scripts/send_text.sh --to "研发群" "紧急告警" "@all"
Markdown 消息
bash scripts/send_markdown.sh --to "研发群" "## 服务状态n**API**: 正常n**DB**: 正常" bash scripts/send_markdown.sh --to "研发群" "$(cat report.md)"
支持:# 标题、**加粗**、*斜体*、`代码`、[链接](url)、> 引用
Markdown V2 消息(表格)
bash scripts/send_markdown_v2.sh --to "研发群" "## 每日数据 | 指标 | 数值 | |------|------| | 请求数 | 1,234 | | 错误率 | 0.1% | | P99 | 230ms |"
图片消息
bash scripts/send_image.sh --to "研发群" /path/to/screenshot.png
文件消息
bash scripts/send_file.sh --to "研发群" /path/to/report.xlsx
示例:服务每日报告
MSG=$(cat <<'EOF' ## 服务每日报告(2026-01-02) **整体概况** > 总请求: 68,019 | 活跃用户: 117 | 错误率: 0.02% **资源消耗 Top 3** 1. app-gen-code — 6,137 次,$567 2. app-tools — 635 次,$168 3. zhangsan — 1,066 次,$97 EOF ) bash scripts/send_markdown.sh --to "研发群" "$MSG"
带表格的版本(使用 markdown_v2):
MSG=$(cat <<'EOF' ## 服务每日报告(2026-01-02) | 排名 | 名称 | 调用次数 | 消费 | |------|------|---------|------| | 1 | app-gen-code | 6,137 | $567 | | 2 | app-tools | 635 | $168 | | 3 | zhangsan | 1,066 | $97 | EOF ) bash scripts/send_markdown_v2.sh --to "研发群" "$MSG"
典型工作流
# 1. 首次使用:注册常用会话(绑定 webhook URL) bash scripts/register_chat.sh "研发群" "https://...?key=xxx" bash scripts/register_chat.sh "告警群" "https://...?key=yyy" "wrkSFfCgAAxxxxxx" # 2. 日常使用:通过名称发送(无需记住 URL 和 chatid) bash scripts/send_text.sh --to "研发群" "部署完成" bash scripts/send_markdown.sh --to "告警群" "## 告警n服务异常" # 3. 查看已注册 bash scripts/list_chats.sh
热门AI工具
相关专题
本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。
0
2026.11.06
围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。
0
2026.11.06
详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。
0
2026.11.06
DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。
0
2026.11.05
DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。
0
2026.11.05
本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。
0
2026.11.04
本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。
0
2026.11.04
本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。
0
2026.11.04
本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。
0
2026.11.04
热门下载
相关下载
精品课程
共6课时 | 12.1万人学习
共79课时 | 161.8万人学习
共6课时 | 54.7万人学习
最新文章