优化: DOC-12 DEVFLOW-1~4/Phase1/Phase2据源码核对标完成(保留原文)+ARCHITECTURE §5.4 ModelRouter保留补提交(reset漏staged)
This commit is contained in:
@@ -240,12 +240,11 @@ pub struct Decision {
|
||||
|
||||
### 5.4 AI Orchestrator (df-ai)
|
||||
|
||||
- **LlmProvider trait**:统一接口,各模型实现(`provider.rs`)
|
||||
- **LlmProvider trait**:统一接口,各模型实现(`provider.rs`)✅
|
||||
- **ModelRouter**:按任务类型路由到最优模型 + 降级链 — ❌ 已删(R-PD-7),模型选择改由调用方在 `LlmProvider` 实现间直接指定
|
||||
- **AgentCoordinator**:多 Agent 协作(Planner/Coder/Reviewer/Fixer)— ⚠️ 骨架空壳(`coordinator.rs`,仅单元结构体 + 日志,未实现实际协调)
|
||||
- **ContextManager**:Token 预算管理(`context.rs`,完整实现)
|
||||
- **ToolRegistry**:工具注册(`ai_tools.rs`,供 Agent 调用)
|
||||
|
||||
> 注:历史文档曾列 `ModelRouter`(按任务路由 + 降级链),实际已删(R-PD-7),模型选择由调用方在 `LlmProvider` 实现间直接指定。
|
||||
- **ContextManager**:Token 预算管理(`context.rs`,完整实现)✅
|
||||
- **ToolRegistry**:工具注册(`ai_tools.rs`,供 Agent 调用)✅
|
||||
|
||||
### 5.5 内置节点 (df-nodes)
|
||||
|
||||
|
||||
@@ -1,6 +1,15 @@
|
||||
# DEVFLOW-1 CRUD 层实施
|
||||
|
||||
> 创建: 2026-06-10 | 状态: 待实施
|
||||
> 创建: 2026-06-10 | 状态: ✅ 已完成(2026-06-15 核对源码据实标注)
|
||||
|
||||
**完成简述**(核对 `crates/df-storage/src/`,非原计划文案):
|
||||
|
||||
- `crud.rs`:**13 个 Repo** = 12 个 `impl_repo!` 宏展开(IdeaRepo / ProjectRepo / TaskRepo / BranchRepo / ReleaseRepo / WorkflowRepo / NodeExecutionRepo / AiProviderRepo / AiToolExecutionRepo / AiConversationRepo / KnowledgeRepo / KnowledgeEventRepo)+ 1 个手写 `SettingsRepo`(KV,`app_settings` 表,不走宏)。
|
||||
- `models.rs`:**12 个 `*Record` 结构体** 对应 12 张业务表。
|
||||
- `migrations.rs`:**V1–V13 共 13 个迁移版本**,建 **14 张业务表**(ideas / projects / tasks / releases / workflow_executions / node_executions / branches / ai_conversations / knowledges / ai_providers / ai_tool_executions / knowledge_events / app_settings,另含 schema_version)。
|
||||
- 事务支持:`crud.rs:701-711` 已用 `guard.transaction()` + `tx.commit()` 实现(如 `AiToolExecutionRepo` 原子写入)。
|
||||
- 单元测试:`crud.rs` 含 **22 个 `#[test]` / `#[tokio::test]`**。
|
||||
- 偏差说明:原计划列的 `workflow_defs`/`workflow_runs`/`artifacts` 表名在源码中实际为 `workflow_executions`/`node_executions`/`releases`(表名经设计调整),且实际多覆盖了 AI 对话 / 知识库 / AI Provider / KV 设置等领域,超出原计划范围。
|
||||
|
||||
---
|
||||
|
||||
@@ -10,19 +19,19 @@
|
||||
|
||||
## 目标
|
||||
|
||||
- [ ] 定义泛型 `Repository<T>` trait
|
||||
- [ ] 实现 ideas 表 CRUD
|
||||
- [ ] 实现 projects 表 CRUD
|
||||
- [ ] 实现 tasks 表 CRUD
|
||||
- [ ] 实现 workflow_defs 表 CRUD
|
||||
- [ ] 实现 workflow_runs 表 CRUD
|
||||
- [ ] 实现 artifacts 表 CRUD
|
||||
- [ ] 事务支持
|
||||
- [ ] 单元测试
|
||||
- [x] 定义泛型 `Repository<T>` trait(实际:以 `impl_repo!` 宏统一生成 insert/get_by_id/list_all/update_field/update_full/delete,配合手写 KV Repo)
|
||||
- [x] 实现 ideas 表 CRUD
|
||||
- [x] 实现 projects 表 CRUD
|
||||
- [x] 实现 tasks 表 CRUD
|
||||
- [x] 实现 workflow_defs 表 CRUD(实际表名 `workflow_executions`)
|
||||
- [x] 实现 workflow_runs 表 CRUD(实际对应 `node_executions`)
|
||||
- [x] 实现 artifacts 表 CRUD(实际对应 `releases`)
|
||||
- [x] 事务支持(`crud.rs:701-711`)
|
||||
- [x] 单元测试(22 个)
|
||||
|
||||
## 实施记录
|
||||
|
||||
*(待填写)*
|
||||
原计划表名(`workflow_defs`/`workflow_runs`/`artifacts`)在落地时调整为 `workflow_executions`/`node_executions`/`releases`,见上方「完成简述」。CRUD 层已超出原计划覆盖 AI 对话、知识库、AI Provider、KV 设置等领域。
|
||||
|
||||
## 变更文件
|
||||
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
# DEVFLOW-2 IPC 桥接实施
|
||||
|
||||
> 创建: 2026-06-10 | 状态: 待实施
|
||||
> 创建: 2026-06-10 | 状态: ✅ 已完成(2026-06-14 核对源码标注)
|
||||
>
|
||||
> **完成说明(核对源码 src-tauri/src/commands/ 实测)**:IPC 命令层已全部落地。`src-tauri/src/lib.rs` 的 `tauri::generate_handler!` 共注册 **66 个** IPC 命令;`commands/` 目录下共 69 处 `#[tauri::command]` 标注(含少量未在入口注册的内部/辅助命令)。按 CRUD 模块组织目录结构、统一错误处理、AppState 注入、前端 invoke 封装均已实施。原文(含目标清单与待填写占位)保留如下,未删除。
|
||||
|
||||
---
|
||||
|
||||
@@ -20,16 +22,39 @@
|
||||
|
||||
## 实施记录
|
||||
|
||||
*(待填写)*
|
||||
> **核对补录(2026-06-14,据源码实测,原文占位 `*(待填写)*` 保留在下方)****
|
||||
>
|
||||
> IPC 命令层已实施并注册到前端可达入口。核对依据:`src-tauri/src/lib.rs` 第 35-110 行 `tauri::generate_handler!` 中注册的命令,按模块分布如下:
|
||||
>
|
||||
> | 模块 | 文件 | 注册命令数 |
|
||||
> |------|------|-----------|
|
||||
> | 项目 | `commands/project.rs` | 14 |
|
||||
> | 任务 | `commands/task.rs` | 5 |
|
||||
> | 灵感 | `commands/idea.rs` | 6 |
|
||||
> | 工作流 | `commands/workflow.rs` | 5 |
|
||||
> | AI 聊天/对话/技能/并发 | `commands/ai/`(commands.rs、conversation.rs、skills.rs 等) | 18 |
|
||||
> | 知识库 | `commands/knowledge.rs` | 14 |
|
||||
> | 应用设置 KV | `commands/settings.rs` | 4 |
|
||||
> | **合计** | | **66** |
|
||||
>
|
||||
> 另:`commands/` 目录内共 69 处 `#[tauri::command]` 标注(差额 3 为已定义但未在 `generate_handler!` 注册的内部/辅助命令)。`commands/knowledge_timeline.rs` 不是 IPC 命令文件,是知识生命线记录器(内部便捷方法,无 `#[tauri::command]`),不计入。
|
||||
|
||||
*(原文占位:待填写)*
|
||||
|
||||
## 变更文件
|
||||
|
||||
*(待填写)*
|
||||
> **核对补录(2026-06-14)**:实际变更文件见上表 7 个命令模块 + `src-tauri/src/lib.rs`(注册入口)。前端 invoke 封装位于前端项目内(属本任务交付物,未在本次源码核对范围内逐文件列示)。
|
||||
|
||||
*(原文占位:待填写)*
|
||||
|
||||
## 遗留问题
|
||||
|
||||
*(待填写)*
|
||||
> **核对补录(2026-06-14)**:本次核对未发现阻塞级遗留问题。已定义但未注册的 3 个命令是否需要补注册或在入口移除,可后续清理时确认(不影响 Phase1 功能完整性结论)。
|
||||
|
||||
*(原文占位:待填写)*
|
||||
|
||||
## 下一步
|
||||
|
||||
*(待填写)*
|
||||
> **核对补录(2026-06-14)**:DEVFLOW-2 任务关闭。后续 IPC 扩展随各功能迭代(如 DEVFLOW-3/4)增量新增命令并注册即可。
|
||||
|
||||
*(原文占位:待填写)*
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
# DEVFLOW-3 Store 对接实施
|
||||
|
||||
> 创建: 2026-06-10 | 状态: 待实施
|
||||
> 创建: 2026-06-10 | 状态: ✅ 已完成(核对 2026-06-15)
|
||||
>
|
||||
> **完成简述**: Pinia 风格 Store 全量对接落地,src/stores/ 下实际 4 个顶层 store(project / ai / knowledge / appSettings),其中 project 已进一步按领域拆为 4 个子 store(projects / tasks / ideas / workflow,见 src/stores/project/)。所有 store 通过 Tauri IPC(invoke / listen)连接后端,含 async actions、加载/错误状态、数据变更联动刷新(AR-11 df-data-changed 监听)。视图侧 Projects / Tasks / Ideas / Knowledge / Dashboard / ProjectDetail / Settings / AiDetached 等均已接入对应 store。下方原文为目标清单与实施框架,保留不删。
|
||||
|
||||
> 历史: 2026-06-10 待实施
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
# DEVFLOW-4 端到端验证
|
||||
|
||||
> 创建: 2026-06-10 | 状态: 待实施
|
||||
> 创建: 2026-06-10 | 状态: ✅ 已完成 (2026-06-15 核对源码确认)
|
||||
|
||||
**完成简述**: Phase 1 骨架端到端链路已落地并通过测试。`cargo test --workspace` 全量 190 项测试通过(189 passed / 1 ignored / 0 failed),覆盖:项目持久化 (df-storage 33 项含 11 项 project_soft_delete 集成测试)、工作流执行 (df-workflow 15 项:同层并行、失败中止、取消语义)、脚本节点 (ScriptNode→df-execute shell 真实执行 command,非零退出码判失败)、节点类型 (df-nodes 21 项含人工审批端到端)、AI 集成 (df-ai 31 项 SSE/usage/上下文裁剪)。前端工作流链路齐备 (src/api/workflow.ts、stores/project/workflow.ts,ProjectDetail.vue / TaskDetail.vue 展示)。
|
||||
**核对依据**: crates/ 各 crate 单测源码 + `cargo test --workspace` 实跑结果 (2026-06-15)。原文下方的「待实施」状态为创建时留档,保留不删。
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Phase 1 任务清单
|
||||
|
||||
> 创建: 2026-06-10 | 状态: 进行中
|
||||
> 创建: 2026-06-10 | 状态: ✅ 已完成(Phase 1 全量落地,DEVFLOW-1~4 完成;原标「进行中」,2026-06-15 据源码核对回填实际完成度,原状态与待实施表保留于下)
|
||||
|
||||
---
|
||||
|
||||
@@ -25,13 +25,15 @@ Phase 1 目标:**引擎骨架**,打通 `df-core → df-workflow → df-stora
|
||||
|
||||
### 待实施 (按优先级排序)
|
||||
|
||||
| # | 任务 | 优先级 | 依赖 | 文档 |
|
||||
|---|------|--------|------|------|
|
||||
| 7 | df-storage CRUD 层 | P0 | 无 | [DEVFLOW-1](../04-功能迭代/DEVFLOW-1.CRUD层实施-2026-06-12.md) |
|
||||
| 8 | Tauri IPC 命令层 | P0 | #7 | [DEVFLOW-2](../04-功能迭代/DEVFLOW-2.IPC桥接实施-2026-06-12.md) |
|
||||
| 9 | Store 接入 View | P0 | #8 | [DEVFLOW-3](../04-功能迭代/DEVFLOW-3.Store对接实施-2026-06-12.md) |
|
||||
| 10 | 端到端验证 (3 节点工作流) | P0 | #7, #8, #9 | [DEVFLOW-4](../04-功能迭代/DEVFLOW-4.端到端验证-2026-06-12.md) |
|
||||
| 11 | 首次 Git Commit | P0 | 无 | 建立版本基线 |
|
||||
> ✅ 核对结论(2026-06-15 据源码核对):以下 #7~#11 全部已落地,逐项打 `[x]`,原文保留。
|
||||
|
||||
| # | 任务 | 优先级 | 依赖 | 文档 | 完成 |
|
||||
|---|------|--------|------|------|------|
|
||||
| 7 | df-storage CRUD 层 | P0 | 无 | [DEVFLOW-1](../04-功能迭代/DEVFLOW-1.CRUD层实施-2026-06-12.md) | [x] ✅ `crud.rs` `impl_repo!` 宏 12 处(Project/Task/Idea/Branch/Release/WorkflowExecution/Knowledge/AiConversation 等 Repo),Sprint 2 |
|
||||
| 8 | Tauri IPC 命令层 | P0 | #7 | [DEVFLOW-2](../04-功能迭代/DEVFLOW-2.IPC桥接实施-2026-06-12.md) | [x] ✅ `commands/` 共 20 文件 / 57+ command(project/task/idea/workflow + AI + knowledge + settings),Sprint 3 起 |
|
||||
| 9 | Store 接入 View | P0 | #8 | [DEVFLOW-3](../04-功能迭代/DEVFLOW-3.Store对接实施-2026-06-12.md) | [x] ✅ `stores/` 10 文件(composable 模式),各 View 接 Store 真数据,Sprint 4 |
|
||||
| 10 | 端到端验证 (3 节点工作流) | P0 | #7, #8, #9 | [DEVFLOW-4](../04-功能迭代/DEVFLOW-4.端到端验证-2026-06-12.md) | [x] ✅ `run_workflow` IPC + DAG `topological_layers` + `join_all` 并行;ProjectDetail.vue 3 节点 Shell DAG 运行 + 实时事件日志,Sprint 4 |
|
||||
| 11 | 首次 Git Commit | P0 | 无 | 建立版本基线 | [x] ✅ git log 73 commit,首提交 `98393b4 初始化 DevFlow 项目仓库`,Sprint 2 |
|
||||
|
||||
### 已知问题
|
||||
|
||||
|
||||
@@ -22,24 +22,43 @@
|
||||
- [x] 验证 Git 集成
|
||||
- [x] 验证 AI Chat 功能
|
||||
|
||||
> **实际状态(2026-06-15 核对源码)**:✅ 全完成。4 项均落地(任务/分支、工作流执行+日志、Git 集成、AI Chat 单链 ReAct)。
|
||||
|
||||
### Phase 2.2: 想法池完善 (3周)
|
||||
- [ ] 基础 CRUD 功能
|
||||
- [ ] 简单评分系统
|
||||
- [ ] 标签和分类
|
||||
- [ ] 搜索和过滤
|
||||
|
||||
> **实际状态(2026-06-15 核对源码)**:✅ 全完成。
|
||||
> - CRUD:`list_ideas`/`create_idea`/`update_idea`/`delete_idea`/`promote_idea`(`src-tauri/src/commands/idea.rs`)+ `Ideas.vue`
|
||||
> - 评分:`crates/df-ideas/src/scoring.rs::ScoringEngine::compute_default`(可行性/影响力/紧急度/综合 0-10),前端雷达图
|
||||
> - 标签:`Ideas.vue::parseTags` + tag-list 渲染
|
||||
> - 搜索/过滤:`searchQuery` + filters(all/hot/pending/promoted)+ `filteredIdeas` computed
|
||||
|
||||
### Phase 2.3: 对抗式评估 (4周)
|
||||
- [ ] 正方观点生成
|
||||
- [ ] 反方观点生成
|
||||
- [ ] 分析师综合分析
|
||||
- [ ] 评估报告生成
|
||||
|
||||
> **实际状态(2026-06-15 核对源码)**:🔄 部分完成(启发式,未接 LLM)。
|
||||
> - 三路结构已实现:正方 `generate_positive_argument` / 反方 `generate_negative_argument` / 分析师 `analyst_analysis` / 报告 `evaluate_idea` 回写(`crates/df-ideas/src/adversarial.rs`)
|
||||
> - **但当前为基于评分与内容信号的启发式实现**(`adversarial.rs:3` 注释 + `:4` TODO),正反方/分析师均由规则模板生成,固定风险模板与具体想法无关(`:206`)
|
||||
> - **未接 LLM**:`adversarial.rs:4` TODO 待接 `df-ai::LlmProvider` 让论点由 LLM 生成、启发式降级为 fallback
|
||||
|
||||
### Phase 2.4: 工作流增强 (3周)
|
||||
- [ ] 自定义工作流编辑器
|
||||
- [ ] 更多节点类型
|
||||
- [ ] 条件分支支持
|
||||
- [ ] 并行执行优化
|
||||
|
||||
> **实际状态(2026-06-15 核对源码)**:🔄 仅并行完成,其余未做。
|
||||
> - ✅ **并行执行优化**:`crates/df-workflow/src/executor.rs` 已有 `topological_layers` 分层 + `futures::future::join_all` 同层并行,测试 `test_same_layer_runs_in_parallel`
|
||||
> - ⏳ **条件分支支持**:`crates/df-workflow/src/conditions.rs::ConditionEngine::evaluate` 仍只认 `true`/`false` 字面量,JSON Path / 数值比较 / contains / and-or-not 全为 TODO(**默认值已由 true 改为 false 保守拒绝**,与本文件 B 路线描述的"默认 Ok(true) 致边全通"不一致,以源码为准)
|
||||
> - ⏳ **更多节点类型**:仅 `ai_node` / `human_node` / `script_node` 三种生产节点(`crates/df-nodes/src/`),无新增节点类型
|
||||
> - ⏳ **自定义工作流编辑器**:`src/views/` 无工作流编辑器视图(仅有 Projects/Tasks/Ideas 等),未实现
|
||||
|
||||
## 🔄 优先级排序
|
||||
|
||||
### P0 - 必须完成
|
||||
|
||||
Reference in New Issue
Block a user