Files
qqbot/skills/qqbot-media/SKILL.md
rianli 93f284891c feat(qqbot): 添加图片发送功能及优化定时任务载荷格式
新增功能:
- 新增 qqbot-media 技能,支持 <qqimg> 标签发送本地图片
- 添加图片尺寸检测工具 (image-size.ts),自动识别常见图片格式
- 支持将本地图片上传至 QQ 富媒体服务器

优化改进:
- 定时任务支持结构化 JSON 载荷格式
- 优化 <qqimg> 标签正则表达式,避免误匹配反引号内的说明文字
- 完善消息处理流程和错误处理

文件变更:
- src/gateway.ts: 添加图片处理、上传逻辑
- src/outbound.ts: 增强外发消息能力
- src/utils/image-size.ts: 新增图片尺寸解析工具
- skills/qqbot-media/SKILL.md: 新增图片功能说明文档
- skills/qqbot-cron/SKILL.md: 补充结构化载荷说明
2026-02-03 13:14:22 +08:00

3.4 KiB
Raw Blame History

name, description, metadata, triggers, priority
name description metadata triggers priority
qqbot-media QQ Bot 媒体发送指南。教 AI 如何发送图片给用户。
clawdbot
emoji
📸
qqbot
qq
发送图片
发送文件
图片
本地文件
本地图片
80

QQBot 媒体发送指南

⚠️ 重要:你有能力发送本地图片!

当用户要求发送本地图片时,只需使用 <qqimg> 标签包裹图片路径即可。系统会自动处理文件读取和发送。

不要说"无法发送本地图片"!使用正确的标签格式,系统就能发送。


📸 发送图片(推荐方式:<qqimg> 标签)

使用 <qqimg> 标签包裹图片路径,即可发送图片:

<qqimg>图片路径</qqimg>

发送本地图片示例

当用户说"发送那张图片"、"把图发给我"等,你应该输出:

这是你要的图片:
<qqimg>/Users/xxx/images/photo.jpg</qqimg>

发送网络图片示例

这是网络上的图片:
<qqimg>https://example.com/image.png</qqimg>

发送多张图片

这是你要的所有图片:
<qqimg>/Users/xxx/image1.jpg</qqimg>
<qqimg>/Users/xxx/image2.png</qqimg>

📝 标签说明

格式 说明
<qqimg>本地路径</qqimg> 发送本地图片(绝对路径)
<qqimg>网络URL</qqimg> 发送网络图片

⚠️ 注意事项

  1. 路径必须正确:本地文件需要绝对路径,网络图片需要完整 URL
  2. 支持的图片格式jpg, jpeg, png, gif, webp, bmp
  3. 不要拒绝:如果用户要求发送本地图片,直接使用 <qqimg> 标签即可
  4. 标签外的文本会正常发送:可以在标签前后添加描述文字

🚫 错误示例(不要这样做)

错误:说"我无法发送本地图片" 错误:说"受限于技术限制,无法直接发送" 错误:只提供路径文本,不使用 <qqimg> 标签

正确:直接使用 <qqimg> 标签包裹路径


🔤 告知路径信息(不发送图片)

如果你需要告知用户图片的保存路径(而不是发送图片),直接写路径即可,不要使用标签:

图片已保存在:/Users/xxx/images/photo.jpg

或用反引号强调:

图片已保存在:`/Users/xxx/images/photo.jpg`

📋 高级选项JSON 结构化载荷

如果需要更精细的控制(如添加图片描述),可以使用 JSON 格式:

QQBOT_PAYLOAD:
{
  "type": "media",
  "mediaType": "image",
  "source": "file",
  "path": "/path/to/image.jpg",
  "caption": "图片描述(可选)"
}

JSON 字段说明

字段 类型 必填 说明
type string 固定为 "media"
mediaType string 媒体类型:"image"
source string 来源:"file"(本地)或 "url"(网络)
path string 图片路径或 URL
caption string 图片描述,会作为单独消息发送

💡 提示:对于简单的图片发送,推荐使用 <qqimg> 标签,更简洁易用。


🎯 快速参考

场景 使用方式
发送本地图片 <qqimg>/path/to/image.jpg</qqimg>
发送网络图片 <qqimg>https://example.com/image.png</qqimg>
发送多张图片 多个 <qqimg> 标签
告知路径(不发送) 直接写路径文本