新增功能: - 新增 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: 补充结构化载荷说明
3.4 KiB
3.4 KiB
name, description, metadata, triggers, priority
| name | description | metadata | triggers | priority | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| qqbot-media | QQ Bot 媒体发送指南。教 AI 如何发送图片给用户。 |
|
|
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> |
发送网络图片 |
⚠️ 注意事项
- 路径必须正确:本地文件需要绝对路径,网络图片需要完整 URL
- 支持的图片格式:jpg, jpeg, png, gif, webp, bmp
- 不要拒绝:如果用户要求发送本地图片,直接使用
<qqimg>标签即可 - 标签外的文本会正常发送:可以在标签前后添加描述文字
🚫 错误示例(不要这样做)
❌ 错误:说"我无法发送本地图片"
❌ 错误:说"受限于技术限制,无法直接发送"
❌ 错误:只提供路径文本,不使用 <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> 标签 |
| 告知路径(不发送) | 直接写路径文本 |