Commit a433677
committed
feat(qqbot): C2C 正在输入心跳续发,每 5s 重发防止气泡中途消失
- 收到 C2C 消息后,启动 setInterval 每 5 秒重发一次 sendC2CInputNotify
- 在 deliver 回调触发时(即实际回复前)立即清除 interval
- 不影响群聊场景,仅对 event.type === 'c2c' 生效
## 用户体验改善
QQ 客户端在以下情况会重置正在输入气泡:
1. 用户打开聊天界面
2. 系统切换前后台
原版只发送一次 InputNotify(inputSeconds=60),在上述情况下气泡会立即消失,
用户看不到 AI 正在处理的反馈,体验等同于无提示等待。
通过每 5 秒续发,气泡最多消失 5 秒便会重新出现,
对于处理耗时较长的消息(调用工具、生成语音等),用户始终能感知 AI 正在工作。
## 技术细节
- 使用 setInterval 异步续发,不阻塞主处理流程
- 续发失败时静默忽略(非关键路径)
- 每次处理完成后通过 clearInterval 立即停止,不产生多余 API 调用1 parent e6276d6 commit a433677
1 file changed
+14
-0
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1258 | 1258 | | |
1259 | 1259 | | |
1260 | 1260 | | |
| 1261 | + | |
| 1262 | + | |
| 1263 | + | |
| 1264 | + | |
| 1265 | + | |
| 1266 | + | |
| 1267 | + | |
| 1268 | + | |
| 1269 | + | |
| 1270 | + | |
| 1271 | + | |
| 1272 | + | |
| 1273 | + | |
| 1274 | + | |
1261 | 1275 | | |
1262 | 1276 | | |
1263 | 1277 | | |
| |||
0 commit comments