状态:已实施(2026-09-04,代码提交 39dd1a7/7126452/028ed55/296e4d1/16c5b31/b1ffb5c;真机验收待执行)。 依据:用户 2026-09-04 反馈 6 点,经逐项现状盘点(三段并行只读审查)与逐项讨论裁决后立项。 排期注:本批抢先占位 v0.19.4(用户反馈插队,同 v0.19.2 先例);REQ-259(本地 embedding)顺延 v0.19.5,REQ-262 备注同步顺延(见 requirements-pool 对应行)。
| # | 反馈项 | 裁决 |
|---|---|---|
| 1a | AI 响应过慢 + AI 任务仿对话未实现 | 丙案:全局 AI 对话面板(应用级右停靠、按需唤起+内容保活、面板内=真实 chat_sessions 线程可在 AI 对话页查管);速度问题并行立项做链路耗时拆解与针对性优化 |
| 1b | 面板交互模型(用户追问两问后定) | ① 面板任务=同源会话,AI 对话页可查可继续;② 唤起=入口按钮/快捷键/手动三通道,隐藏不销毁、后台任务照跑、完成 toast;不常驻占屏 |
| 2 | 笔记页体系挂起相关界面残缺 | 定位=挂体系浮层/弹层(阅读头悬浮弹层群右缘无钳制等边距残缺),本批修复 |
| 3 | 笔记/会话 ID 不再用简单数字 | 经盘点确认真实痛点在 AI 任务域裸数字上屏(6 处);裁决=显示治理 6 处全改语义标识 + notes/sessions 新增不可变日期 uid 基建;数据库数字主键不动(全库字符串化成本/风险核算后否决) |
| 4 | 使用后未及时刷新(AI 精修需切页才见详情) | 通用变更事件总线 + 各页订阅刷新(根治而非单点补丁) |
| 5 | 笔记联合整理(远期) | 思考完毕(四子问题+难度中偏高)→ 登记远期不实施(REQ-280 待评估;可行性依赖 v0.19.5 本地嵌入落地) |
| 6 | AI 精修程度加「自定义」 | 两者都做:新增自定义档(自由文本)+ 修复「标准」语义污染三通道(标准恒纯净) |
| REQ | 需求 | 优先级 | 目标版本 | 状态 |
|---|---|---|---|---|
| REQ-274 | AI 任务对话化·全局对话面板(丙案)+ 全站入口统一「以对话处理」+ 补充采纳断点补齐 | P0 | v0.19.4 | 已立项 |
| REQ-275 | AI 响应速度治理:链路耗时拆解(首 token/流式帧节奏/任务发起前置)→ 针对性优化 | P1 | v0.19.4 | 已立项 |
| REQ-276 | 笔记页「挂体系」浮层/弹层边距残缺修复(含同类阅读头浮层群右缘钳制统查) | P1 | v0.19.4 | 已立项 |
| REQ-277 | AI 任务域裸数字 ID 显示治理(6 处语义化)+ notes/sessions 不可变日期 uid 基建 | P1 | v0.19.4 | 已立项 |
| REQ-278 | 通用变更事件总线(data:* 域级广播)+ 各页订阅活跃态刷新 | P1 | v0.19.4 | 已立项 |
| REQ-279 | 精修程度「自定义」档(自由文本随提示词)+ 标准档恒纯净(污染三通道修复) | P1 | v0.19.4 | 已立项 |
| REQ-280 | 笔记联合整理(相似内容汇总维护有序)——远期登记,本批不实施 | P3 | 后续再议 | 待评估 |
定位:非侵入的跟随工作区,与 ChatPage 同源同数据(不建第二套会话/消息模型)。
┌──────────── 主窗(任意页保持挂载)── 右停靠 560px 面板 ─────────┐
│ ┌ AI 任务对话 ───────┐ │
│ 编辑器/列表原样 │ 线程:来源笔记《…》 │ │
│(上下文不丢,关闭=隐藏非销毁) │ 🧑 提示词全文(策略摘要)│ │
│ 🤖 [以对话处理](各入口同钮) │ 🤖 片级流式正文… │ │
│ │ [采纳][查看来源][追问] │ │
│ └──────────────────────┘ │
└───────────────────────────────────────────────────────────────────────────┘- 唤起三通道:① 任意 AI 任务入口的「以对话处理」(笔记编辑态 🤖 AI、会话精修、知识补充、任务中心重试、选中文本等)→ 自动开面板并新建/复用线程;② 全局快捷键(拟定 Ctrl+Shift+A);③ 手动呼出回看/继续旧线程
- 内容保活:面板关闭 = 隐藏不销毁;进行中的任务照跑,完成时面板未开 → toast 通知 + 任务落入 ChatPage 会话列表可查可继续(回答用户 Q1:面板内任务=chat_sessions 真实线程,AI 对话页天然可见可查,ChatPage 维持全屏管理视图:会话 CRUD/模型切换/任务段/轨迹审计;面板是轻量发起与跟随视图)
- 组件复用:面板内容复用 ChatMessageList/ChatComposer/TaskThreadCard 等既有组件与既有发起协议(ai_refine_* / enrich / chat send),零新 IPC 协议;后续 ChatPage 可收敛为面板全屏态(本批不做)
- 完成操作条按来源渲染:精修=采纳到工作台 / 查看来源(回跳笔记并恢复编辑上下文——记录来源锚点 noteId+编辑器位置)/ 追问(10 分钟窗口沿用)
- 断点补齐:ChatPage 发起的 enrich 无就地采纳、完成卡无「查看笔记」(TaskThreadCard 显式排除)→ 与其它入口同操作条
实施第一步为链路耗时拆解建立基线,再针对性优化,候选手段(拆解后定):
- chat/任务首 token 延迟(Provider 网络/请求组装/检索前置于生成链)
- 流式帧节奏与前端渲染节流(片级解析流帧间隔;既有 1500ms ai_refine_status 轮询与 ai:task-update/ai:refine-stream 双通道的延迟观感)
- 任务发起前置链路(estimate 成本门是否可并行/预取,授权已过时可否跳过)
- 排除项:不换 Provider、不改云端协议、不动 content_gate 授权语义
- 复现面:笔记行/阅读态「挂到体系」浮层(NoteLinkToSystem 悬浮弹层群:色板/归组/挂体系,无右缘钳制)在右缘窗口/窄窗场景下右缘裁切或布局错位
- 修复:浮层右缘钳制(挂起时按可视区域重定位/翻转)+ 边距统一 + 同类阅读头浮层群统查;补窄窗与贴边场景验证
裸号清单(6 处,现行文案 → 目标语义标识):
| 位置 | 现行 | 目标 |
|---|---|---|
| ChatSidebar.tsx:124 / ChatPage.tsx:162 | 来源标题缺失兜底「会话 #N」 | 「会话 · 09-04 09:41」(有标题显标题),来源已删=「(来源已删除)」 |
| TaskConversationView.tsx:82 | 「📌 来源会话 #N」 | 标题/日期语义标签,链接语义不变 |
| AiTaskPanel.tsx:177 | 「任务 #N 结果」 | 「<类型>任务 · <发起时间>」 |
| NotePreviewView.tsx:261 | 「✨ AI 精修版 · 笔记 #N」 | 《笔记标题》/日期 |
| ClassroomRightPane.tsx:93 | 「#N · 来源 · 时间」 | 《笔记标题》/来源会话标签 |
治理原则:裸 #数字 全站绝迹(v0.12.7 治理延续至 AI 任务域);内部机制(DB 外键、命令入参、localStorage 键)保持数字不动。
uid 基建(notes/sessions 两表):
uid TEXT列 + 唯一索引(NULL 兼容,保证存量未回填期可插入);生成 =<kind>-YYYYMMDD-<6位随机>(kind: n/s;示例n-20260904-x7f2k9),应用侧创建时生成,碰撞重试- 迁移:幂等 ensure_column 加列 + 存量一次回填(
UPDATE … WHERE uid IS NULL,重复执行安全);无表重建、无 FK/影子表联动、无前端契约破坏(契约仅增可选 uid 字段) - 性质:不可变、时间可读、跨删除重建稳定;消费端=未来导出元数据/深链/跨设备合并判重/错误日志可辨识;本批仅基建+显示治理,不铺消费端
- Rust:统一轻量 emit 辅助
data:*域事件族——data:notes-changed/data:sessions-changed/data:note-groups-changed/data:goals-changed/data:knowledge-changed/data:ai-tasks-changed;对盘点中零广播写命令模块(笔记 CRUD commands.rs、会话 CRUD commands_session.rs、会话→笔记转化、组/碎片/闪卡/目标/结算/契约/颜色/版本/体系/画布/决策/图文会话、精修采纳落库、AI 对话转笔记等)按域挂载;既有领域事件(ai:task-update、knowledge:links-changed、live:* 等)保留不重复造轮子 - 前端:订阅工具(useDomainRefresh:域集合订阅 + 300ms 防抖 + 路由活跃门控);首批订阅页=NotesPage(notes/note-groups/ai-tasks)、KnowledgePage(knowledge)、SessionsPage(sessions)、GoalPage(goals)、AiTaskPanel/任务中心(ai-tasks)、LearningLibrary(ai-tasks 采纳后建议区/索引角标联动评估)
- 根治场景:AI 任务完成/采纳后发起页即时可见,无需切页
- 新增自定义档:RefineStrategyPicker 档位+「自定义」→ 展开自由文本(自然语言程度描述,如「更口语、多举一个例子」),文本随提示词组装并实时预览(所见即所发,沿 v0.17.0 预览同路径)
- 污染三通道修复(标准恒纯净):
- 换档=替换语义:applyPreset 按档位基准重置(standard 基准=空 dims),不再并集合并残留(refineStrategy.ts:53-55)
- 记忆重审:localStorage 记忆仅当存在「显式非默认调整」时生效;选档位本身不得把残留带入(RefineLaunchDialog.tsx:62-64)
- 偏好派生修复:prefsFromDraft 意图基准不再把全 6 旋钮写进 dimOverrides 且 defaultLadder 置空(refineStrategy.ts:108-122);后端 resolve 遇 preset=standard 且无显式 override → 恒空策略不叠加(ai_strategy.rs:129-137,标准=现状零变化语义回归)
- 四子问题:相似判定(语义向量→依赖 v0.19.5 本地嵌入+RRF;无嵌入退化为关键词相似,质量差距大)/ 汇总产物模型(相似段并出综述笔记 vs 并入目标笔记;来源引用与原文顺序)/ 确认闭环(建议制+diff 预览+版本链可回滚——复用检索建议区与精修工作台同构模式)/ 触发形态(手动发起 vs 定期维护提醒)
- 难度评级:中偏高;性质:学习库有序性维护的远期增值;本批仅登记,v0.19.5 嵌入落地后再评估立项
- REQ-274:面板组件渲染/唤起/保活/隐藏后任务完成通知用例;来源锚点回跳;ChatPage 查管同源断言(同 chat_sessions 行);enrich 断点闭环用例
- REQ-275:耗时基线报告入版本文档(交付时补数据);优化后同场景对比
- REQ-276:挂体系浮层右缘钳制(窄窗/贴边参数化)用例 + 手工复现路径验收
- REQ-277:6 处文案快照更新 + 全库 grep 断言无新裸号;uid 生成纯函数单测(格式/碰撞重试)+ 迁移幂等测试(旧库回填一次/两次等价)
- REQ-278:Rust 写命令 emit 单测(代表路径)+ 前端订阅防抖/活跃门控用例
- REQ-279:换档重置/记忆生效边界/意图基准偏好派生/standard 恒空 四组纯函数回归(table-driven)
- 全量:Rust cargo test(预存 note_filter 2 例除外)+ clippy + vitest + tsc 全绿
- 数据库主键类型不改(保持 INTEGER;字符串化成本核算记录于 2026-09-04 讨论,否决)
- 不建第二套会话/消息模型;不新增云端协议;不动 content_gate/预算语义
- 本地 embedding(REQ-259)与模型下载(REQ-262 余项)随 v0.19.5
- REQ-280 联合整理本批不实施(远期登记)
| REQ | 提交 | 交付要点与 v1 偏差(均为受控决策,非欠账) |
|---|---|---|
| REQ-274 | b1ffb5c | AiConversationDock(常驻保活/双段/任务视图复用 TaskConversationView/会话视图 v1 只读 +「在对话页继续」直达)· 入口=导航按钮 + Ctrl+Shift+A(本地级,全局快捷键后续)· 补充断点=任务视图内「采纳到笔记」(ai_enrich_apply 就地闭环);既有入口跳转语义(v0.16.1 自动跳 ChatPage)保持不动 |
| REQ-275 | 16c5b31 | 帧级批量渲染(rAF 合帧,终态/切会话立即 flush;5 hook 测试);链路基线(首 token/发起前置耗时实测数据)与帧节奏实机观感登记真机验收(本机无法代理测量) |
| REQ-276 | 7126452 | 挂体系浮层右缘钳制(右对齐/内滚动/背板);同类浮层统查结论已注释 |
| REQ-277 | 028ed55 | uid 基建=DB 加列+唯一索引+幂等回填+插入确保(db_uid.rs,7 测试);裸号治理 13 处语义化(entityLabel 工具);IPC 契约可选 uid 字段与消费端(导出/深链/合并判重)延后(无消费方不铺面——零无效契约) |
| REQ-278 | 296e4d1 | notify.rs data:* 五域广播 + 写命令接线(笔记/会话/转化/组/目标/里程碑/体系与节点/规划 apply/AI 采纳)+ useDbRefresh 常驻订阅(防抖合并、unmount 安全);画布/决策写路径未接(写发生在体系页内、本地刷新已覆盖——后续批随需补) |
| REQ-279 | 39dd1a7 | custom 档(JSON 声明第五档+自由文本随提示词+溯源/重生成沿用)+ 标准恒纯净三通道+后端净化(13 Rust + 22 FE 测试) |
| REQ-280 | — | 远期登记(不实施)——四子问题与依赖存档于 §7 |
验证记录:Rust 全量 2069 通过 / 2 预存(TD-30-B)/ 6 ignored;clippy 零新警告;vitest 551/551;tsc 零错误(分批门禁逐提交执行)。
真机验收待办(登记):① REQ-275 链路基线(chat_send 首 token / 精修 estimate+start 前置 / 流式帧观感前后对比)② REQ-274 面板小窗布局与快捷键实际手感、任务完成 toast 联动 ③ REQ-276 挂体系浮层贴边/窄窗场景 ④ REQ-277 全站裸号复扫(git grep #[数字] 类残留人工复核)⑤ REQ-278 跨页刷新链路实测(任务中心采纳→笔记页即时可见)。