diff --git a/docs/todo.md b/docs/todo.md index 6203f2a..85afc0c 100644 --- a/docs/todo.md +++ b/docs/todo.md @@ -523,7 +523,7 @@ > > **与 MCP Server(F-260619-02)无关**:本需求是 DevFlow 应用内部 AI 工具(read_file/write_file 等)的文件系统访问权限升级,不涉及对外 MCP 协议暴露。 -- [ ] **F-260619-03 [P1]** — **AI 工具文件访问动态权限模型:workspace_root 单根 → 动态白名单池 + 运行时申请** +- [x] **F-260619-03 [P1]** ✅ — **AI 工具文件访问动态权限模型**(Phase A 持久白名单 + Phase B 会话临时/弹窗 + Phase C 黑名单 + workspace_root 去固定根完整,CR-09 ✅ + b22e9ae reload 尊重用户 persistent) **核心机制**:当 AI 调用 `read_file` / `write_file` 等文件系统工具时,路径校验从「单一 workspace_root 前缀匹配」升级为「动态白名单池校验 + 未命中则挂起 Agentic Loop 向前端弹窗申请授权」。 @@ -644,12 +644,13 @@ **背景**:AI Chat 对话跑题/抓不住重点。根因(深度分析):系统提示无聚焦 + 意图未接入 loop + 压缩丢重点 + 工具挤占 + 无主题检测。 **设计**:改进方案 Plan agent 规划中(优雅/可靠/易迭代三原则) -**修复分阶段**(每阶段独立可回退): -- **P0** 系统提示聚焦(prompt.rs 加聚焦约束,精炼非堆砌) -- **P0** 意图接入 agentic loop(intent.rs → tool_subset_for 收敛工具,置信度 fallback 全量) -- **P1** 压缩增强(compress prompt 加主题/关键词保留 + 失败兜底关键词非裁剪) -- **P1** 工具结果压缩(context 大结果 >2KB/占比 >40% 压缩成摘要) -- **P2** 主题检测(intent MultiTopic + TrackedMessage.topic 字段 + loop 主题切换标记) +**修复分阶段**(每阶段独立可回退,均 ✅ 完成): +- ✅ **P0** 系统提示聚焦(prompt.rs ## 聚焦准则/## Focus 独立段,102d398) +- ✅ **P0** 意图接入 agentic loop(intent filter_tool_defs 收敛工具 29→5-10 + 三重 fallback,102d398) +- ✅ **P1** 压缩增强(compress prompt 主题锚点 + 失败兜底 extract_keyword_summary,013ce21) +- ✅ **P1** 工具结果压缩(should_summarize/extract_key_info view-only 不改持久化,013ce21) +- ✅ **P2** 主题检测(TrackedMessage.topic + 双高置信保守 + tokenize 2-gram 修复中文锚点,a2db5c7) +- ✅ 苛刻测 38(边界/对抗:全漂移/全停用词/全错误行/2KB 边界/连续主题切换)+ db 基线试验记录文档 -**状态**:📋 待改进方案规划完成 → 逐阶段实施 +**状态**:✅ P0-P2 全完成(合并 de04970 + a2db5c7 + 38 苛刻测 + 试验记录文档)。待重启 dev 实跑验证 LLM 实际响应效果(机制测过 ≠ LLM 行为改善)。