test-mirror-qqbot 1.5.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +165 -0
- package/CHANGELOG.zh.md +165 -0
- package/LICENSE +22 -0
- package/README.md +470 -0
- package/README.zh.md +465 -0
- package/bin/qqbot-cli.js +243 -0
- package/clawdbot.plugin.json +16 -0
- package/docs/UPGRADE_GUIDE.md +93 -0
- package/docs/UPGRADE_GUIDE.zh.md +93 -0
- package/docs/commands.md +247 -0
- package/docs/images/07bff56ab68e03173d2af586eeb3bcee_720.jpg +0 -0
- package/docs/images/17cada70df90185d45a2d6dd36e92f2f_720.jpg +0 -0
- package/docs/images/21dce8bfc553ce23d1bd1b270e9c516c copy.jpg +0 -0
- package/docs/images/21dce8bfc553ce23d1bd1b270e9c516c.jpg +0 -0
- package/docs/images/4645f2b3a20822b7f8d6664a708529eb_720.jpg +0 -0
- package/docs/images/59d421891f813b0d3c0cbe12574b6a72_720.jpg +0 -0
- package/docs/images/85d03b8a216f267ab7b2aee248a18a41_720.jpg +0 -0
- package/docs/images/bot_say_hello.jpg +0 -0
- package/docs/images/create_robot.png +0 -0
- package/docs/images/developer_group.png +0 -0
- package/docs/images/fc7b2236896cfba3a37c94be5d59ce3e_720.jpg +0 -0
- package/docs/images/find_appid_secret.png +0 -0
- package/docs/images/hot-update.jpg +0 -0
- package/docs/images/lighthouse_head.png +0 -0
- package/docs/images/ref_msg.png +0 -0
- package/docs/images/reminder.jpg +0 -0
- package/docs/images/slash-help.jpg +0 -0
- package/docs/images/slash-logs.jpg +0 -0
- package/docs/images/slash-ping.jpg +0 -0
- package/docs/images/slash-upgrade.jpg +0 -0
- package/docs/images/slash-version.jpg +0 -0
- package/index.ts +31 -0
- package/moltbot.plugin.json +16 -0
- package/openclaw.plugin.json +16 -0
- package/package.json +25 -0
- package/scripts/cleanup-legacy-plugins.sh +124 -0
- package/scripts/proactive-api-server.ts +369 -0
- package/scripts/send-proactive.ts +293 -0
- package/scripts/set-markdown.sh +156 -0
- package/scripts/test-sendmedia.ts +116 -0
- package/scripts/upgrade-via-alt-pkg.sh +307 -0
- package/scripts/upgrade-via-npm.ps1 +296 -0
- package/scripts/upgrade-via-npm.sh +301 -0
- package/scripts/upgrade-via-source.sh +774 -0
- package/skills/qqbot-channel/SKILL.md +263 -0
- package/skills/qqbot-channel/references/api_references.md +521 -0
- package/skills/qqbot-media/SKILL.md +56 -0
- package/skills/qqbot-remind/SKILL.md +149 -0
- package/src/admin-resolver.ts +140 -0
- package/src/api.ts +819 -0
- package/src/channel.ts +381 -0
- package/src/config.ts +187 -0
- package/src/credential-backup.ts +72 -0
- package/src/gateway.ts +1404 -0
- package/src/image-server.ts +539 -0
- package/src/inbound-attachments.ts +304 -0
- package/src/known-users.ts +353 -0
- package/src/message-queue.ts +169 -0
- package/src/onboarding.ts +274 -0
- package/src/openclaw-plugin-sdk.d.ts +522 -0
- package/src/outbound-deliver.ts +552 -0
- package/src/outbound.ts +1266 -0
- package/src/proactive.ts +530 -0
- package/src/ref-index-store.ts +357 -0
- package/src/reply-dispatcher.ts +334 -0
- package/src/runtime.ts +14 -0
- package/src/session-store.ts +303 -0
- package/src/slash-commands.ts +1305 -0
- package/src/startup-greeting.ts +98 -0
- package/src/stt.ts +86 -0
- package/src/tools/channel.ts +281 -0
- package/src/tools/remind.ts +296 -0
- package/src/types.ts +183 -0
- package/src/typing-keepalive.ts +59 -0
- package/src/update-checker.ts +179 -0
- package/src/user-messages.ts +7 -0
- package/src/utils/audio-convert.ts +803 -0
- package/src/utils/file-utils.ts +167 -0
- package/src/utils/image-size.ts +266 -0
- package/src/utils/media-tags.ts +182 -0
- package/src/utils/payload.ts +265 -0
- package/src/utils/platform.ts +435 -0
- package/src/utils/text-parsing.ts +82 -0
- package/src/utils/upload-cache.ts +128 -0
- package/tsconfig.json +16 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/).
|
|
6
|
+
|
|
7
|
+
## [1.6.4] - 2026-03-20
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
- **One-click hot upgrade `/bot-upgrade`**: Upgrade the plugin directly from private chat — no server login needed. Supports `--latest` (upgrade to latest), `--version X` (specific version), and `--force` (force reinstall). Version existence is verified against npm before proceeding.
|
|
12
|
+
- **Channel API proxy tool `qqbot_channel_api`**: AI can call QQ Open Platform channel HTTP APIs directly with automatic Token authentication and SSRF protection. Supports guild/channel management, member queries, forum threads, announcements, schedules, and more.
|
|
13
|
+
- **Credential backup protection**: New `credential-backup.ts` module auto-saves `appId`/`clientSecret` to a standalone file before hot upgrade. `isConfigured` now falls back to backup check — if config is lost but backup exists, the account still starts and credentials are auto-restored.
|
|
14
|
+
- **Command usage help**: All slash commands support `?` suffix to show detailed usage (e.g. `/bot-upgrade ?`).
|
|
15
|
+
|
|
16
|
+
### Changed
|
|
17
|
+
|
|
18
|
+
- **Real-time version check**: `getUpdateInfo()` changed from synchronous cache to `async` live npm registry query — every `/bot-version` or `/bot-upgrade` call fetches the latest data.
|
|
19
|
+
- **`/bot-logs` multi-source aggregation**: Long logs are auto-truncated with explanation.
|
|
20
|
+
|
|
21
|
+
### Improved
|
|
22
|
+
|
|
23
|
+
- **`switchPluginSourceToNpm` post-write validation**: Verifies `channels.qqbot` data integrity before writing back to `openclaw.json`, preventing race-condition credential loss.
|
|
24
|
+
- **Upgrade scripts with credential backup**: `upgrade-via-npm.sh` and `upgrade-via-source.sh` now save credential snapshots before upgrading.
|
|
25
|
+
|
|
26
|
+
## [1.6.3] - 2026-03-18
|
|
27
|
+
|
|
28
|
+
### Changed
|
|
29
|
+
|
|
30
|
+
- **Update checker: HTTPS-native with multi-registry fallback**: Replaced `npm view` CLI call with direct HTTPS requests to npm registry API; supports automatic fallback from npmjs.org to npmmirror.com, solving network issues in mainland China.
|
|
31
|
+
- **Upgrade script multi-registry fallback**: `upgrade-via-npm.sh` now tries npmjs.org → npmmirror.com → default registry in sequence, improving upgrade reliability in restricted networks.
|
|
32
|
+
|
|
33
|
+
## [1.6.2] - 2026-03-18
|
|
34
|
+
|
|
35
|
+
### Changed
|
|
36
|
+
|
|
37
|
+
- **Markdown-aware text chunking**: Replaced custom `chunkText` with SDK built-in `chunkMarkdownText`, supporting auto code-fence close/reopen, bracket awareness, etc.
|
|
38
|
+
- **Enable block streaming**: Set `blockStreaming: true` — the framework now collects streamed responses and delivers via the `deliver` callback.
|
|
39
|
+
- **Reduce text chunk limit**: `textChunkLimit` lowered from 20000 to 5000 for better message readability.
|
|
40
|
+
- **Silent media errors**: Media send failures (image/voice/video/file) are now logged only; error messages are no longer surfaced to the user.
|
|
41
|
+
|
|
42
|
+
### Improved
|
|
43
|
+
|
|
44
|
+
- **Ref-index content untruncated**: Removed `MAX_CONTENT_LENGTH` cap when storing quoted-message content, preserving full message body in ref-index store.
|
|
45
|
+
|
|
46
|
+
### Removed
|
|
47
|
+
|
|
48
|
+
- `MSG` constants and `formatMediaErrorMessage` from `user-messages.ts` — plugin layer no longer generates user-facing error text.
|
|
49
|
+
|
|
50
|
+
## [1.6.1] - 2026-03-18
|
|
51
|
+
|
|
52
|
+
### Improved
|
|
53
|
+
|
|
54
|
+
- **Upgrade script auto-restart**: `upgrade-via-npm.sh` now automatically restarts the gateway after upgrade to apply the new version immediately.
|
|
55
|
+
- **Increase text chunk limit**: Raised `textChunkLimit` from 2000 to 20000, allowing longer messages to be sent without splitting.
|
|
56
|
+
- **Remove proactive update push**: Removed the auto-push notification to admin when a new version is detected; version info is now only available passively via `/bot-version` and `/bot-upgrade` commands, reducing noise.
|
|
57
|
+
|
|
58
|
+
### Removed
|
|
59
|
+
|
|
60
|
+
- `onUpdateFound` callback and `formatUpdateNotice` helper from `update-checker.ts` — no longer needed after removing proactive push.
|
|
61
|
+
|
|
62
|
+
## [1.6.0] - 2026-03-16
|
|
63
|
+
|
|
64
|
+
### Added
|
|
65
|
+
|
|
66
|
+
- **Slash command system**: `/bot-ping`, `/bot-version`, `/bot-help`, `/bot-upgrade`, `/bot-logs` — five plugin-level slash commands.
|
|
67
|
+
- **Update checker**: Background npm version check with update status in `/bot-version` and upgrade guide in `/bot-upgrade`.
|
|
68
|
+
- **Startup greeting**: Distinguish first install vs. restart with different greeting messages.
|
|
69
|
+
- **Log download**: `/bot-logs` packages the last 2000 lines of logs and sends as a file.
|
|
70
|
+
|
|
71
|
+
### Changed
|
|
72
|
+
|
|
73
|
+
- **Unified rich media tag**: Replaced `<qqimg>`, `<qqvoice>`, `<qqfile>`, `<qqvideo>` with a single `<qqmedia>` tag — the system auto-detects media type by file extension.
|
|
74
|
+
|
|
75
|
+
### Improved
|
|
76
|
+
|
|
77
|
+
- **Greeting debounce**: Suppress duplicate greetings within 60s during rapid restarts (e.g. upgrades).
|
|
78
|
+
- **Proactive message 48h filter**: Skip users inactive for 48h+ when sending startup greetings, reducing 500 errors.
|
|
79
|
+
- **Token cache refresh threshold**: Changed from hardcoded 5-minute early refresh to `min(5min, remaining/3)`, fixing repeated token requests when API returns short-lived tokens.
|
|
80
|
+
- **Streamlined context injection**: Reduced redundant context injected into OpenClaw, lowering token consumption.
|
|
81
|
+
|
|
82
|
+
## [1.5.7] - 2026-03-12
|
|
83
|
+
|
|
84
|
+
### Added
|
|
85
|
+
|
|
86
|
+
- Add quoted-message context pipeline for QQ `REFIDX_*`: parse quote indices from inbound events, cache inbound/outbound message summaries, and inject quote body into agent context.
|
|
87
|
+
- Add persistent quote index store (`~/.openclaw/qqbot/data/ref-index.jsonl`) with in-memory cache + JSONL append, restart recovery, 7-day TTL eviction, and compact.
|
|
88
|
+
- Add structured quote attachment summaries (image/voice/video/file, local path/url, voice transcript source) for better reply grounding.
|
|
89
|
+
|
|
90
|
+
### Improved
|
|
91
|
+
|
|
92
|
+
- Bot replies now attach quote reference to the user's current message when available, improving threaded conversation readability in QQ.
|
|
93
|
+
|
|
94
|
+
## [1.5.6] - 2026-03-10
|
|
95
|
+
|
|
96
|
+
### Added
|
|
97
|
+
|
|
98
|
+
- Add voice input summary log with STT/ASR/fallback source counters and ASR text preview for debugging voice pipeline.
|
|
99
|
+
- Add `asr_refer_text` fallback support — when STT is not configured or fails, use QQ platform's built-in ASR text as low-confidence fallback.
|
|
100
|
+
- Pass voice-related metadata (`QQVoiceAsrReferTexts`, `QQVoiceTranscriptSources`, `QQVoiceInputStrategy`, etc.) to agent context.
|
|
101
|
+
- Add scheduled reminder (proactive message) section to README with demo screenshot.
|
|
102
|
+
- Normalize `appId` parsing to support both numeric and string values across runtime and proactive scripts.
|
|
103
|
+
|
|
104
|
+
### Fixed
|
|
105
|
+
|
|
106
|
+
- Fix voice prompt hints to distinguish STT-configured vs. unconfigured states and add ASR fallback / voice forward guidance.
|
|
107
|
+
|
|
108
|
+
## [1.5.5] - 2026-03-09
|
|
109
|
+
|
|
110
|
+
### Added
|
|
111
|
+
|
|
112
|
+
- Add `npm-upgrade.sh` script for npm-based plugin installation and upgrade.
|
|
113
|
+
- Supports `--tag` and `--version` options, defaults to `@alpha`.
|
|
114
|
+
- Handles channel config backup/restore, old plugin cleanup (including legacy variants like `qqbot`, `@sliverp/qqbot`), and gateway restart.
|
|
115
|
+
- Temporarily removes `channels.qqbot` before install to avoid `unknown channel id` validation error.
|
|
116
|
+
|
|
117
|
+
### Fixed
|
|
118
|
+
|
|
119
|
+
- Fix plugin id not matching package name, causing plugin load failure.
|
|
120
|
+
- Fix `normalizeTarget` return type — now returns structured `{ok, to, error}` object.
|
|
121
|
+
- Fix outdated repo URL references in `pull-latest.sh` and `upgrade.sh`.
|
|
122
|
+
- Fix `proactive-api-server.ts` / `send-proactive.ts` hardcoded config file paths.
|
|
123
|
+
- Fix `set-markdown.sh` `read` missing timeout causing hang in non-interactive environments.
|
|
124
|
+
|
|
125
|
+
### Improved
|
|
126
|
+
|
|
127
|
+
- Scripts now fully compatible with multiple CLIs (openclaw / clawdbot / moltbot) with auto-detection of config file paths.
|
|
128
|
+
- `upgrade-and-run.sh` now shows clear prompt when AppID/Secret is missing on first run.
|
|
129
|
+
- `upgrade-and-run.sh` now displays qqbot plugin version before and after upgrade.
|
|
130
|
+
|
|
131
|
+
## [1.5.4] - 2026-03-08
|
|
132
|
+
|
|
133
|
+
### Fixed
|
|
134
|
+
|
|
135
|
+
- Fix Token collision in multi-account concurrent mode — refactored global Token cache from a single variable to a per-`appId` `Map`, resolving `11255 invalid request` errors when multiple bots run simultaneously.
|
|
136
|
+
- Per-instance background Token refresh — `clearTokenCache()` and `stopBackgroundTokenRefresh()` now accept an `appId` parameter for independent per-account management.
|
|
137
|
+
- Fix `openclaw message send` failing for non-default accounts — without `--account`, `accountId` always fell back to `"default"`, causing a 500 error when sending to an OpenID belonging to a different bot.
|
|
138
|
+
|
|
139
|
+
### Added
|
|
140
|
+
|
|
141
|
+
- Multi-account documentation — added "Multi-Account Setup" section to README.
|
|
142
|
+
- Enhanced debug logging — `[qqbot:channel]` prefixed logs in `channel.ts`, covering account resolution, message sending, and gateway startup.
|
|
143
|
+
- API log prefix — all API request logs now include `[qqbot-api:${appId}]` prefix for easier multi-instance debugging.
|
|
144
|
+
|
|
145
|
+
## [1.5.3] - 2026-03-06
|
|
146
|
+
|
|
147
|
+
### Fixed
|
|
148
|
+
|
|
149
|
+
- Improved rich media tag parsing logic for higher recognition success rate.
|
|
150
|
+
- Fixed file encoding issues and special path handling that prevented file sending.
|
|
151
|
+
- Fixed intermittent message loss caused by duplicate message seq numbers.
|
|
152
|
+
|
|
153
|
+
### Improved
|
|
154
|
+
|
|
155
|
+
- Upgrade script now auto-backs up and restores qqbot channel config during upgrades.
|
|
156
|
+
- Updated README with rich media usage instructions and plugin config/upgrade tutorial.
|
|
157
|
+
|
|
158
|
+
## [1.5.2] - 2026-03-05
|
|
159
|
+
|
|
160
|
+
### Added
|
|
161
|
+
|
|
162
|
+
- Voice/file sending capability with TTS text-to-speech support.
|
|
163
|
+
- Rich media enhancements: upload caching, video support, automatic retry on failure.
|
|
164
|
+
- Markdown messages enabled by default.
|
|
165
|
+
- Standalone upgrade script with user choice of foreground/background startup.
|
package/CHANGELOG.zh.md
ADDED
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
# 更新日志
|
|
2
|
+
|
|
3
|
+
本文件记录项目的所有重要变更。
|
|
4
|
+
|
|
5
|
+
格式参考 [Keep a Changelog](https://keepachangelog.com/)。
|
|
6
|
+
|
|
7
|
+
## [1.6.4] - 2026-03-20
|
|
8
|
+
|
|
9
|
+
### 新增
|
|
10
|
+
|
|
11
|
+
- **一键热更新指令 `/bot-upgrade`**:在私聊中直接完成版本升级,无需登录服务器。支持 `--latest`(升级到最新)、`--version X`(指定版本)、`--force`(强制重装)参数。升级前自动校验版本是否存在于 npm。
|
|
12
|
+
- **频道 API 代理工具 `qqbot_channel_api`**:AI 可直接调用 QQ 开放平台频道 HTTP 接口,自动 Token 鉴权,内置 SSRF 防护。支持频道/子频道管理、成员查询、论坛发帖、公告发布、日程管理等操作。
|
|
13
|
+
- **凭证备份保护**:新增 `credential-backup.ts` 模块,热更新前自动备份 `appId`/`clientSecret` 到独立文件。`isConfigured` 增加备份兜底检查——配置丢失但备份存在时仍可启动并自动恢复凭证。
|
|
14
|
+
- **指令用法查询**:所有斜杠指令支持 `?` 后缀查看详细用法(如 `/bot-upgrade ?`)。
|
|
15
|
+
|
|
16
|
+
### 变更
|
|
17
|
+
|
|
18
|
+
- **版本检查改为实时查询**:`getUpdateInfo()` 从同步缓存改为 `async` 实时请求 npm registry,每次调用 `/bot-version` 或 `/bot-upgrade` 都拿最新数据。
|
|
19
|
+
- **`/bot-logs` 支持多日志源聚合**:超长日志自动截断并附带说明。
|
|
20
|
+
|
|
21
|
+
### 改进
|
|
22
|
+
|
|
23
|
+
- **`switchPluginSourceToNpm` 写后校验**:写回 `openclaw.json` 前验证 `channels.qqbot` 数据未被破坏,防止竞态写入导致凭证丢失。
|
|
24
|
+
- **升级脚本增加凭证备份逻辑**:`upgrade-via-npm.sh` 和 `upgrade-via-source.sh` 升级前自动保存凭证快照。
|
|
25
|
+
|
|
26
|
+
## [1.6.3] - 2026-03-18
|
|
27
|
+
|
|
28
|
+
### 变更
|
|
29
|
+
|
|
30
|
+
- **版本检查改用 HTTPS 原生请求 + 多 registry 兜底**:使用 HTTPS 直接请求 npm registry API 替代 `npm view` CLI 调用;支持 npmjs.org → npmmirror.com 自动降级,解决国内网络环境下版本检查失败的问题。
|
|
31
|
+
- **升级脚本多 registry 兜底**:`upgrade-via-npm.sh` 现在依次尝试 npmjs.org → npmmirror.com → 默认 registry,提升受限网络下的升级可靠性。
|
|
32
|
+
|
|
33
|
+
## [1.6.2] - 2026-03-18
|
|
34
|
+
|
|
35
|
+
### 变更
|
|
36
|
+
|
|
37
|
+
- **Markdown 感知文本分块**:使用 SDK 内置 `chunkMarkdownText` 替代自定义分块函数,支持代码块自动关闭/重开、括号感知等。
|
|
38
|
+
- **启用块流式(blockStreaming)**:设置 `blockStreaming: true`,框架收集流式响应后通过 `deliver` 回调统一发送。
|
|
39
|
+
- **降低文本分块上限**:`textChunkLimit` 从 20000 调整为 5000,提升消息可读性。
|
|
40
|
+
- **静默媒体发送错误**:图片/语音/视频/文件发送失败时仅写日志,不再向用户展示错误提示。
|
|
41
|
+
|
|
42
|
+
### 改进
|
|
43
|
+
|
|
44
|
+
- **引用内容不再截断**:移除存储引用消息时的 `MAX_CONTENT_LENGTH` 截断,保留完整消息原文。
|
|
45
|
+
|
|
46
|
+
### 移除
|
|
47
|
+
|
|
48
|
+
- 移除 `user-messages.ts` 中的 `MSG` 常量和 `formatMediaErrorMessage` 函数——插件层不再生成面向用户的错误提示。
|
|
49
|
+
|
|
50
|
+
## [1.6.1] - 2026-03-18
|
|
51
|
+
|
|
52
|
+
### 改进
|
|
53
|
+
|
|
54
|
+
- **升级脚本自动重启**:`upgrade-via-npm.sh` 升级完成后自动重启网关,使新版本立即生效。
|
|
55
|
+
- **提高文本分块上限**:`textChunkLimit` 从 2000 提升至 20000,允许更长的消息不被拆分发送。
|
|
56
|
+
- **移除主动推送更新通知**:不再在检测到新版本时主动推送通知给管理员,版本信息仅通过 `/bot-version` 和 `/bot-upgrade` 指令被动查询,减少消息打扰。
|
|
57
|
+
|
|
58
|
+
### 移除
|
|
59
|
+
|
|
60
|
+
- 移除 `update-checker.ts` 中的 `onUpdateFound` 回调和 `formatUpdateNotice` 辅助函数(主动推送移除后不再需要)。
|
|
61
|
+
|
|
62
|
+
## [1.6.0] - 2026-03-16
|
|
63
|
+
|
|
64
|
+
### 新增
|
|
65
|
+
|
|
66
|
+
- **斜杠指令体系**:新增 `/bot-ping`、`/bot-version`、`/bot-help`、`/bot-upgrade`、`/bot-logs` 五个插件级指令。
|
|
67
|
+
- **版本检查**:后台定时检查 npm 最新版本,`/bot-version` 展示更新状态,`/bot-upgrade` 提供升级指引。
|
|
68
|
+
- **启动问候语**:区分首次安装与普通重启,发送不同问候语。
|
|
69
|
+
- **日志下载**:`/bot-logs` 打包最近 2000 行日志发送文件给用户。
|
|
70
|
+
|
|
71
|
+
### 变更
|
|
72
|
+
|
|
73
|
+
- **统一富媒体标签**:将 `<qqimg>`、`<qqvoice>`、`<qqfile>`、`<qqvideo>` 统一为 `<qqmedia>` 标签,系统根据文件扩展名自动识别媒体类型。
|
|
74
|
+
|
|
75
|
+
### 改进
|
|
76
|
+
|
|
77
|
+
- **问候语防抖**:60s 内重复重启不再重复发送问候语(解决升级过程中刷屏问题)。
|
|
78
|
+
- **主动消息 48h 过滤**:发送启动问候前过滤超过 48h 未交互的用户,减少无效 500 错误。
|
|
79
|
+
- **Token 缓存刷新阈值**:从硬编码 5 分钟改为 `min(5min, remaining/3)`,修复短有效期 token 缓存失效导致每分钟重复请求的问题。
|
|
80
|
+
- **精简上下文注入**:优化注入给 OpenClaw 的上下文信息,减少冗余内容,降低 token 消耗。
|
|
81
|
+
|
|
82
|
+
## [1.5.7] - 2026-03-12
|
|
83
|
+
|
|
84
|
+
### 新增
|
|
85
|
+
|
|
86
|
+
- 新增 QQ `REFIDX_*` 引用消息上下文链路:从入站事件解析引用索引,缓存入站/出站消息摘要,并将引用内容注入 agent 上下文。
|
|
87
|
+
- 新增引用索引持久化存储(`~/.openclaw/qqbot/data/ref-index.jsonl`):采用内存缓存 + JSONL 追加写,支持重启恢复、7 天 TTL 淘汰与 compact 压缩。
|
|
88
|
+
- 新增结构化引用附件摘要(图片/语音/视频/文件、local path/url、语音转录来源),提升引用回复语义完整性。
|
|
89
|
+
|
|
90
|
+
### 改进
|
|
91
|
+
|
|
92
|
+
- 机器人回复在可用时自动挂载对当前用户消息的引用,提升 QQ 会话串联可读性。
|
|
93
|
+
|
|
94
|
+
## [1.5.6] - 2026-03-10
|
|
95
|
+
|
|
96
|
+
### 新增
|
|
97
|
+
|
|
98
|
+
- 新增语音输入汇总日志,包含 STT/ASR/fallback 来源计数和 ASR 文本预览,便于调试语音处理链路。
|
|
99
|
+
- 新增 `asr_refer_text` 兜底支持——当 STT 未配置或转写失败时,使用 QQ 平台内置 ASR 文本作为低置信度兜底。
|
|
100
|
+
- 向 agent 上下文传递语音相关元数据(`QQVoiceAsrReferTexts`、`QQVoiceTranscriptSources`、`QQVoiceInputStrategy` 等)。
|
|
101
|
+
- README 新增定时提醒(主动消息)功能说明及演示截图。
|
|
102
|
+
- 统一 `appId` 解析逻辑,同时支持数值和字符串类型(涵盖运行时和主动消息脚本)。
|
|
103
|
+
|
|
104
|
+
### 修复
|
|
105
|
+
|
|
106
|
+
- 修复语音 prompt 提示,区分 STT 已配置/未配置状态,并增加 ASR 兜底和语音转发引导说明。
|
|
107
|
+
|
|
108
|
+
## [1.5.5] - 2026-03-09
|
|
109
|
+
|
|
110
|
+
### 新增
|
|
111
|
+
|
|
112
|
+
- 新增 `npm-upgrade.sh` 脚本,支持通过 npm 包安装和升级插件。
|
|
113
|
+
- 支持 `--tag` 和 `--version` 选项,默认安装 `@alpha`。
|
|
114
|
+
- 自动处理通道配置备份/恢复、旧插件清理(包括 `qqbot`、`@sliverp/qqbot`、`openclaw-qqbot`、"@tencent-connect/openclaw-qqbot" 等历史版本)、网关重启。
|
|
115
|
+
- 安装前临时移除 `channels.qqbot` 配置,避免 `unknown channel id` 校验错误。
|
|
116
|
+
|
|
117
|
+
### 修复
|
|
118
|
+
|
|
119
|
+
- 修复插件 ID 与包名不一致导致插件加载失败的问题。
|
|
120
|
+
- 修复 `normalizeTarget` 返回类型——现在返回结构化的 `{ok, to, error}` 对象。
|
|
121
|
+
- 修复 `pull-latest.sh` 和 `upgrade.sh` 中过时的仓库 URL 引用。
|
|
122
|
+
- 修复 `proactive-api-server.ts` / `send-proactive.ts` 中硬编码的配置文件路径。
|
|
123
|
+
- 修复 `set-markdown.sh` 的 `read` 命令缺少超时参数,在非交互式环境下导致挂起的问题。
|
|
124
|
+
|
|
125
|
+
### 改进
|
|
126
|
+
|
|
127
|
+
- 脚本现已完全兼容多种 CLI(openclaw / clawdbot / moltbot),支持自动检测配置文件路径。
|
|
128
|
+
- `upgrade-and-run.sh` 首次运行时若缺少 AppID/Secret,现在会显示清晰的提示。
|
|
129
|
+
- `upgrade-and-run.sh` 升级前后现在会显示 qqbot 插件版本号。
|
|
130
|
+
|
|
131
|
+
## [1.5.4] - 2026-03-08
|
|
132
|
+
|
|
133
|
+
### 修复
|
|
134
|
+
|
|
135
|
+
- 修复多账户并发模式下的 Token 冲突——将全局 Token 缓存从单一变量重构为按 `appId` 隔离的 `Map`,解决多机器人同时运行时的 `11255 invalid request` 错误。
|
|
136
|
+
- 按实例独立刷新后台 Token——`clearTokenCache()` 和 `stopBackgroundTokenRefresh()` 现在接受 `appId` 参数,实现各账户独立管理。
|
|
137
|
+
- 修复非默认账户使用 `openclaw message send` 发送失败的问题——不指定 `--account` 时 `accountId` 始终回退到 `"default"`,导致向其他机器人的 OpenID 发消息时返回 500 错误。
|
|
138
|
+
|
|
139
|
+
### 新增
|
|
140
|
+
|
|
141
|
+
- 多账户配置文档——在 README 中新增"多账户配置"章节。
|
|
142
|
+
- 增强调试日志——`channel.ts` 中的日志添加 `[qqbot:channel]` 前缀,覆盖账户解析、消息发送和网关启动流程。
|
|
143
|
+
- API 日志前缀——所有 API 请求日志现在包含 `[qqbot-api:${appId}]` 前缀,方便多实例调试。
|
|
144
|
+
|
|
145
|
+
## [1.5.3] - 2026-03-06
|
|
146
|
+
|
|
147
|
+
### 修复
|
|
148
|
+
|
|
149
|
+
- 优化富媒体标签解析逻辑,提高识别成功率。
|
|
150
|
+
- 修复文件编码和特殊路径处理问题导致无法发送文件的问题。
|
|
151
|
+
- 修复消息 seq 号重复导致的间歇性消息丢失问题。
|
|
152
|
+
|
|
153
|
+
### 改进
|
|
154
|
+
|
|
155
|
+
- 升级脚本现在会在升级过程中自动备份和恢复 qqbot 通道配置。
|
|
156
|
+
- 更新 README,添加富媒体使用说明和插件配置/升级教程。
|
|
157
|
+
|
|
158
|
+
## [1.5.2] - 2026-03-05
|
|
159
|
+
|
|
160
|
+
### 新增
|
|
161
|
+
|
|
162
|
+
- 语音/文件发送能力,支持 TTS 文字转语音。
|
|
163
|
+
- 富媒体增强:上传缓存、视频支持、失败自动重试。
|
|
164
|
+
- 默认启用 Markdown 消息格式。
|
|
165
|
+
- 独立升级脚本,支持用户选择前台/后台启动。
|
package/LICENSE
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 sliverp
|
|
4
|
+
Copyright (c) 2026 Tencent Connect
|
|
5
|
+
|
|
6
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
8
|
+
in the Software without restriction, including without limitation the rights
|
|
9
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
10
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
11
|
+
furnished to do so, subject to the following conditions:
|
|
12
|
+
|
|
13
|
+
The above copyright notice and this permission notice shall be included in all
|
|
14
|
+
copies or substantial portions of the Software.
|
|
15
|
+
|
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
17
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
18
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
19
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
20
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
21
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
22
|
+
SOFTWARE.
|