--- doc_id: DOC-TA-000 title: 技术选型说明 version: 0.1.0 status: reviewed owners: - 林然 upstream: - ../business-architecture/01-scope-and-goals.md downstream: - ./01-runtime-topology.md - ./01-runtime-components.csv updated_at: 2026-03-23 --- # 技术选型说明 详细选型清单见 `./00-technology-selection.csv`。 ## 核心决策 ### 后端:Python 3.12 + FastAPI + uv - 文件解析(CSV/MD/YAML/OpenAPI)是核心功能,Python 生态在这方面最成熟 - FastAPI 提供异步支持和自动 OpenAPI 文档 - uv 替代 pip+venv,依赖管理更快更可靠 ### 前端:Vue 3 + TypeScript + Vite + Pinia - 组合式 API 适合模块化的组件结构 - TypeScript 提供类型安全 - Pinia 作为 Vue 3 官方推荐的状态管理方案 ### 关系图:D3.js - 需要高度定制的可下钻分组图 - D3.js 灵活度最高,可以精确控制节点布局、分组、交互 - 学习曲线较陡,但这个项目的图交互是核心功能,值得投入 ### 部署:Docker Compose - 两个容器:Nginx(前端+反代)+ Python(后端) - 无数据库容器 - Volume 挂载设计文件目录和代码仓库目录 ### 不使用数据库 - 设计文件本身就是 single source of truth - 项目注册用 JSON 文件 - 关系图和扫描结果是运行时计算,不需要持久化