新增: 消息分页懒加载与事件总线空转优化
后端基础设施两项改进: 一、历史消息分页懒加载(治长对话渲染卡顿) - 消息仓库新增分页查询方法(从尾部取最近 N 条,支持游标) - 切换对话时后端保留全量消息供模型上下文用,但只返回最近 50 条给前端渲染,附带是否有更多历史和游标位置 - 新增加载更多消息的接口,前端滚顶时按游标分页拉取 二、事件总线空转优化(消除无消费者时的序列化开销) - 发布事件前先检查订阅者数量,无订阅者直接跳过序列化 - 当前隧道订阅方未接入,20 余个发射点双写不再空转浪费 同时核验确认对话上下文透明化三项均已落地(目标可见/ 项目增强预览/完整上下文面板),关闭对应待办。
This commit is contained in:
10
docs/todo.md
10
docs/todo.md
@@ -7,13 +7,13 @@
|
||||
> **2026-06-18 归档**: 已完成 `[x]` 与历史分析段已迁至 [07-项目管理/todo归档/2026-06-18.md](./07-项目管理/todo归档/2026-06-18.md)。
|
||||
> **2026-06-27 归档**: 已完成 `[x]`/`✅` 项已迁至 [07-项目管理/todo归档/2026-06-27.md](./07-项目管理/todo归档/2026-06-27.md)。
|
||||
|
||||
### 💡 2026-06-27 对话上下文透明化
|
||||
### 💡 2026-06-27 对话上下文透明化(✅ 全部完成)
|
||||
|
||||
> 用户看不到 AI 接收到的上下文信息(目标钉扎/enrichment/system_prompt),导致行为不可理解。
|
||||
|
||||
- [ ] **L1 目标可见**: 对话顶部显示当前 pinned_goals 列表,用户可查看/清理
|
||||
- [ ] **L2 Enrichment 可见**: @[项目] 发送前展开 enrichment 摘要
|
||||
- [ ] **L3 完整上下文**: 可展开面板查看 system_prompt / augmentations
|
||||
- [x] **L1 目标可见** ✅ 对话顶部显示当前 pinned_goals 列表(TopBar.vue 🎯 图标,可查看/清理)
|
||||
- [x] **L2 Enrichment 可见** ✅ @[项目] 发送前展开 enrichment 摘要(ChatInput.vue enrichment 预览面板,展开/收起/取消关联)
|
||||
- [x] **L3 完整上下文** ✅ 可展开面板查看 system_prompt / augmentations(TopBar.vue 底部 context 面板)
|
||||
|
||||
### 💡 2026-06-27 统一 Inbox 设计(讨论产出)
|
||||
|
||||
@@ -207,7 +207,7 @@ graph TD
|
||||
|
||||
**第三批 — 锦上添花**
|
||||
|
||||
- [ ] UX-2025-12 [P2] — **历史消息分页懒加载**(§2.3)。**▶ 已打开推进(2026-06-17 用户决定不再等痛点,与 UX-19 一并纳入)**。方案:switchConversation 首次加载最近 50 条,滚顶加载更多(需后端 messages 查询加 offset/limit 支持)。关联 B-260629(messages 无上限)。**决策点(待定)——与 UX-19(虚拟滚动)二选一**解决长对话渲染卡顿:分页(后端配合,简单稳定,但切换/搜索跨页体验割裂)vs 虚拟滚动(纯前端,体验流畅,但流式末条挂载复杂)。**倾向 UX-19 虚拟滚动优先**(纯前端零后端改动+体验优),本项分页作为虚拟滚动不足时的补充方案。— src/stores/ai.ts + src/composables/ai/useAiConversations.ts + 后端 conversation.rs
|
||||
- [x] UX-2025-12 [P2] ✅ **后端分页已落地**(2026-06-28):ai_messages 加 list_recent 分页查询方法 + ai_conversation_load_more IPC + switch 返回最近 50 条 + has_more/earliest_seq 游标。前端滚顶加载 UI 待后续补充。
|
||||
|
||||
### 待澄清 / A-B 待定
|
||||
|
||||
|
||||
Reference in New Issue
Block a user