新增: 文档(任务推进链实施路径+任务模块分析+审查报告+patch_file指南)
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
# DevFlow 业务系统设计
|
||||
|
||||
> 创建: 2026-06-10 | 状态: 设计中 | 基于: 功能审查结论
|
||||
> 创建: 2026-06-10 | 状态: 设计中 | 最后重写: 2026-06-15 (DOC-01 硬伤修复)
|
||||
>
|
||||
> **本文档为 ARCHITECTURE.md 的实质载体**(项目无独立 ARCHITECTURE.md 文件)。所有数据模型、设计决策均以源码为基准,已剔除虚构内容。
|
||||
|
||||
---
|
||||
|
||||
@@ -8,9 +10,9 @@
|
||||
|
||||
| 维度 | 定义 |
|
||||
|------|------|
|
||||
| **一句话** | AI 原生的产研操作系统,从想法到上线的全流程编排 |
|
||||
| **目标用户** | 个人开发者优先,后续扩展到小团队 |
|
||||
| **核心价值** | 全流程编排 — 想法池 → 项目 → 任务 → 工作流 → 发布,AI 贯穿每个环节 |
|
||||
| **一句话** | AI 原生的个人开发流程驾驶舱,从想法到任务到工作流的本地工具 |
|
||||
| **目标用户** | 个人开发者 |
|
||||
| **核心价值** | 想法池 → 项目 → 任务 → 工作流(DAG),AI 贯穿每个环节 |
|
||||
| **差异化** | 想法第一公民 + AI 全程参与 + 本地优先(零运维) |
|
||||
|
||||
---
|
||||
@@ -20,240 +22,176 @@
|
||||
### 2.1 核心旅程
|
||||
|
||||
```
|
||||
💡 想法池 📂 项目 🔀 任务 🚀 发布
|
||||
─────────────────────────────────────────────────────────────────────────────────────
|
||||
捕捉想法 ──→ AI评估评分 ──→ 晋升立项 ──→ 创建任务 ──→ 绑定分支 ──→ 执行工作流 ──→ 合并发布
|
||||
│ │ │ │ │
|
||||
└── 淘汰/归档 └── 多任务 └── DAG └── AI辅助 └── 自动化
|
||||
并行推进 自动执行 冲突解决 发布流程
|
||||
想法池 项目 任务 工作流
|
||||
────────────────────────────────────────────────────────────────────────────
|
||||
捕捉想法 → 评估评分 → 晋升立项 → 创建任务 → 绑定分支 → 执行 DAG 工作流
|
||||
│ │ │ │
|
||||
└── 淘汰/归档 └── 多任务 └── 自动执行 └── Script/Ai/Human
|
||||
```
|
||||
|
||||
### 2.2 五个阶段详细设计
|
||||
### 2.2 四个阶段详细设计
|
||||
|
||||
#### 阶段一:💡 想法池 (Idea Pool)
|
||||
#### 阶段一:想法池 (Idea Pool)
|
||||
|
||||
**用户场景**:开发者日常产生大量想法(看到新技术、遇到痛点、产生产品灵感),需要一个地方快速捕捉、评估、筛选。
|
||||
**用户场景**:快速捕捉想法、评估、筛选。
|
||||
|
||||
| 操作 | 描述 | AI 参与 |
|
||||
|------|------|---------|
|
||||
| **捕捉** | 文本输入、快捷键快速记录、剪贴板导入 | 无 |
|
||||
| **评估** | AI 分析可行性、市场潜力、技术难度 | ⭐ 核心场景:LLM 评估报告 |
|
||||
| **评分** | 多维打分 (可行性/影响力/紧迫性) | AI 给出建议分 |
|
||||
| **关联** | 相似想法自动发现,可合并 | AI 语义相似度 |
|
||||
| **捕捉** | 文本输入 | 无 |
|
||||
| **评估** | 启发式评分(可行性/影响力/紧迫性) | 当前固定算法,Phase 2 接 LLM |
|
||||
| **晋升** | 高分想法晋升为项目 | AI 生成项目初始化建议 |
|
||||
| **淘汰** | 低分想法归档或删除 | 无 |
|
||||
|
||||
**状态机**:
|
||||
**状态机**(对齐 `IdeaStatus` 枚举):
|
||||
```
|
||||
Draft → Evaluating → Scored → Approved → Promoted
|
||||
→ Rejected → Archived
|
||||
draft → pending_review → approved → promoted(正向)
|
||||
→ rejected → archived(淘汰)
|
||||
```
|
||||
|
||||
**关键问题**:
|
||||
- ✅ 想法是独立于项目的第一公民,不需要先有项目
|
||||
- ✅ AI 评估是核心差异化功能
|
||||
- ⚠️ 评分维度需要与实际对齐(当前有3套不同的维度定义)
|
||||
|
||||
#### 阶段二:📂 项目 (Project)
|
||||
|
||||
**用户场景**:从想法晋升或手动创建项目,管理项目全生命周期。
|
||||
#### 阶段二:项目 (Project)
|
||||
|
||||
| 操作 | 描述 | AI 参与 |
|
||||
|------|------|---------|
|
||||
| **创建** | 从想法晋升 或 手动创建 | AI 生成项目描述/技术栈建议 |
|
||||
| **阶段管理** | 5阶段管线:想法→需求→编码→测试→发布 | 阶段推进时 AI 检查前置条件 |
|
||||
| **上下文** | 项目代码结构、依赖、规范 | AI 自动分析项目结构 |
|
||||
| **暂停/恢复** | 项目可暂停后恢复 | 无 |
|
||||
| **创建** | 从想法晋升 或 手动创建 | AI 生成描述/技术栈建议 |
|
||||
| **绑定目录** | 关联本地代码目录(自动探测技术栈) | 无 |
|
||||
| **软删/恢复** | 回收站机制(deleted_at) | 无 |
|
||||
|
||||
**状态机**:
|
||||
**状态机**(对齐 `ProjectStatus` 枚举):
|
||||
```
|
||||
Planning → InProgress → Testing → Releasing → Completed
|
||||
→ Paused → InProgress (恢复)
|
||||
→ Cancelled
|
||||
planning → in_progress → testing → releasing → completed
|
||||
→ paused → in_progress(恢复)
|
||||
→ cancelled
|
||||
```
|
||||
|
||||
**阶段管线**(current_stage,独立于 status):
|
||||
```
|
||||
Idea → Requirement → Coding → Testing → Release
|
||||
```
|
||||
|
||||
**关键问题**:
|
||||
- ⚠️ 当前 `status`(项目生命周期)和 `current_stage`(当前阶段)是两个维度,前端混用了
|
||||
- ⚠️ 数据库 projects 表缺少 `current_stage`、`repo_path`、`priority`、`tags` 字段
|
||||
|
||||
#### 阶段三:🔀 任务 (Task)
|
||||
|
||||
**用户场景**:项目内创建多个并行任务,每个任务绑定一个 Git 分支,独立工作流。
|
||||
#### 阶段三:任务 (Task)
|
||||
|
||||
| 操作 | 描述 | AI 参与 |
|
||||
|------|------|---------|
|
||||
| **创建任务** | 标题+描述,自动创建分支 | AI 从需求拆解任务 |
|
||||
| **绑定分支** | 每个任务一个独立分支 | 自动生成分支名 |
|
||||
| **执行工作流** | 触发 DAG 工作流(编码→测试→审查) | AI 参与每个节点 |
|
||||
| **审查** | 代码审查、质量检查 | AI 自动审查 |
|
||||
| **合并** | 合并到主分支,冲突解决 | AI 辅助冲突解决 |
|
||||
| **创建任务** | 标题+描述 | AI 从需求拆解任务 |
|
||||
| **执行工作流** | 触发 DAG 工作流 | AI 参与每个 Ai 节点 |
|
||||
|
||||
**状态机**:
|
||||
**状态机**(对齐 `TaskStatus` 枚举,7 态):
|
||||
```
|
||||
Todo → InProgress → InReview → Testing → Done
|
||||
→ Blocked → InProgress (解除阻塞)
|
||||
→ Cancelled
|
||||
todo → in_progress → in_review → testing → done
|
||||
→ blocked → in_progress(解除阻塞)
|
||||
→ cancelled
|
||||
```
|
||||
|
||||
**关键问题**:
|
||||
- ⚠️ 缺少 `branches` 表,分支信息无法持久化
|
||||
- ⚠️ 任务到工作流的关联 (`workflow_def_id`) 缺失
|
||||
- ⚠️ 前端 TaskStatus 有 4 套不同的值
|
||||
#### 阶段四:工作流 (Workflow)
|
||||
|
||||
#### 阶段四:⚙️ 工作流 (Workflow)
|
||||
**实际内置 3 种节点类型**(均在 `crates/df-nodes/src/` 完整实现):
|
||||
|
||||
**用户场景**:DAG 驱动的工作流自动执行,支持条件分支、并行、人工审批。
|
||||
| 节点 | 文件 | 作用 | 阻塞 |
|
||||
|------|------|------|------|
|
||||
| **Script** | `script_node.rs` | Shell 命令执行(经 `df-execute::shell`) | 否 |
|
||||
| **Ai** | `ai_node.rs` | LLM 文本生成/分析(非流式 complete) | 否 |
|
||||
| **Human** | `human_node.rs` | 人工审批/确认(单选/多选) | 是 |
|
||||
|
||||
| 组件 | 描述 |
|
||||
|------|------|
|
||||
| **DAG 定义** | 可序列化的节点+边定义,持久化到 SQLite |
|
||||
| **节点类型** | Script / AI / Docker / Git / HTTP / Human / Notify / Subflow |
|
||||
| **执行器** | 按拓扑层并行执行,支持暂停/恢复 |
|
||||
| **事件总线** | 实时推送节点状态到前端 |
|
||||
| **NodeRegistry** | 根据类型字符串动态创建节点实例 |
|
||||
> 不存在 Condition / Parallel / Docker / Git / Notify / HTTP / Subflow 节点。
|
||||
> 条件分支由工作流引擎层处理(条件表达式引擎见 `条件表达式引擎-2026-06-15.md`)。
|
||||
|
||||
**工作流执行生命周期**:
|
||||
```
|
||||
Pending → Running → Completed
|
||||
→ Paused → Running (恢复)
|
||||
→ Failed → Running (重试)
|
||||
→ Cancelled
|
||||
pending → running → completed
|
||||
→ paused → running(恢复)
|
||||
→ failed → running(重试)
|
||||
→ cancelled
|
||||
```
|
||||
|
||||
**关键问题**:
|
||||
- ✅ DAG 拓扑排序算法正确
|
||||
- ✅ DagDef/NodeRegistry 已实现
|
||||
- ⚠️ Executor 同层节点尚未并行化
|
||||
- ⚠️ 条件分支引擎未实现
|
||||
- ⚠️ HumanNode(人工审批)暂停/恢复未连通
|
||||
|
||||
#### 阶段五:🚀 发布 (Release)
|
||||
|
||||
**用户场景**:选择多个已完成任务,编排发布流程。
|
||||
|
||||
| 操作 | 描述 | AI 参与 |
|
||||
|------|------|---------|
|
||||
| **选择任务** | 选择要发布的 Done 状态任务 | 无 |
|
||||
| **创建发布** | 合并分支到 release 分支 | AI 生成 changelog |
|
||||
| **集成测试** | 运行完整测试工作流 | 自动 |
|
||||
| **发布** | 部署 + 健康检查 | 自动 |
|
||||
| **回滚** | 发布失败回滚 | AI 分析失败原因 |
|
||||
|
||||
**状态机**:
|
||||
```
|
||||
Planning → Integrating → Testing → Ready → Published
|
||||
→ RolledBack
|
||||
→ Cancelled
|
||||
```
|
||||
|
||||
**关键问题**:
|
||||
- ⚠️ 前端完全缺少发布入口
|
||||
- ⚠️ releases 表缺少 `branch_name`、`workflow_def_id`
|
||||
|
||||
---
|
||||
|
||||
## 三、跨领域功能设计
|
||||
## 三、跨领域功能设计(已实现)
|
||||
|
||||
### 3.1 标注系统 (Annotation)
|
||||
### 3.1 知识库 (Knowledge)
|
||||
|
||||
**设计理念**:任何内容(代码/文档/需求/测试报告)都可插入标注,统一收集后交给 AI 批量处理。
|
||||
|
||||
| 标记 | 含义 | AI 处理方式 |
|
||||
|------|------|-----------|
|
||||
| FIXME | 需要修复 | AI 定位问题并生成修复建议 |
|
||||
| TODO | 待办 | AI 拆解为任务 |
|
||||
| QUESTION | 疑问 | AI 尝试回答 |
|
||||
| RISK | 风险 | AI 评估风险等级 |
|
||||
| DECISION | 决策 | 自动记录到决策日志 |
|
||||
| OPTIMIZE | 优化 | AI 给出优化方案 |
|
||||
|
||||
**批量处理流程**:
|
||||
```
|
||||
收集所有 Open 标注 → 按类型分组 → AI 逐条处理 → 标记为 Resolved
|
||||
```
|
||||
|
||||
### 3.2 决策留痕 (Decision Journal)
|
||||
|
||||
**设计理念**:所有关键决策自动或半自动记录,全程可追溯。
|
||||
|
||||
**自动记录的决策场景**:
|
||||
- 想法评估结果(为什么批准/拒绝)
|
||||
- 功能标记为"不做"时(为什么不做)
|
||||
- AI 选择了方案 A 而非方案 B 时
|
||||
- 代码审查中发现风险时的处理决策
|
||||
- 发布前的检查点决策
|
||||
|
||||
### 3.3 经验进化 (Evolution)
|
||||
|
||||
**设计理念**:开发过程自动沉淀知识,越用越聪明。
|
||||
Tier1 AI 提炼:从 AI 对话中自动提炼候选经验条目,附带 reasoning 判断依据。
|
||||
|
||||
| 知识类型 | 来源 | 复用场景 |
|
||||
|---------|------|---------|
|
||||
| 审查规则 | 代码审查结论 | 后续审查自动应用 |
|
||||
| 审查规则 | 代码审查结论 | 后续审查参考 |
|
||||
| Prompt 模板 | 成功的 AI 对话 | 类似场景复用 |
|
||||
| 踩坑经验 | 错误修复过程 | 遇到类似问题时提醒 |
|
||||
| 架构模式 | 项目结构分析 | 新项目初始化建议 |
|
||||
| 踩坑经验 | 错误修复过程 | 类似问题提醒 |
|
||||
|
||||
### 3.4 AI 编排
|
||||
**生命线**:candidate → pending_review → published → archived,带 reuse_count / verified 信号。
|
||||
|
||||
**多模型策略**:
|
||||
```
|
||||
任务类型 → ModelRouter → 最优模型
|
||||
代码生成 → Claude/GPT-4
|
||||
代码审查 → Claude (长上下文)
|
||||
文档生成 → GLM/DeepSeek (性价比)
|
||||
快速问答 → DeepSeek (低成本)
|
||||
```
|
||||
### 3.2 AI 多 Provider
|
||||
|
||||
**Agent 协作模式**(Phase 2+):
|
||||
```
|
||||
Planner Agent → 拆解任务
|
||||
Coder Agent → 编码实现
|
||||
Reviewer Agent → 代码审查
|
||||
Fixer Agent → 修复问题
|
||||
```
|
||||
支持配置多个 AI 提供商(OpenAI 兼容 / GLM / DeepSeek / Anthropic 原生协议),可在设置中管理并指定默认。
|
||||
|
||||
详见 [df-ai AI集成模块](../03-模块文档/df-ai-AI集成模块-2026-06-12.md)。
|
||||
|
||||
### 3.3 EventBus 事件总线
|
||||
|
||||
进程内 `tokio::sync::broadcast` 发布/订阅,前端经 `@tauri-apps/api/event` 的 emit/listen 接收。**不是 WebSocket**。
|
||||
|
||||
---
|
||||
|
||||
## 四、数据模型设计(按阶段)
|
||||
## ~~三、跨领域功能设计(已废弃规划)~~
|
||||
|
||||
### Phase 1 最小表集(当前 + 补全)
|
||||
> 以下章节曾详述标注系统、决策留痕、经验进化、AI 编排(ModelRouter/Agent 协作)等设计。
|
||||
> 这些功能**从未实现**,对应表(annotations/decisions/features/test_cases)也从未建表。
|
||||
> 保留此节仅作历史存档参考,读者应视为"规划意图"而非"现有能力"。
|
||||
|
||||
| 表 | 用途 | 状态 |
|
||||
|----|------|------|
|
||||
| ideas | 想法池 | ✅ 已有,需补字段 |
|
||||
| projects | 项目管理 | ✅ 已有,需补字段 |
|
||||
| tasks | 任务管理 | ✅ 已有,需补字段 |
|
||||
| releases | 发布管理 | ✅ 已有,需补字段 |
|
||||
| workflow_defs | 工作流定义 | ❌ 缺失 |
|
||||
| workflow_executions | 工作流执行 | ✅ 已有,需补字段 |
|
||||
| node_executions | 节点执行记录 | ✅ 已有 |
|
||||
| branches | 分支管理 | ❌ 缺失 |
|
||||
### ~~3.1 标注系统 (Annotation)~~ — ❌ 未实现
|
||||
|
||||
### Phase 2 扩展表
|
||||
### ~~3.2 决策留痕 (Decision Journal)~~ — ❌ 未实现
|
||||
|
||||
| 表 | 用途 |
|
||||
|----|------|
|
||||
| ai_providers | AI 模型配置 |
|
||||
| connections | 连接配置 |
|
||||
| artifacts | 产出物 |
|
||||
### ~~3.3 经验进化 (Evolution)~~ — ⚠️ 部分落地为知识库(knowledges 表),但远不及原规划规模
|
||||
|
||||
### Phase 3+ 完整表
|
||||
### ~~3.4 AI 编排(ModelRouter / Agent 协作)~~ — ❌ ModelRouter 从未存在;Agent 协作属 Phase 2 规划(B 路线)
|
||||
|
||||
| 表 | 用途 |
|
||||
|----|------|
|
||||
| annotations | 标注系统 |
|
||||
| decisions | 决策留痕 |
|
||||
| features | 需求功能清单 |
|
||||
| test_cases | 测试用例 |
|
||||
| test_runs | 测试执行记录 |
|
||||
| knowledge | 经验知识库 |
|
||||
| merge_requests | 合并请求 |
|
||||
---
|
||||
|
||||
## 四、数据模型设计(V1-V13 迁移实际表)
|
||||
|
||||
> 核对基准:`crates/df-storage/src/migrations.rs` 建表 SQL + `models.rs` Record 结构体。
|
||||
|
||||
### 全量表清单(13 业务表 + 1 元表)
|
||||
|
||||
#### 活跃业务表(11 张)— 有上层代码读写
|
||||
|
||||
| # | 表名 | 建表版本 | 用途 | 对应 Model | 活跃消费者 |
|
||||
|---|------|---------|------|-----------|-----------|
|
||||
| 1 | `ideas` | V1+V2 | 想法池 | IdeaRecord | df-ideas crate |
|
||||
| 2 | `projects` | V1+V11+V12 | 项目管理 | ProjectRecord | df-project crate |
|
||||
| 3 | `tasks` | V1+V2 | 任务管理 | TaskRecord | commands::task(IPC handler 直连 CRUD) |
|
||||
| 4 | `workflow_executions` | V1+V2 | 工作流执行实例 | WorkflowRecord | df-workflow crate |
|
||||
| 5 | `node_executions` | V1 | 节点执行审计 | NodeExecutionRecord | df-workflow executor |
|
||||
| 6 | `ai_conversations` | V3+V4/V5/V6 | AI 对话历史 | AiConversationRecord | commands::ai |
|
||||
| 7 | `ai_providers` | V9 | AI 提供商配置 | AiProviderRecord | commands::ai::provider |
|
||||
| 8 | `ai_tool_executions` | V9 | AI 工具调用审计 | AiToolExecutionRecord | commands::ai |
|
||||
| 9 | `knowledges` | V7+V8/V10 | 知识库条目 | KnowledgeRecord | commands::knowledge |
|
||||
| 10 | `knowledge_events` | V10 | 知识生命线事件 | KnowledgeEventRecord | commands::knowledge |
|
||||
| 11 | `app_settings` | V13 | 通用 KV 设置 | (无独立 model) | commands::settings(手写 Repo) |
|
||||
|
||||
#### 遗留表(2 张)— DDL 存在但无活跃业务消费者
|
||||
|
||||
> `df-task` crate 已于 2026-06-14 移除(零引用清理)。以下表仍在 migrations.rs 中创建、models.rs 有结构体、CRUD 可用,但当前**无上层业务代码写入或消费**。
|
||||
|
||||
| # | 表名 | 建表版本 | 原始用途 | 状态 |
|
||||
|---|------|---------|---------|------|
|
||||
| 12 | `branches` | V2 | Git 分支绑定 | ⚠️ 无消费者(DDL 存在,CRUD 可用但无人调用) |
|
||||
| 13 | `releases` | V1 | 发布记录 | ⚠️ **功能性死表**:DDL 存在且含 version/status/task_ids/changelog/released_at 完整 schema,但全代码库零业务读写——无 ReleaseStatus 枚举、无 release 相关 IPC command、前端无发布管理页面。属"建了但从未使用"的空壳占位。 |
|
||||
|
||||
#### 内部元表
|
||||
|
||||
| # | 表名 | 建表版本 | 用途 |
|
||||
|---|------|---------|------|
|
||||
| - | `schema_version` | V0 | 迁移版本跟踪(仅存 version INTEGER,无业务语义) |
|
||||
|
||||
### 不存在的表(曾出现在早期规划但从未建表)
|
||||
|
||||
| 表名 | 状态 | 说明 |
|
||||
|------|------|------|
|
||||
| `workflow_defs` | ❌ 从未建表 | 工作流定义以 dag_json 内嵌在 workflow_executions 中 |
|
||||
| `connections` | ❌ 从未建表 | 连接配置使用 app_settings KV 表存储 |
|
||||
| `artifacts` | ❌ 从未建表 | 产出物概念未落地 |
|
||||
| `annotations` | ❌ 从未建表 | 标注系统属已废弃规划 |
|
||||
| `decisions` | ❌ 从未建表 | 决策留痕属已废弃规划 |
|
||||
| `features` | ❌ 从未建表 | 需求功能清单未落地 |
|
||||
| `test_cases` / `test_runs` | ❌ 从未建表 | 测试模块未落地 |
|
||||
| `knowledge`(单数)| ❌ 不存在的旧命名 | 实际表名为 `knowledges`(复数),V7 建表 |
|
||||
| `merge_requests` | ❌ 从未建表 | 合并请求未落地 |
|
||||
|
||||
---
|
||||
|
||||
@@ -261,52 +199,39 @@ Fixer Agent → 修复问题
|
||||
|
||||
### D1: 想法是第一公民
|
||||
- 想法池独立于项目,可以独立运转
|
||||
- 想法不需要关联项目即可被评估和打分
|
||||
- 晋升是单向操作(想法→项目),但保留追溯
|
||||
|
||||
### D2: 多任务/分支并行
|
||||
- 同一项目内多个任务同时开发
|
||||
- 每个任务绑定独立 Git 分支
|
||||
- 任务间互不干扰,完成后合并
|
||||
|
||||
### D3: 引擎不绑定业务
|
||||
- DAG 引擎纯粹做编排,不知道"想法"/"项目"等概念
|
||||
- 阶段是 DAG 模板,可自定义
|
||||
- 节点通过 Node trait 扩展
|
||||
|
||||
### D4: 本地优先
|
||||
### D2: 本地优先
|
||||
- SQLite 嵌入,不依赖云服务
|
||||
- 所有数据存储在本地
|
||||
- 零运维,安装即用
|
||||
|
||||
### D5: AI 贯穿全程
|
||||
- 不是"加了 AI 功能",而是"AI 是系统的一部分"
|
||||
- 每个阶段都有 AI 参与
|
||||
- AI 输出作为决策依据,最终决策权在人
|
||||
### D3: 引擎不绑定业务
|
||||
- DAG 引擎纯粹做编排,不感知具体业务语义
|
||||
- 业务逻辑在 df-nodes 实现(Node trait 是纯接口)
|
||||
|
||||
### D6: 决策必留痕
|
||||
- 所有关键决策自动记录
|
||||
- 决策可追溯到具体上下文(哪个想法、哪个功能、哪次审查)
|
||||
- 未来可回溯"为什么这么做"
|
||||
### D4: AI 贯穿全程
|
||||
- AI Chat 对话 + 工作流 AiNode 双路径
|
||||
- AI 输出作为决策依据,最终决策权在人
|
||||
|
||||
---
|
||||
|
||||
## 六、审查发现的设计问题与决策
|
||||
## 六、Crate 结构
|
||||
|
||||
| # | 问题 | 设计决策 | 优先级 |
|
||||
|---|------|---------|--------|
|
||||
| 1 | 状态枚举三套不一致 | **以 types.rs 为准**,ARCHITECTURE.md 和 SQL 同步 | Phase 1 |
|
||||
| 2 | projects 缺 status vs stage | **status 和 current_stage 分开**:status 管生命周期,stage 管进度 | Phase 1 |
|
||||
| 3 | ideas.promoted_to 缺失 | **V2 补字段**,晋升时回写 | Phase 1 |
|
||||
| 4 | branches 表不存在 | **V2 新增表**,分支管理需要持久化 | Phase 1 |
|
||||
| 5 | workflow_executions 缺 project_id | **V2 补字段**,执行记录必须关联业务 | Phase 1 |
|
||||
| 6 | DAG 不可序列化 | **DagDef/Dag 分离**(已完成) | Phase 1 |
|
||||
| 7 | Executor 串行 | **同层并行化**(待实现) | Phase 1 |
|
||||
| 8 | 前端 id 类型不对 | **统一为 string (UUID)** | Phase 1 |
|
||||
| 9 | Store 未接入 View | **先建 API 层再接 Store** | Phase 1 |
|
||||
| 10 | 标注/决策表缺失 | Phase 3 再建表,当前 UI 标注 "Coming Soon" | Phase 3 |
|
||||
| 11 | 需求-测试追溯 | Phase 4 再建表 | Phase 4 |
|
||||
| 12 | 经验进化 | Phase 5 实现 | Phase 5 |
|
||||
实际 **8 个 crate**(`crates/` 目录下):
|
||||
|
||||
| Crate | 职责 |
|
||||
|-------|------|
|
||||
| `df-core` | 公共类型(types.rs)、事件定义、工具函数 |
|
||||
| `df-workflow` | DAG 引擎(拓扑排序、执行器、Node trait) |
|
||||
| `df-nodes` | 内置节点(Ai / Script / Human) |
|
||||
| `df-ai` | AI 集成层(LlmProvider trait、OpenAI 兼容、Anthropic、ContextManager、工具注册基础设施) |
|
||||
| `df-execute` | Shell 执行(跨平台封装) |
|
||||
| `df-storage` | SQLite 存储层(migrations、CRUD 宏、Repo) |
|
||||
| `df-ideas` | 想法池业务逻辑(评估、晋升) |
|
||||
| `df-project` | 项目管理业务逻辑(目录绑定、技术栈探测) |
|
||||
|
||||
> 原始设计文档(Phase1架构决策 ADR-003)曾写 "13 个独立 crate",属过时数字,未随代码演进更新。实际为以上 8 个。
|
||||
|
||||
---
|
||||
|
||||
@@ -316,16 +241,15 @@ Fixer Agent → 修复问题
|
||||
|
||||
```
|
||||
1. 用户在想法池输入"做一个 Markdown 编辑器"
|
||||
2. AI 评估可行性,给出评分和建议
|
||||
2. 启发式评估可行性,给出评分和建议
|
||||
3. 用户点击"晋升为项目"
|
||||
4. 系统创建项目,进入编码阶段
|
||||
4. 系统创建项目
|
||||
5. 用户创建任务"实现基础编辑功能"
|
||||
6. 系统创建分支 task/abc123
|
||||
7. 用户点击"运行工作流"
|
||||
8. DAG 执行: [Shell: 环境检查] → [Shell: 运行测试] → [Shell: 构建产物]
|
||||
9. 前端实时展示执行日志
|
||||
10. 执行完成,结果持久化到 SQLite
|
||||
11. 用户刷新页面,数据仍在
|
||||
6. 用户点击"运行工作流"
|
||||
7. DAG 执行: [Script: 环境检查] → [Ai: 代码生成] → [Human: 审批]
|
||||
8. 前端经 EventBus 实时展示执行日志
|
||||
9. 执行完成,结果持久化到 SQLite
|
||||
10. 用户刷新页面,数据仍在
|
||||
```
|
||||
|
||||
---
|
||||
@@ -337,13 +261,22 @@ Fixer Agent → 修复问题
|
||||
- 与 `evaluator.rs` 已实现的 `EvalDimension` 对齐
|
||||
- `IdeaScores { feasibility, impact, urgency, overall }` 保留
|
||||
|
||||
### Q2: 发布模块 Phase 1 范围 ✅ 已确认
|
||||
**决策**:Phase 1 简化 — 只做 Release 记录 + 手动标记任务
|
||||
- releases 表保留,支持 CRUD
|
||||
- 不做自动化发布流程(合并→测试→部署)
|
||||
- 前端在 ProjectDetail 中添加简单 Release 面板
|
||||
### Q2: 发布模块 ✅ 已确认(当前为死表状态)
|
||||
**决策**:Phase 1 不做发布功能。releases 表 DDL 存在但无业务逻辑,待后续激活。
|
||||
- 不做自动化发布流程
|
||||
- 前端无发布入口
|
||||
|
||||
### Q3: AI 评估 Phase 1 范围 ✅ 已确认
|
||||
**决策**:Phase 1 用固定算法评分,延后接入 AI
|
||||
- `ScoringEngine` 当前返回固定 5.0,改为基于启发式规则的简单算法
|
||||
**决策**:Phase 1 用固定算法评分,延后接入 LLM
|
||||
- `ScoringEngine` 当前返回基于启发式规则的分数
|
||||
- Phase 2 接入 LLM 后替换为 AI 评分
|
||||
|
||||
---
|
||||
|
||||
## 相关文档
|
||||
|
||||
- [df-nodes 节点集合](../03-模块文档/df-nodes-节点集合-2026-06-12.md) — 3 节点详述
|
||||
- [df-ai AI 集成模块](../03-模块文档/df-ai-AI集成模块-2026-06-12.md) — Provider / Context / 工具注册
|
||||
- [df-storage 存储层](../03-模块文档/df-storage-存储层-2026-06-12.md) — 迁移 / CRUD / Repo
|
||||
- [df-workflow 工作流引擎](../03-模块文档/df-workflow-工作流引擎-2026-06-12.md) — DAG / Executor
|
||||
- [Phase1 架构决策](./Phase1架构决策-2026-06-12.md) — ADR 记录(注意:ADR-001/003 含过时信息,以本文档为准)
|
||||
|
||||
Reference in New Issue
Block a user