Skip to content

Latest commit

 

History

History
54 lines (39 loc) · 6.62 KB

File metadata and controls

54 lines (39 loc) · 6.62 KB

v0.17.0:AI 精修可到达度——策略化提示词 + 笔记级 AI 能力 + 流式会话化

状态:已交付(2026-09-01,代码建设完成) 依据:用户对话——①「AI 精修提示词可选项」(例子具体程度/概念学术通俗/原文保留程度等)②「笔记页编辑模式使用 AI 精修(手写刚需)+ 知识补充并入编辑模式入口」③「精修会话化:跳转 AI 对话、显示所发送提示词、流式返回、完成后回到会话/查看笔记」④观众视角价值体系分析(旋钮设计依据) 设计:spec 2026-09-01([ ] 已归档) · ADR-026 · REQ-245/246/247

一、目标

精修从「固定模板」升级为「用户可到达」:发起时选目标/变化程度(书面 chips + 四档阶梯 + 六旋钮),实时看到提示词怎么变(所见即所发),生成时对话式流式呈现(片级解析流),完成后前后对比可溯源(工作台溯源条)+ 回到会话/查看笔记双入口;AI 能力从会话级扩展到笔记级(手写笔记刚需——编辑态 🤖 AI 统一入口)。

二、交付清单

# 项 说明
1 策略声明 v3 prompts/note_refine.json v3:strategy_dims(6 旋钮)+ ladder_presets(四档)+ intents(五书面 chips + 关键词)+ handwritten 笔记式风格(仅笔记级,采集端零改动)
2 策略层 ai_strategy.rs 纯函数(resolve 回退链/指令拼装/预览组装)+ 测试;L2 标准精修与 v0.16.1 逐字节一致(零变化回归)
3 提示词管线 core + style_system + strategy(策略段落) + few_shot + output_format;ai_refine_prompt_preview(与实发同一 build_system 路径——所见即所发)+ ai_refine_strategy_meta(声明即事实源)
4 任务级覆盖 ai_refine_start(strategy) / ai_note_refine_start(strategy)——全局默认(AiSettings.refine_strategy,serde default 零迁移)+ 任务覆盖;非法值回退默认(防御性铁律)
5 发起 UI RefineLaunchDialog(目标 chips/档位/旋钮 + 提示词只读实时预览 + 复制 + 成本/授权)+ RefineStrategyPicker + 记忆(localStorage 上次选择)
6 笔记级精修 ai_note_refine_estimate/start/apply + ai_note_refine_task.rs——输入=编辑器当前内容直接传参(未保存所见即所修);基线=当前笔记版;采纳防覆盖(笔记已变拒绝);版本链 source=ai-refine 复用;工作台笔记级模式
7 编辑态统一入口 笔记页「🤖 AI」按钮 → NoteAiDialog(AI 精修 / 知识补充——EnrichPanel 九子项内嵌复用);阅读态点击直接进入编辑态(用户裁决);阅读态侧栏独立 EnrichPanel 移除
8 流式会话化 事件通道 "ai:refine-stream"(progress/block_done/slice_failed/done 帧——片完成 validate 后推渲染,中间态永不承诺);对话线程任务卡流式正文(useRefineStream,乱序按片序归集)+ 完成态 [回到会话] [查看笔记] 双入口;任务表语义(成本/审计/重试/轨迹终态)全保留
9 工作台溯源条 档位名 + 非默认旋钮 chips(meta 声明解析——「按什么规则变的」可溯源);完整提示词走轨迹(REQ-230 既有可见性)
10 设置页偏好 AiPreferenceSettings(AiServicePanel 增量小节):默认档位/目标 + 微调 → ai_set_refine_strategy(仅存偏离最小集)
11 协议扩展 唯一改动:image 块前缀白名单化(session-images/ + notes-images/——笔记级配图,向后兼容)

三、REQ 登记

REQ 需求 状态 备注
REQ-245 AI 精修策略层(声明 v3/纯函数/预览/meta/全局默认+任务覆盖) 已实施 协议零改动;L2 零变化回归
REQ-246 笔记级 AI 能力(编辑态 🤖 AI 菜单/传参/手写档案/工作台笔记级/入口迁移) 已实施 手写刚需;采纳防覆盖
REQ-247 精修流式会话化(事件帧/片级解析流/对话卡流式/双入口) 已实施 B+ 档;任务表语义保留

四、测试

  • Rust:策略解析回退链/每档指令/意图匹配/L2 逐字节零变化(golden 快照)+ 流式帧 serde 契约 + 手写档案契约 + 笔记级章节提取;全量 1884/1886 通过(2 例失败为 dev 预存:note_filter 的 session29_live_ui_excluded_from_points/ocr_points_exclude_watermark_junk_and_dupes——本批未触碰 note_filter 任何文件,经 git 工作区核对确认为早于本批的遗留红,另立排查项)
  • 前端:refineStrategy 纯函数 10 测全绿(档位联动/意图/偏离/契约往返);全量 vitest 待跑(构建验证见 CI/本地 tsc)
  • 已验证:cargo test 策略层+笔记级+流式全绿;vitest 新增用例全绿

五、遗留与后续

  • note_filter 预存红 2 例(与本批无关,独立排查:watermark/junk 口径与断言漂移)
  • TaskLaunchDialog(对话页 /refine)接入策略区(当前任务发起走全局默认——对话发起的策略选择留待下一步,架构已通)
  • 「再来一版·更/少干预」未独立成 UI(重生成已接父级管线 + 全局偏好;档位透传下一批)
  • 块级增量 JSON 解析(C 档)留作升级桥(帧格式不变)

六、文件

Rust:ai_strategy.rs(新)+ ai_strategy_tests.rs(新)· ai_note_refine_task.rs + 测试(新)· commands_ai_note_refine.rs + 测试(新)· ai_note_refine.rs(组装管线/适配器)· ai_refine_task.rs(骨架提取/流式帧/共享并发)· ai_refine_protocol.rs(image 白名单)· ai_settings.rs(refine_strategy)· commands_ai_refine.rs(start 参数/meta/preview/双形态)· commands_ai_settings.rs(ai_set_refine_strategy)· lib.rs(mod/注册)· prompts/note_refine.json(v3)

前端:RefineLaunchDialog.tsx · RefineStrategyPicker.tsx · NoteAiDialog.tsx(新)· useRefineStream.ts(新)· utils/refineStrategy.ts + 测试(新)· AiRefineCard.tsx(接入对话框)· RefineWorkbench.tsx(笔记级模式+溯源条)· TaskThreadCard.tsx(流式+双入口)· AiServicePanel.tsx(产出偏好)· NotesPage.tsx(🤖 AI 入口)· NoteEditView.tsx/RichEditorView.tsx(getContent)· ChatPage.tsx(双入口接线)· types/ai.ts(策略契约)

文档:spec 2026-09-01 · ADR-026 · REQ-245~247 登记 · 本版本文档