重构: aichat 双轨状态机收口 + AiCompressed 事件拆分

- generating bool + CONV_STATE_ENABLED 开关双轨退役,ConvState enum 单一真相源
- can_accept_request 接入 chat 域入口(覆盖 Stopping 竞态,严谨于 is_active)
- AiCompressed 拆 AiManualCompressed/AiAutoCompressed(治自动压缩误触桌面toast+刷新)
- convStates/getConvState 下沉 aiShared.ts 破循环依赖
This commit is contained in:
2026-06-25 03:20:42 +08:00
parent fc705443bd
commit c011f864fd
22 changed files with 526 additions and 428 deletions

View File

@@ -615,7 +615,10 @@ export function handleEvent(event: AiChatEvent): void {
// 上下文分段/压缩中,miniapp 无需特殊处理(状态在桌面端)
break
case 'AiCompressed':
// 治 Task#1:手动/自动两变体都插摘要气泡(miniapp 无独立压缩按钮,
// 两路径都代表"对端发生压缩",插摘要气泡告知用户合理)。
case 'AiManualCompressed':
case 'AiAutoCompressed':
// 压缩完成:在消息首位插入摘要提示
messages.unshift({
id: genId('compressed'),