Files
DevFlow/docs/02-架构设计/Phase1架构决策-2026-06-12.md

49 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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-stages` crate 已删除(零引用清理),实际无 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。详见 [业务系统设计](./业务系统设计-2026-06-12.md) §六。
### 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` — 当前进度与全局性问题