2.0 KiB
2.0 KiB
Phase 1 架构决策
创建: 2026-06-10 | 状态: 初稿
概述
Phase 1 是 DevFlow 的引擎骨架阶段,聚焦于核心数据流打通。本文记录此阶段的关键架构决策。
决策记录
ADR-001: 引擎不绑定业务
- 决策: Workflow Engine (df-workflow) 只做 DAG 执行,不感知具体业务语义
- 原因: 保持引擎通用性
- 影响: df-workflow 的 Node trait 是纯接口,业务逻辑在 df-nodes 实现
⚠️ 原文写"阶段逻辑通过 df-stages 插件化注入"、"业务逻辑在 df-nodes / df-stages 实现"。
df-stagescrate 已删除(零引用清理),实际无 stages 层。业务逻辑直接在 df-nodes 的 3 个节点实现。
ADR-002: 本地优先架构
- 决策: 使用 SQLite 嵌入式数据库,不依赖云服务
- 原因: DevFlow 定位为桌面工具,零运维,离线可用
- 影响: 无网络层、无认证系统,数据全部本地存储
ADR-003: 多 Crate Workspace
- 决策: 拆分为多个独立 crate
- 原因: 模块解耦、独立编译、按需引用
- 影响: 依赖关系需严格管控,避免循环依赖
⚠️ 原文写"13 个独立 crate",属过时数字(原始设计值)。实际为 8 个 crate:df-core / df-workflow / df-nodes / df-ai / df-execute / df-storage / df-ideas / df-project。详见 业务系统设计 §六。
ADR-004: 无 panic 原则
- 决策: 所有占位代码返回空/默认值,不使用
todo!/unimplemented! - 原因: 保证应用不会因为未实现功能而崩溃
- 影响: 未实现的方法返回
Ok(default)而非 panic
ADR-005: Phase 1 最小可用路径
- 决策: 优先打通
df-core → df-workflow → df-storage → Tauri IPC → Vue链路 - 原因: 验证架构可行性,尽早发现集成问题
- 影响: Phase 1 不实现 AI、想法池、多项目等高级功能
参考文档
ARCHITECTURE.md— 完整架构设计PROGRESS.md— 当前进度与全局性问题