43 Commits

Author SHA1 Message Date
Mingkuan
e74be7a3f8 Release/1.7.1 (#247)
* feat: 添加审批功能(Inline Keyboard 按钮交互)

- 新增 approval-handler.ts:监听 Gateway 审批事件,发送带 Inline Keyboard 的审批消息
- api.ts:添加 sendC2CMessageWithInlineKeyboard / sendGroupMessageWithInlineKeyboard
- gateway.ts:处理 Inline Keyboard 按钮回调,注册/注销 approval-handler
- channel.ts:配置 execApprovals(3.28)和 approvals(3.31+)抑制框架 Forwarder 重复通知
- types.ts:添加 InlineKeyboard / KeyboardButton 等 Keyboard 类型定义
- openclaw-plugin-sdk.d.ts:补充 approval-runtime 模块声明

* feat: 增加outbound过滤

* feat: 新增审批相关配置

1. 斜杠指令当遇到报错的时候,支持将文本代理给模型来回复用户

* feat: 新增gateway审批路由注册

* feat: 新增gateway审批路由注册

* feat: 修复低版本发现的问题

1. 3.11版本兼容性处理,动态加载gateway依赖
2. 兼容3.28版本,声明审批功能可用
3. 恢复默认配置的文案修改

* feat: 修复gateway依赖加载失败问题

* feat: update 1.7.1 release
2026-04-03 03:12:30 +08:00
rianli
8c8d30393f fix/upgrade-script-config-cleanup (merge request !27)
Squash merge branch 'fix/upgrade-script-config-cleanup' into 'main'
1. 升级脚本与热更指令稳定性优化 2.升级脚本性能优化 3.提醒功能多账户 Bug 修复
2026-03-30 12:28:03 +00:00
rianli
6eb41cdf0e docs: update CHANGELOG 2026-03-26 19:08:44 +08:00
cxyhhhhh
3a20b01f31 feat: update changelog 2026-03-26 16:46:56 +08:00
rianli
f078f0d2f5 fix: preload.cjs 改为同步 require 加载 ESM,修复框架检测不到 register/activate 的问题
- preload.cjs: 移除异步 import() + Proxy 方案,改用 Node 22 原生 CJS require ESM
- package.json: 添加 postbuild 脚本,build 后自动同步产物到 extensions 目录
- upgrade-via-source.sh: 安装后将 extensions 副本替换为 symlink 指向源码目录
2026-03-25 23:41:08 +08:00
rianli
e06a4ed801 feat: v1.6.5-alpha.7 — openclaw 3.23+ runtime 兼容处理
- gateway: onError/catch 检测 'Unable to resolve plugin runtime module' 错误,给用户发可操作提示
- gateway: 启动时预检 dispatchReply API 是否可用,提前告警
- upgrade-via-npm.sh: 添加 openclaw 版本检测并在 banner 中展示
- bump version to 1.6.5-alpha.7
2026-03-24 18:40:19 +08:00
rianli
097ab73fb6 feat: /bot-upgrade 改为 doc/hot-reload 开关模式 + 升级脚本增强
- /bot-upgrade 新增 upgradeMode 开关: doc(默认)只展示升级指引, hot-reload 保留完整热更新流程
- upgrade-via-npm.sh: 增加 openclaw 3.23+ 配置严格校验兼容(临时移除 channels.qqbot)
- upgrade-via-npm.sh: 增加 postinstall-link-sdk 执行、backup 目录清理、preflight 验证
- upgrade-via-source.sh: 同步 postinstall-link-sdk 和 backup 清理逻辑
2026-03-24 18:05:53 +08:00
rianli
9822eeeff3 fix: 兼容 openclaw 3.23 配置严格校验,install 前临时移除 channels.qqbot
- upgrade-via-npm.sh: install/update 前备份并移除 channels.qqbot,完成后恢复
- 解决 3.23+ 因 qqbot 非内置 channel id 导致 plugins install 校验失败的问题
- bump version to 1.6.5-alpha.4
2026-03-24 14:24:25 +08:00
rianli
a233f8a889 fix: upgrade script runs postinstall to create openclaw SDK symlink
- upgrade-via-npm.sh/ps1: execute postinstall-link-sdk.js after file replacement, with manual fallback
- postinstall-link-sdk.js: support clawdbot/moltbot CLI names, add multiple fallback strategies
- Fix bundled dependency check: replace undici (Node builtin) with silk-wasm
- Bump version to 1.6.5-alpha.2
- Fixes 'Cannot find module openclaw/plugin-sdk' after upgrade
2026-03-24 13:08:46 +08:00
rianli
73bc8d279c feat: drop moltbot/clawdbot legacy support, add postinstall SDK symlink
- Remove clawdbot.plugin.json and moltbot.plugin.json
- Remove clawdbot/moltbot fields from package.json (peerDependencies, files, top-level config)
- Update openclaw.plugin.json entry to ./dist/index.js
- Add scripts/postinstall-link-sdk.js: auto-symlink openclaw package for external plugin SDK resolution
- Add postinstall script to package.json
2026-03-24 12:30:13 +08:00
rianli
6ca6a68b6b chore: bump version to 1.6.5-alpha.1, fix marker dir to use $CMD 2026-03-23 23:08:07 +08:00
rianli
366a4f5ece feat: admin appid isolation & silence non-bot-upgrade greeting
- Add request-context for appId isolation across admin operations
- Silence startup greeting when no upgrade-greeting-target file exists
  (console restart / script upgrade / first install won't send messages)
- Only send upgrade notification when triggered via /bot-upgrade command
- Upgrade scripts improvements for multi-bot support
- Remind tool appId isolation fix
2026-03-23 22:16:38 +08:00
rianli
369d0488ae chore: sync package-lock.json version to 1.6.4 2026-03-22 02:51:19 +08:00
rianli
b298e0d891 feat: upgrade to alpha.44 - use PowerShell + spawn detached for Windows hot-reload, resolve full CLI path from where/which 2026-03-22 01:55:12 +08:00
rianli
e570e33b62 fix: Windows 热更新兼容性修复 + 日志搜索路径扩展
- fix: Windows 上 execFileSync 缺少 shell:true 导致无法执行 .cmd wrapper
- fix: checkUpgradeCompatibility 将版本检测 unknown 和非主流架构降级为警告,不阻断升级
- feat: collectCandidateLogDirs 新增 /tmp 和系统临时目录扫描
- chore: bump version to 1.6.4-alpha.24
2026-03-21 21:49:52 +08:00
rianli
d1623cfd34 fix: use whitelist media dir for downloads & preserve channel credentials on cleanup
- inbound-attachments.ts: getQQBotDataDir('downloads') → getQQBotMediaDir('downloads')
- outbound.ts: url-fallback downloads → getQQBotMediaDir (whitelist safe dir)
- cleanup-legacy-plugins.sh: stop deleting channels.* (preserves appid/secret credentials)
2026-03-21 15:46:15 +08:00
rianli
d5e4243c11 feat: add qqbot_remind tool & rename skill qqbot-cron → qqbot-remind
- Add src/tools/remind.ts: remind tool with time parsing, cron/once job building
- Rename skills/qqbot-cron → skills/qqbot-remind for semantic consistency
- Update all plugin.json refs and gateway.ts skill path
- Fix Chinese quote parse error (use single-quoted string)
2026-03-21 12:41:27 +08:00
rianli
7190bc4b96 release: v1.6.4 — hot upgrade, channel API tool, credential backup, Windows PowerShell support 2026-03-21 01:50:54 +08:00
rianli
d1d8727384 feat: v1.6.4-alpha.12 - 热更新指令、实时版本检查、凭证备份保护
- 新增 /bot-upgrade 指令,支持聊天窗口内一键热更新
- 新增 /bot-logs 日志导出指令,支持多日志源聚合
- 新增 qqbot_channel_api 通用频道 API 代理工具
- getUpdateInfo() 改为异步实时查询 npm registry
- isConfigured 增加 credential-backup 兜底检查,防止凭证丢失后无法恢复
- switchPluginSourceToNpm 增加 channels 写后校验,防止竞态覆盖
- 新增 credential-backup.ts 凭证备份模块
- 升级脚本增加凭证备份保护逻辑
2026-03-20 02:38:00 +08:00
rianli
3893f64c1e Merge remote-tracking branch 'origin/feat/qqchannel_0316' into feat/hot-reload-slash-commands 2026-03-19 20:34:27 +08:00
rianli
66d2e66cb0 chore: bump version to 1.6.3 - Update checker: HTTPS-native with multi-registry fallback - Upgrade script: multi-registry fallback (npmjs → npmmirror → default) - Update CHANGELOG, README, package.json 2026-03-18 15:45:23 +08:00
rianli
0cccbb39fc chore: rename slash command prefix /qqbot- to /bot- 2026-03-18 07:51:20 +08:00
rianli
a73b074a92 feat: v1.6.0 — 斜杠指令体系 + token缓存修复 + 版本更新 2026-03-16 22:57:33 +08:00
rianli
10b935cc78 Merge branch 'pr/v1.6.0' into feat/qqchannel_0316 2026-03-16 11:39:47 +08:00
rianli
841000982b feat(media-tags): support self-closing attribute syntax <qqmedia file="..." />
- Add SELF_CLOSING_TAG_REGEX to normalize self-closing attribute syntax
  (<qqmedia file="path" />) into standard wrapping syntax (<qqmedia>path</qqmedia>)
- Update SKILL.md to explicitly forbid self-closing syntax
- Update gateway.ts system prompt to clarify standard media tag format
2026-03-16 11:35:37 +08:00
louiechen
ad8b9f1234 Merge branch 'feat/qqchannel' into pr/v1.6.0 2026-03-16 11:21:17 +08:00
rianli
2c41a05f8c feat: v1.0.7-alpha.7 - startup greeting, upgrade script improvements, audio-convert fixes 2026-03-13 23:29:56 +08:00
rianli
2089c2e951 fix: remove self dependency to unblock npm publish 2026-03-12 12:47:38 +08:00
rianli
3c9841fb8f chore: bump version to 1.5.7 2026-03-12 12:38:32 +08:00
rianli
a34b3800f1 chore: rename upgrade scripts and sync upgrade docs 2026-03-11 12:07:45 +08:00
ryanlee-gemini
11e4ce4be4 Revert "Feat/voice debug and fixes" 2026-03-11 00:22:00 +08:00
rianli
9503dcb9c5 feat: add voice dispatch diagnostics and audio-convert improvements
- Add console.log diagnostics before/after dispatchReplyWithBufferedBlockDispatcher
- Add dispatch awaiting/resolved/rejected logging in gateway.ts
- Add audio-convert enhancements for voice attachment handling
- Update package dependencies
- Update upgrade-and-run script
2026-03-10 23:18:40 +08:00
rianli
2aae43a16f feat: tool-only fallback display & upgrade restart fix & voice dedup hints
gateway.ts:
- Add tool-only timeout fallback: show raw tool params when only tool
  delivers arrive without block response within 60s
- Simplify user-facing messages with emoji prefixes
- Update voice prompt to prevent duplicate text+voice content

upgrade-and-run.sh:
- Fix restart race: add sleep after plugin install to let auto-restart
  chain settle
- Add WS health check after port ready with auto-retry
- Add backup token recovery and deduplicate token config logic

skills/qqbot-media/SKILL.md:
- Clarify <qqvoice> independence from plugin TTS config
- Add no-duplicate-content guidance

Other: bump plugin versions, update dependencies
2026-03-10 14:02:07 +08:00
rianli
19a1b2081e fix: align package name with plugin manifest, fix normalizeTarget return type
- Revert package name to 'qqbot' to match openclaw.plugin.json manifest id
- Update repository URLs to tencent-connect/openclaw-qqbot
- Fix normalizeTarget to return structured {ok, to, error} object
- Update README repo badges and links
2026-03-09 21:35:53 +08:00
rianli
6b5ff9a537 chore: bump version to 1.5.3 and remove unnecessary sudo check
- version: 1.5.2 → 1.5.3
- upgrade-and-run.sh: remove redundant sudo/root detection
2026-03-06 23:02:08 +08:00
rianli
187de5c23d feat: make pull-latest.sh fully standalone and self-contained
- Remove dependency on script file location (zsh / dirname)
- Auto-locate plugin from ~/.{cli}/extensions/qqbot
- Support fresh install when no plugin found
- Use system tmpdir instead of project-relative tmp
- Fix 5a stage/restore to avoid deleting just-synced files
- Inline --help output (no longer reads zsh)
- Add src/utils/platform.ts and scripts/pull-latest.sh
2026-03-06 22:33:25 +08:00
sliverp
b529f71c7c feat: 增加 SILK 语音转 WAV 功能
新增 silk-wasm 依赖,实现语音附件检测与 SILK/AMR 格式转 WAV,并在网关中集成语音转换处理流程。
2026-02-09 18:25:24 +08:00
sliverp
26827d3e07 feat: 添加QQ表情标签解析功能 2026-02-09 18:10:39 +08:00
sliverp
8ccb231fda chore: 更新版本号至 1.4.1 2026-02-06 16:23:07 +08:00
sliverp
8cc6e034bf chore: 更新版本号至 1.3.14 2026-02-06 12:00:36 +08:00
sliverp
15ea067d8d feat: 添加 CLI 插件管理工具 2026-02-05 17:05:33 +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
sliverp
61cd9536b0 chore: 添加 package-lock.json 文件 2026-01-30 18:53:56 +08:00