Commit Graph

141 Commits

Author SHA1 Message Date
Bijin
6af361082a Update README.md 2026-02-03 18:27:31 +08:00
Bijin
084586c009 Update README.md 2026-02-03 18:24:44 +08:00
Bijin
017139fb4a Update README.md 2026-02-03 18:21:34 +08:00
rianli
9c43ac50bc fix(desc): 更新描述文件及一些话术 2026-02-03 18:19:13 +08:00
rianli
ac1e66732c Merge upstream/main into pr-to-upstream
Resolved conflicts:
- package.json: Keep local version (@openclaw/qqbot 2026.1.31)
- src/api.ts: Keep local comments
- src/gateway.ts: Keep local features (qqimg tag support, local file handling, 60s timeout)
- src/outbound.ts: Keep local implementation (rate limiting records)
- README.md: Accept upstream version
2026-02-03 18:02:25 +08:00
Bijin
ae33651c05 Update README.md 2026-02-03 17:57:14 +08:00
Bijin
80589e1d8a Update README.md 2026-02-03 17:56:22 +08:00
rianli
0abbcb06b3 fix(qqbot-cron): 移除 --session isolated 避免提醒触发时启动 AI 会话
问题:定时提醒触发时,--session isolated 导致消息被当作新会话处理,
AI 会输出初始化对话(询问用户是谁等),提醒内容显得生硬且冗长。

修改:
- 删除 SKILL.md 中所有命令模板的 --session isolated 参数
- 删除 SKILL.md 中结构化载荷格式章节(已选择命令行方案)
- 更新 gateway.ts 中的示例命令

效果:提醒触发时直接发送消息内容,不再启动 AI 会话。

支持 </img> 闭合标签
2026-02-03 17:27:44 +08:00
Bijin
eba94f228d Update README.md 2026-02-03 17:07:13 +08:00
Bijin
b253822673 Update package.json 2026-02-03 17:06:28 +08:00
rianli
f233fbb353 fix: add missing payload.ts file 2026-02-03 14:41:35 +08:00
rianli
0c33875eda fix:完善 upgrade 脚本传参逻辑 2026-02-03 14:33:39 +08:00
rianli
f4a72ba0cb 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:33:04 +08:00
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
sliverp
3c140f5e92 fix: 修改超时时间并更新错误提示信息 2026-02-03 12:34:27 +08:00
Bijin
1b58881f8d Update README.md 2026-02-03 12:28:34 +08:00
Bijin
a1829c0c36 Update README for version 1.3.0 features
Added support for image replies and scheduled tasks.
2026-02-03 12:27:54 +08:00
Bijin
08cb3e3821 Improve prompt for missing model response
Refine the prompt message for unreceived model responses.
2026-02-03 12:23:06 +08:00
Bijin
82f978bc0f Update README.md 2026-02-03 12:14:53 +08:00
Bijin
0cf6dfe51e Update README.md 2026-02-03 12:13:40 +08:00
Bijin
d0741b638b Merge pull request #27 from leol1024/main
feat: 消息能力升级
2026-02-03 12:09:35 +08:00
rianli
cbe51bfb82 feat(qqbot):优化发送图片功能逻辑 2026-02-02 23:32:42 +08:00
rianli
918b419fc9 feat(qqbot): 图片收发功能与定时提醒优化
**图片功能**
- 支持接收用户发送的图片消息(自动下载到临时目录)
- 支持发送本地文件路径(自动读取转为 Base64)
- 富媒体消息接口(sendC2CImageMessage/sendGroupImageMessage)
- 图片本地代理服务(解决 QQ 图片 URL 直接访问限制)

**消息格式**
- 默认启用 Markdown 消息格式

**定时提醒优化**
- 修复 cron 提醒:移除无效 --system-prompt 参数,改用 --message 直接输出提醒内容
- 精简用户交互话术,避免冗长回复

**代码清理**
- 移除过时的流式消息处理代码
- 优化 gateway/outbound/channel 模块结构
2026-02-02 20:36:09 +08:00
rianli
62d52c8361 feat(qqbot): 优化提醒技能与智能断句
**提醒技能优化**
- 优化 SKILL.md,新增 --system-prompt 参数说明
- 修复 AI 角色混淆问题(避免说"谢谢提醒")
- 完善提醒触发时的 AI 角色指引

**流式消息智能断句**
- 新增语义边界检测(句号/感叹号/问号等)
- 首个分片在自然断句位置发送,避免奇怪的换行
- 支持 emoji 结尾识别

**其他优化**
- 移除 metadata 中的 channels 限制
- 精简 console.md 内容
- 优化 onboarding 引导流程
2026-02-02 20:31:38 +08:00
rianli
a3e87f2f37 feat(qqbot): 定时提醒技能与主动消息系统
**新增提醒技能**
- 新增 skills/qqbot-cron/SKILL.md 定时提醒技能定义
- 支持一次性提醒(--at)和周期性提醒(--cron)
- 支持设置、查询、取消提醒操作

**主动消息系统**
- 新增 src/proactive.ts 主动消息发送模块
- 新增 src/known-users.ts 已知用户管理
- 新增 src/session-store.ts 会话存储
- 支持主动向用户/群组发送消息

**工具脚本**
- 新增 scripts/proactive-api-server.ts 主动消息API服务
2026-02-02 20:31:14 +08:00
rianli
50422aac14 feat(qqbot): 流式消息输出与架构重构
**流式消息**
- 新增 StreamSender 类,支持流式消息分片发送
- 实现消息队列异步处理,防止阻塞心跳
- 支持 C2C/Group 流式消息

**架构重构**
- 移除 clawdbot/moltbot 旧配置,统一为 qqbot
- 新增 upgrade-and-run.sh 一键升级脚本
- 重构 api/channel/gateway/outbound 模块
- 新增富媒体消息发送接口
2026-02-02 20:25:06 +08:00
leoqlin
38b0c07367 feat: 支持完整chunk直接发送消息,适配主动消息发送调用 2026-02-02 11:38:30 +08:00
leoqlin
eea1f40684 feat: 支持收到c2c消息后回复输入中状态 2026-01-31 20:22:37 +08:00
leoqlin
d09cd592ce feat: 移除url限制 2026-01-31 20:16:40 +08:00
yuehuali
35cb5ec1d6 refactor: 支持兼容 openclaw 安装环境 2026-01-30 22:40:59 +08:00
Bijin
453478980a Merge pull request #21 from sliverp/feature/group
Feature/group
2026-01-30 18:59:56 +08:00
sliverp
fe683a908a chore: 更新版本号至1.2.3 2026-01-30 18:59:08 +08:00
Bijin
adb4605bcf Update README.md 2026-01-30 18:58:20 +08:00
sliverp
61cd9536b0 chore: 添加 package-lock.json 文件 2026-01-30 18:53:56 +08:00
sliverp
d0c7a5b1a2 refactor: 移除图片发送功能配置 2026-01-30 18:46:43 +08:00
sliverp
7afaedd9a0 chore: 更新依赖和版本号 2026-01-30 18:39:38 +08:00
sliverp
0ace68d2a4 fix: 修复图片发送失败时的错误处理及路径配置 2026-01-30 18:33:54 +08:00
sliverp
6c6c5bd7fd feat: 支持本地绝对路径图片上传 2026-01-30 15:24:29 +08:00
sliverp
a9b0c3ff10 feat: 支持可选配置图床服务器地址 2026-01-30 15:12:28 +08:00
sliverp
a13aacbc3b fix: 下载附件时保留原始文件名并添加时间戳 2026-01-30 14:53:13 +08:00
sliverp
cef1e7406c fix: 确保保存图片时存储目录存在 2026-01-30 14:40:41 +08:00
sliverp
549956adda 111 2026-01-30 14:35:17 +08:00
sliverp
9b5175710a feat: 支持本地图片上传和多媒体字段处理 2026-01-30 14:28:50 +08:00
sliverp
32e8895889 feat: 增加日志记录 2026-01-30 14:23:58 +08:00
sliverp
e790cdbd2e feat: 增加本地图片发送格式说明 2026-01-30 14:16:22 +08:00
sliverp
1a7a263394 feat: 扩展支持的 MIME 类型并优化文件名提取逻辑 2026-01-30 14:06:01 +08:00
Bijin
85564d8306 Update README.md 2026-01-30 14:01:28 +08:00
sliverp
ee7a193143 fix: 修正附件下载目录路径 2026-01-30 13:56:06 +08:00
sliverp
f06631d199 fix: 更新默认下载目录为工作目录下的 downloads 2026-01-30 13:51:29 +08:00
sliverp
a660a1fb78 feat: 增加附件下载与本地图片上传功能
在 gateway.ts 中修改附件处理逻辑,将接收到的附件下载到本地目录供 clawdbot 访问,并支持将 AI 生成的本地文件通过 MEDIA: 前缀上传到图床。

在 image-server.ts 中新增 saveImageFromPath 函数用于保存本地图片到图床,新增 downloadFile 函数用于下载远程文件到本地,支持根据 Content-Type 或 URL 自动推断文件扩展名。

在 .gitignore 中添加 dist 忽略项。同时优化了错误提示信息,将错误截取长度从 100 字符增加到 500 字符。
2026-01-30 13:43:16 +08:00