From 49c6f3360a25e08dd8cc37b82aae8e68eefce244 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BB=9D=E5=B0=98?= <237809796@qq.com> Date: Mon, 29 Jun 2026 11:14:10 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E:=20=E6=89=B9=E6=AC=A1?= =?UTF-8?q?=E6=8E=A8=E8=BF=9B=E8=AE=B0=E5=BD=95=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Batch.md | 171 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 171 insertions(+) create mode 100644 Batch.md diff --git a/Batch.md b/Batch.md new file mode 100644 index 0000000..38ebc1c --- /dev/null +++ b/Batch.md @@ -0,0 +1,171 @@ +# DevFlow 批次推进记录 + +> 记录每个批次的提交 hash、改动内容和交付价值。 +> 最后更新: 2026-06-29 + +--- + +## Batch 1 — 审批超时后端兜底 + +- **提交**: `b923d70`(后重写为 `9dd5a5a`) +- **内容**: + - 新增 `agentic/approval_timeout.rs`,在审批恢复入口检测超时,超时自动取消并写入审计 + - 待审批记录新增创建时刻字段,用于超时判定 + - 应用启动时从设置恢复超时配置(默认 15 分钟,0 为禁用) + - 新增读写超时配置的接口,设置页可改 + - 与前端共用同一个配置项,保证单一真相源 +- **验证**: cargo check 通过 + +--- + +## Batch 2 — 工具卡片拆分核验 + +- **提交**: `e95a5cd`(后重写为 `45fc493`) +- **内容**: + - 核验发现工具卡片拆分任务实际已完成,文档标记滞后 + - ToolCard.vue 从 1527 行降至 373 行 + - 审批状态机独立为 useToolApproval.ts(220 行) + - 头部逻辑、渲染逻辑、通用工具函数各自独立 + - 大型文件拆分三项全部完成(主聊天组件/命令注册/通用 CRUD) +- **验证**: 文档核验,无代码改动 + +--- + +## Batch 3 — 条件表达式 UI 翻译补齐 + +- **提交**: `e460e8d`(后重写为 `d79c816`) +- **内容**: + - 工作流条件表达式引擎和执行器集成早已完成 + - 前端边条件编辑入口已存在,但翻译缺失(用中文兜底) + - 补齐中英文翻译(工作流结构标题/层标签/空态/边条件编辑器) + - 核验确认条件引擎全部链路均已落地 +- **验证**: vue-tsc 通过 + +--- + +## Batch 4 — 知识提炼切读消息表 + +- **提交**: `6aac7ef`(后重写为 `f57c37e`) +- **内容**: + - 知识提炼是最后一个仍读旧消息 JSON 列的路径 + - 改为优先读消息表,表空时回退旧 JSON(老库兼容) + - 复用既有的记录转消息映射函数,与其他读路径同源 + - 至此消息存储拆分全部完成 +- **验证**: cargo check 通过 + +--- + +## Batch 5 — 关闭已完成待办项 + +- **提交**: `59b7188`(后重写为 `694f24f`) +- **内容**: + - 工具卡片分组标题增强(文件路径摘要展示)已落地 + - 重试持锁问题核验无影响(多会话改造后全局锁已移除) + - 对抗式评估批量命令暂不做(单项已接入,批量无消费方) + - 残留诊断代码已清理(无硬编码绝对路径) + - 工程内路径授权政策确认为白名单制 +- **验证**: 文档核验 + +--- + +## Batch 6 — 应用状态拆分 + 事件分发统一 + 路径授权治本 + +- **提交**: `996f1d9` +- **内容**: + - **状态文件拆分**: 1416 行单文件 → 按职责分模块(授权白名单/知识库配置/并发控制) + - **事件分发器统一**: 5 类生命周期事件纳入主事件联合类型,删除第二监听器,一个事件源一个监听器一个分发器 + - **路径授权去硬编码**: 不再硬塞编译期路径到白名单,工程根授权靠项目绑定目录 + 设置页配置 +- **补丁**: `cc3ef5b` — 修复设置页面崩溃(模块循环依赖导致初始化失败) +- **验证**: cargo check + vue-tsc 通过 + +--- + +## Batch 7 — 小程序配置持久化与心跳闭环 + +- **提交**: `cb7e1fc` +- **内容**: + - **配置持久化**: 运行时配置接入 storage,懒加载恢复,新增重置函数 + - **心跳 pong 闭环**: 中继服务识别小程序心跳 ping 直接回 pong(不经桌面端透传),小程序看门狗据此判活 + - **文档同步**: 关闭条件引擎/streaming per-conv/workspace_root 三项已完成的待决策 +- **验证**: cargo check(devflow + df-relay)通过 + +--- + +## Batch 8 — 消息分页懒加载与事件总线空转优化 + +- **提交**: `3c18dea` +- **内容**: + - **消息分页**: 消息仓库新增分页查询方法(从尾部取最近 N 条,支持游标),切换对话返回最近 50 条 + 游标,新增加载更多接口 + - **事件总线优化**: 发布事件前先检查订阅者数量,无订阅者跳过序列化(消除空转开销) + - **核验关闭**: 对话上下文透明化三项均已落地(目标可见/项目增强预览/完整上下文面板) +- **验证**: cargo check 通过 + +--- + +## Batch 9 — 项目多工程系统(数据层) + +- **提交**: `b72df78` +- **内容**: + - **数据层**: project_modules 表(V34 迁移)+ ProjectModuleRepo 完整 CRUD + - **后端接口**: 工程增删改查 + Git 状态查询(实时跑 git 命令返回分支/改动/提交,10s 超时) + - **创建项目适配**: 新建项目时自动创建一个工程(目录=绑定路径,技术栈=探测结果) + - **AI 工具**: list_project_modules(AI 了解项目工程结构) + - **设计文档**: 新增工程系统设计方案 +- **验证**: cargo check 通过 + +--- + +## Batch 10 — 项目文件浏览器(前端 UI) + +- **提交**: `50aad37` +- **内容**: + - **后端接口**: 文件树查询(列目录 + Git 状态合并 + 噪音过滤 + 路径穿越防御)+ 文件读取(文本/图片/二进制,1MB 上限) + - **文件树组件**: 递归树形展示,懒加载子目录,Git 状态标记(橙=修改/绿=新增/灰=未跟踪) + - **文件预览组件**: 代码文本/图片/二进制三分支,加载状态 + - **主容器**: 工程选择(单工程隐藏)+ 面包屑导航 + 刷新 + - **集成**: 项目详情页新增"文件"Tab + - **国际化**: 中英文同步 +- **验证**: cargo check + vue-tsc 通过 + +--- + +## Batch 11 — Git 只读 AI 工具 + +- **提交**: `7b5b62d` +- **内容**: + - **git_status**(Low 自动执行): 工作区状态结构化(分支 + 改动文件列表 + 状态标记) + - **git_diff**(Low): 改动详情(统计 + patch 截断到 8000 字符防 token 爆) + - **git_log**(Low): 提交历史结构化(哈希/作者/消息/日期) + - 所有 git 命令在工程目录执行,10s 超时,无 Git 仓库返回空状态 +- **验证**: cargo check 通过 + +--- + +## Batch 12 — Git 写操作 AI 工具 + +- **提交**: `0cfea6d` +- **内容**: + - **git_commit**(Medium 审批): 提交工作区改动,提交前检查敏感文件(.env/.key/.pem) + - **git_branch**(Medium 审批): 分支列表/创建/切换 + - **git_merge**(High 审批): 合并分支,自动检测冲突返回冲突文件列表 + - 安全边界: 禁止 push / force / reset --hard +- **验证**: cargo check 通过 + +--- + +## 架构设计文档状态同步 + +- **提交**: `8d18918` +- **内容**: 9 份设计文档状态批量更新(从"待实施"改为"已落地"),1 份归档(规格契约自检被其他机制覆盖) + +--- + +## 提交注释规范重写 + +- **内容**: Batch 1-5 的提交注释经 filter-branch 重写,消除内部代号(Batch/P1/P2/L1/F-09 等),统一为"两字动词 + 冒号"格式(新增/修复/更新) + +--- + +## 未纳入批次的其他会话改动 + +- `src/composables/ai/aiShared.ts` + `src/stores/ai.ts` — 循环依赖修复(Batch 6 补丁 `cc3ef5b` 纳入提交)