wxf8126275

向企业微信发送消息

AI 智能体v1.0.2
作者:wxf8126275更新于 2026-05-11共 3 个版本 · 最新版本发布于 2026-03-24qywx-send-skill@clawhub_wxf8126275/qywx-send-skill
工具调用#微信#文档#消息

据 AlphaMoat 统计,截至 2026-09,向企业微信发送消息 累计下载 3,020 次、获 0 个星标,在全部 5,078 个 AI 技能中排名第 3,718 位,在「AI 智能体」分类(969 个)中排名第 751 位。

累计安装
854
累计下载
3,020
星标
-
全站排名
#3,718
全站前 74% · 「AI 智能体」前 78%
平台累计安装累计下载星标评论
ClawHub ↗23905--
SkillHub ↗8543,020-—

各平台的计数口径不同,统计时间不一致。

这个技能是做什么的

支持文本、markdown、markdown_v2、图片与图文五类消息,前三类内容超长时会自动分片并带分片编号,避免被截断。该技能只做消息发送,不含告警消息与每日报告功能。 发送消息、发布内容、修改设置或删除数据前,先展示操作与目标并取得明确确认。

资料发布于 2026-10-27

可以用来做什么

  • 把一段长 markdown 通知分片推送到企业微信。
  • 发送带标题、描述与跳转链接的图文消息。

什么时候用

  • 需要把长文本完整推送到企业微信群时。
  • 要用统一的图文格式发通知时。

示例提示词

以下是根据技能文档生成的示例,不代表实际运行结果。

用企业微信发一条 markdown 通知,内容较长请自动分片。
帮我发一条图文消息,带标题、描述和跳转链接。

月度数据趋势

累计下载3,020
1,0642,1153,1652026-03 · 累计下载 1,2092026-05 · 累计下载 2,0422026-06 · 累计下载 2,1532026-07 · 累计下载 2,3652026-08 · 累计下载 2,5102026-09 · 累计下载 3,02026-0326-09
星标-
0112026-03 · 星标 -2026-05 · 星标 -2026-06 · 星标 -2026-07 · 星标 -2026-08 · 星标 -2026-09 · 星标 -26-0326-09

2026-09 起统计方法调整:同名技能按作者分别统计,并覆盖全部技能。图中虚线为调整前的月份,与之后的数据不直接比较,也不计算跨越调整的增长。

月份累计下载环比星标
2026-093,020—-
2026-082,510+6.1%-
2026-072,365+9.8%-
2026-062,153+5.4%-
2026-052,042—-
2026-031,209—-

SKILL.md 原文

以下是作者发布的原始文件,按纯文本显示,本站未做修改或审核;其中的链接不可点击,命令请核实后再运行。抓取于 2026-10-23。

8.9 KB · ClawHub v1.0.2
---
name: qywx-send-skill
description: 严格按照企业微信文档规范,支持文本、markdown、markdown_v2、图片、图文等多种消息类型的发送技能。
---

# qywx-send-skill

## 功能概述

这个技能严格按照企业微信文档规范,支持以下消息类型:
展开全部(共 336 行)
- ✅ **文本类型** (text) - 支持超长内容自动分片
- ✅ **markdown类型** (markdown) - 支持超长内容自动分片
- ✅ **markdown_v2类型** (markdown_v2) - 支持超长内容自动分片
- ✅ **图片类型** (image)
- ✅ **图文类型** (news)

**注意**: 本技能专注于消息发送功能,不包含告警消息和每日报告的发送功能。

### 新增功能:超长内容分片发送
- ✅ **自动分片**: 当text、markdown、markdown_v2类型的消息内容超过企业微信限制时,自动拆分成多个消息发送
- ✅ **分片标记**: 每个分片消息都包含分片编号信息,便于接收方识别
- ✅ **完整性保证**: 确保长消息的完整传递,避免内容截断

## 使用方法

### 1. 发送文本消息
```
使用qywx-send-skill发送文本消息 [消息内容]
```
**超长内容处理**: 当内容超过2048字节时,会自动分片发送

### 2. 发送markdown消息
```
使用qywx-send-skill发送markdown消息 [消息内容]
```
**超长内容处理**: 当内容超过4096字节时,会自动分片发送

### 3. 发送markdown_v2消息
```
使用qywx-send-skill发送markdown_v2消息 [消息内容]
```
**超长内容处理**: 当内容超过4096字节时,会自动分片发送

### 4. 发送图片消息
```
使用qywx-send-skill发送图片消息 [图片路径或URL]
```

### 5. 发送图文消息
```
使用qywx-send-skill发送图文消息 [标题] [描述] [图片URL] [跳转URL]
```

### 6. 指定自定义Webhook
```
使用qywx-send-skill发送[消息类型] [消息内容],Webhook地址: [your-webhook-url]
```

## 配置参数

### Webhook地址
- **默认Webhook**: `https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=you-key`
- **自定义Webhook**: 支持用户指定自定义的企业微信Webhook地址

## 消息格式规范

### 1. 文本消息 (text)
```json
{
    "msgtype": "text",
    "text": {
        "content": "消息内容",
        "mentioned_list": ["@all"],
        "mentioned_mobile_list": ["@all"]
    }
}
```

**字段说明**:
- `content`: 消息内容,最长2048字节
- `mentioned_list`: 需要@的成员,`["@all"]`表示@所有人
- `mentioned_mobile_list`: 需要@的成员手机号

### 2. markdown消息 (markdown)
```json
{
    "msgtype": "markdown",
    "markdown": {
        "content": "**标题**\n\n内容"
    }
}
```

**字段说明**:
- `content`: Markdown格式内容,最长4096字节

**支持的Markdown语法**:
- 标题: `# 标题`
- 加粗: `**加粗**`
- 斜体: `*斜体*`
- 链接: `[链接](url)`
- 列表: `- 列表项`
- 引用: `> 引用内容`

### 3. markdown_v2消息 (markdown_v2)
```json
{
    "msgtype": "markdown_v2",
    "markdown_v2": {
        "content": "**标题**\n\n内容",
        "template_id": "template_id",
        "template_data": {
            "key1": "value1",
            "key2": "value2"
        }
    }
}
```

**字段说明**:
- `content`: Markdown V2格式内容
- `template_id`: 模板ID(可选)
- `template_data`: 模板数据(可选)

### 4. 图片消息 (image)
```json
{
    "msgtype": "image",
    "image": {
        "base64": "base64编码的图片内容",
        "md5": "图片的MD5值"
    }
}
```

**字段说明**:
- `base64`: 图片的base64编码
- `md5`: 图片的MD5值

### 5. 图文消息 (news)
```json
{
    "msgtype": "news",
    "news": {
        "articles": [
            {
                "title": "标题",
                "description": "描述",
                "url": "跳转链接",
                "picurl": "图片链接"
            }
        ]
    }
}
```

**字段说明**:
- `articles`: 图文消息列表
- `title`: 标题,最长128字节
- `description`: 描述,最长512字节
- `url`: 跳转链接
- `picurl`: 图片链接

## 使用示例

### 示例1: 发送简单文本消息
```
使用qywx-send-skill发送文本消息 服务器监控:CPU使用率正常
```

### 示例2: 发送Markdown消息
```
使用qywx-send-skill发送markdown消息 **📊 系统状态**\n\n- CPU使用率:65%\n- 内存使用率:72%\n- 磁盘使用率:45%
```

### 示例3: 发送长文本消息(自动分片)
```
使用qywx-send-skill发送文本消息 [超过2048字节的长文本内容]
```
**处理**: 自动拆分成多个消息发送,每个分片包含分片编号

### 示例4: 发送长Markdown消息(自动分片)
```
使用qywx-send-skill发送markdown消息 **📊 长报告**\n\n[超过4096字节的详细内容]
```
**处理**: 自动拆分成多个消息发送,每个分片包含分片编号

### 示例5: 发送图片消息
```
使用qywx-send-skill发送图片消息 /path/to/image.png
```

### 示例6: 发送图文消息
```
使用qywx-send-skill发送图文消息 "系统更新通知" "系统将于今晚进行更新维护" "https://example.com/image.png" "https://example.com/detail"
```

### 示例7: 使用自定义Webhook
```
使用qywx-send-skill发送文本消息 测试消息,Webhook地址: https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=your-key
```

## Python脚本调用

```python
from skills.qywx_send_skill.scripts.send_message import send_wechat_message

# 发送文本消息
result = send_wechat_message("服务器监控:CPU使用率正常", msg_type="text")
print(result)

# 发送markdown消息
markdown_content = "**📊 系统状态**\n\n- CPU使用率:65%\n- 内存使用率:72%"
result = send_wechat_message(markdown_content, msg_type="markdown")
print(result)

# 发送长文本消息(自动分片)
long_text = "长文本内容..." * 1000  # 超过2048字节
result = send_wechat_message(long_text, msg_type="text")
print(f"分片发送结果: {result.get('chunk_count', 1)}片")

# 发送长Markdown消息(自动分片)
long_markdown = "**📊 长报告**\n\n" + "详细内容..." * 1000  # 超过4096字节
result = send_wechat_message(long_markdown, msg_type="markdown")
print(f"分片发送结果: {result.get('chunk_count', 1)}片")

# 发送图片消息
result = send_wechat_message("/path/to/image.png", msg_type="image")
print(result)

# 发送图文消息
articles = [
    {
        "title": "系统更新通知",
        "description": "系统将于今晚进行更新维护",
        "url": "https://example.com/detail",
        "picurl": "https://example.com/image.png"
    }
]
result = send_wechat_message(articles, msg_type="news")
print(result)

# 使用自定义Webhook
result = send_wechat_message("测试消息", msg_type="text", webhook_url="https://your-webhook-url")
print(result)

# 禁用分片发送(强制单条发送,可能失败)
result = send_wechat_message(long_text, msg_type="text", enable_chunking=False)
print(result)
```

## 返回结果

### 成功响应
```json
{
    "errcode": 0,
    "errmsg": "ok"
}
```

### 错误响应
```json
{
    "errcode": 40014,
    "errmsg": "invalid webhook"
}
```

## 错误处理

### 常见错误码
- **40014**: Webhook地址无效
- **40015**: 消息内容格式错误
- **40016**: 消息长度超过限制
- **40017**: 接口调用频率限制
- **40018**: 接口频率限制
- **40019**: 机器人不存在
- **40020**: 机器人已禁用

### 错误处理建议
1. 检查Webhook地址是否正确
2. 验证消息格式是否符合要求
3. 控制消息发送频率
4. 检查企业微信应用配置

## 技术实现

### 依赖库
- `urllib.request`: HTTP请求发送
- `json`: 数据格式处理
- `ssl`: HTTPS连接支持
- `base64`: 图片编码处理
- `hashlib`: MD5计算

### 发送流程
1. 构造消息数据
2. 设置HTTP请求头
3. 发送POST请求
4. 处理响应结果

## 最佳实践

### 消息内容优化
1. **简洁明了**: 控制消息长度,突出重点
2. **格式规范**: 使用Markdown增强可读性
3. **定期发送**: 避免频繁发送相同内容
4. **分类发送**: 按重要性分级发送

### Webhook管理
1. **统一管理**: 集中管理Webhook地址
2. **权限控制**: 限制Webhook使用权限
3. **监控告警**: 监控Webhook调用状态
4. **备份机制**: 准备备用Webhook地址

## 注意事项

### 消息限制
- **文本消息**: 最长2048字节
- **Markdown消息**: 最长4096字节
- **Markdown V2消息**: 最长4096字节
- **图片消息**: 支持JPG、PNG格式,最大10MB
- **图文消息**: 最多8条图文
- **发送频率**: 每分钟不超过20条

### 安全性
- **Webhook保密**: 不要泄露Webhook地址
- **内容验证**: 验证发送的消息内容
- **权限控制**: 限制消息发送权限
- **日志审计**: 记录所有发送记录

## 参考文档

- [企业微信开发文档](https://developer.work.weixin.qq.com/document/path/99110)
- [Webhook发送消息API](https://developer.work.weixin.qq.com/document/path/90236)
- [消息类型说明](https://developer.work.weixin.qq.com/document/path/90237)

「AI 智能体」分类下的热门技能

数据月份:2026-09 · 下载/星标/安装数聚合自公开技能注册库(ClawHub、SkillHub),按月更新。口径说明见数据方法。