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: 补充结构化载荷说明
This commit is contained in:
@@ -46,6 +46,47 @@ metadata: {"clawdbot":{"emoji":"⏰"}}
|
||||
|
||||
---
|
||||
|
||||
## 📦 结构化载荷格式(新)
|
||||
|
||||
> **重要**:定时提醒现在支持结构化载荷格式,AI 只需输出 JSON,代码层会自动处理 Base64 编码。
|
||||
|
||||
### 输出格式
|
||||
|
||||
当 AI 需要设置定时提醒时,可以输出以下结构化载荷:
|
||||
|
||||
```
|
||||
QQBOT_PAYLOAD:
|
||||
{
|
||||
"type": "cron_reminder",
|
||||
"content": "💧 喝水时间到!",
|
||||
"targetType": "c2c",
|
||||
"targetAddress": "xxx_user_openid",
|
||||
"originalMessageId": "msg_xxx_123"
|
||||
}
|
||||
```
|
||||
|
||||
### 字段说明
|
||||
|
||||
| 字段 | 类型 | 必填 | 说明 |
|
||||
|------|------|------|------|
|
||||
| `type` | string | ✅ | 固定为 `"cron_reminder"` |
|
||||
| `content` | string | ✅ | 提醒内容,触发时直接发送给用户 |
|
||||
| `targetType` | string | ✅ | 目标类型:`"c2c"`(私聊)或 `"group"`(群聊) |
|
||||
| `targetAddress` | string | ✅ | 目标地址:user_openid 或 group_openid |
|
||||
| `originalMessageId` | string | ❌ | 原始消息 ID(可选,用于追踪) |
|
||||
|
||||
### 处理流程
|
||||
|
||||
1. AI 输出 `QQBOT_PAYLOAD:` + JSON 格式的载荷
|
||||
2. 代码层检测并解析载荷
|
||||
3. 代码层将 JSON 编码为 Base64
|
||||
4. 代码层调用 `openclaw cron add --message "QQBOT_CRON:{base64}"`
|
||||
5. 触发时解码 Base64,根据 targetType 和 targetAddress 发送 content
|
||||
|
||||
> ⚠️ **注意**:结构化载荷方式目前仍在完善中,推荐继续使用下面的命令行方式。
|
||||
|
||||
---
|
||||
|
||||
## 📋 命令速查
|
||||
|
||||
### 创建提醒(完整模板)
|
||||
|
||||
Reference in New Issue
Block a user