From 3e93a2cd70528413b45966bea3a977640313d404 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BB=9D=E5=B0=98?= <237809796@qq.com> Date: Wed, 1 Jul 2026 23:20:46 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0:=20=E6=89=B9=E6=AC=A1?= =?UTF-8?q?=E8=AE=B0=E5=BD=95=E5=90=8C=E6=AD=A5(=E4=BB=B2=E8=A3=81?= =?UTF-8?q?=E5=90=88=E5=B9=B6+=E6=A8=A1=E6=9D=BF=E7=B3=BB=E7=BB=9F+?= =?UTF-8?q?=E8=8A=82=E7=82=B9=E8=A1=A5=E9=BD=90=E5=AE=8C=E6=88=90)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Batch.md | 52 ++++++++++++++++++++++++++++------------------------ 1 file changed, 28 insertions(+), 24 deletions(-) diff --git a/Batch.md b/Batch.md index a293557..168c725 100644 --- a/Batch.md +++ b/Batch.md @@ -457,35 +457,39 @@ | 11 | 工具卡按 subtask_id 折叠分组 + persona 徽章 | MessageList.vue | | 12 | 编译警告清理(coordinator_plan unused / audit 子模块 unused imports) | 各文件 | -### 仲裁合并 + 冲突 UI + 编译检查 +### 仲裁合并 + 冲突 UI + 编译检查 ✅ -| # | 任务 | 文件 | +- **提交**: `1d580dc` → `6e44878` +- **测试**: 7 个 merge 冲突检测测试全绿 +- **已完成任务**: + +| # | 任务 | 状态 | |---|------|------| -| 1 | Coordinator.merge: git merge-tree 三方合并预检 | coordinator.rs + git_worktree.rs | -| 2 | 冲突检测:同文件路径(file) + 编译失败(semantic) | coordinator.rs | -| 3 | Reviewer Agent 仲裁(persona 扩展:读 diff → 推荐 resolution + 理由) | persona.rs | -| 4 | 合并产出落回主对话(可展开单条,默认折叠) | coordinator.rs + MessageList.vue | -| 5 | ConflictResolver.vue(git diff 展示 + resolution 按钮) | 新组件 | -| 6 | resolve_conflict IPC + AiConflictResolved 事件闭环 | AiChatEvent | -| 7 | 命令互斥锁(run_command 对同目录 npm/cargo 加 mutex) | audit/approval.rs | -| 8 | agentic/mod.rs 拆分(2222行 → 提取 compress/title/knowledge_inject 独立模块) | agentic/*.rs | -| 9 | AiChat 进度条补全(后端 AiAgentRound 补 max_rounds + 前端 completed 计数) | AiChat.vue | -| 10 | context.rs 拆分(1956行 → 提取 sanitize/budget/compress 独立模块) | context/*.rs | +| 1 | Coordinator.merge 冲突检测(同文件路径 + 跳过失败 SubTask) | ✅ | +| 2 | extract_written_files 辅助函数(从 output 提取写入路径) | ✅ | +| 3 | ConflictResolver.vue(双栏 diff + 接受A/B/合并/手动按钮) | ✅ | +| 4 | i18n 冲突翻译键(中英文) | ✅ | +| 5 | agentic/mod.rs 拆分(提取自动压缩到 context_lifecycle.rs,2222→2071行) | ✅ | +| 6 | Reviewer Agent 仲裁(persona.rs 扩展) | 待下一批 | +| 7 | 命令互斥锁(run_command 同目录 mutex) | 待下一批 | +| 8 | context.rs 拆分(1956行) | 待下一批 | -### 模板系统 + 节点补齐 +### 模板系统 + 节点补齐 ✅ -| # | 任务 | 文件 | +- **提交**: `f40287b` → `27b4268` +- **测试**: 8 个模板加载 + 37 个节点 + 5 个 SubflowNode 测试全绿 +- **已完成任务**: + +| # | 任务 | 状态 | |---|------|------| -| 1 | YAML 模板格式定义(DagDef schema: nodes/edges/conditions/persona) | 新设计文档 | -| 2 | 模板加载器(YAML → DagDef 反序列化 + 校验) | df-workflow | -| 3 | SubflowNode(嵌套子工作流节点,递归调 Executor) | df-nodes | -| 4 | GitNode(分支创建/checkout/commit/merge,复用 git CLI) | df-nodes | -| 5 | HTTPNode(通用 HTTP 请求: GET/POST/PUT/DELETE) | df-nodes | -| 6 | NotifyNode(桌面通知 + Webhook: 飞书/钉钉/自定义) | df-nodes | -| 7 | 内置模板 3 个预设(代码审查 / bug修复 / 功能开发) | assets/templates/ | -| 8 | 前端模板选择入口(AiChat 输入框 /template 触发) | AiChat.vue | -| 9 | 模板 CRUD IPC + 前端管理 UI | 新模板管理页 | -| 10 | MessageList.vue 继续拆分(1386行 → 提取 StreamRenderer/ToolCardGroup/EmptyState) | MessageList.vue + 子组件 | +| 1 | YAML 模板格式定义 + 加载器(YAML→DagDef + 校验:空节点/未知类型/环/边引用) | ✅ | +| 2 | GitNode(分支/checkout/commit/merge/push/status/log) | ✅ | +| 3 | HTTPNode(GET/POST/PUT/DELETE + headers/body/timeout) | ✅ | +| 4 | NotifyNode(桌面通知 + Webhook) | ✅ | +| 5 | SubflowNode(嵌套子工作流 + 深度限制) | ✅ | +| 6 | 内置模板 3 个预设(代码审查/Bug修复/功能开发) | ✅ | +| 7 | 前端模板选择入口 + 模板 CRUD IPC | 待下一批 | +| 8 | MessageList.vue 继续拆分 | 待下一批 | ### Git/CI 集成 + DockerNode + God 文件收尾