68 lines
3.5 KiB
Markdown
68 lines
3.5 KiB
Markdown
# arch-design-agent-skill-dashboard — full-implementation 开发记录
|
||
|
||
## 基本信息
|
||
- 项目: arch-design-agent-skill-dashboard
|
||
- 功能: full-implementation(全功能实现)
|
||
- 日期: 2026-03-23
|
||
- 状态: ✅ 完成
|
||
|
||
## 需求描述
|
||
根据项目中 design/ 目录下的架构设计文档(业务架构、应用架构、数据架构、技术架构、领域设计等),使用 Superpowers 结构化开发流程,实现 dashboard 的所有功能。项目框架和目录结构已搭建好,需补全所有模块的实际业务逻辑代码。
|
||
|
||
## 技术方案
|
||
- **后端**: Python 3.12 + FastAPI + uvicorn + Pydantic,模块化 DDD 架构
|
||
- **前端**: Vue 3 + TypeScript + Vite + D3.js(图谱可视化)
|
||
- **部署**: Docker Compose(backend 8900 / frontend 8899)
|
||
- **数据**: JSON 文件持久化项目注册表,设计文件直接读写
|
||
|
||
## 实现细节
|
||
|
||
### 后端模块 (30+ commits)
|
||
- **project**: CRUD + JSON 文件持久化
|
||
- **scanner**: CSV/MD/YAML/OpenAPI 四种解析器,支持 20+ CSV 文件类型映射为 Design 实体
|
||
- **editor**: 文件读写 + 影响分析(通过 frontmatter upstream/downstream 关系)
|
||
- **graph**: 全景关系图构建 + 邻居查询(63 nodes, 94 edges)
|
||
- **impl_tracker**: 实现进度评估 + 手动覆盖(9 modules)
|
||
- **design**: 31 个设计实体 dataclass + FileStatus 检测 + 验证规则
|
||
- **shared**: 配置管理 + 文件系统工具
|
||
|
||
### 前端模块
|
||
- **project**: 项目列表 + 创建/删除
|
||
- **graph**: D3.js 力导向图全景 + 节点下钻详情面板(右侧抽屉)
|
||
- **editor**: CSV 表格编辑器(添加行/删除行/保存)+ Markdown 双栏编辑器(源码 + 实时预览)
|
||
- **router**: 3 个路由(首页/项目图谱/编辑器)
|
||
|
||
### 部署
|
||
- Docker Compose: backend (8900) + frontend via nginx (8899)
|
||
- DESIGN_DIR 挂载项目根目录 → 容器内 /data/design
|
||
- Dockerfile 使用 Nexus 代理(PyPI + npm)
|
||
|
||
## 测试结果
|
||
| 序号 | 功能 | 结果 | 截图 |
|
||
|------|------|------|------|
|
||
| 1 | 首页空状态 | ✅ | test-images/01-homepage.png |
|
||
| 2 | 项目列表 | ✅ | test-images/02-project-list.png |
|
||
| 3 | 全景关系图(63 nodes, 94 edges) | ✅ | test-images/03-project-overview-graph.png |
|
||
| 4 | 图节点下钻详情 | ✅ | test-images/04-graph-drilldown.png |
|
||
| 5 | 编辑器页面 | ✅ | test-images/05-editor-page.png |
|
||
| 6 | CSV 表格编辑器 | ✅ | test-images/06-csv-editor.png |
|
||
| 7 | Markdown 双栏编辑器 | ✅ | test-images/07-md-editor.png |
|
||
| 8 | API /health | ✅ | (API response: {"status": "ok"}) |
|
||
| 9 | 设计扫描 (POST /scan) | ✅ | (94 files scanned) |
|
||
| 10 | 实体查询 (capabilities) | ✅ | (10 capabilities) |
|
||
| 11 | 实体查询 (modules) | ✅ | (9 modules) |
|
||
| 12 | 影响分析 | ✅ | (API 200 OK) |
|
||
| 13 | 实现进度评估 | ✅ | (9 modules evaluated) |
|
||
|
||
## API 端点 (23 个)
|
||
- Projects CRUD, Scan, Entities (capabilities/modules/entities/integrations/value-flows/user-journeys/data-flows/external-systems/traceability-links/runtime-components + detail), Graph (panorama/neighbors), Editor (read/write + impact), Impl Progress (evaluate/override), Health
|
||
|
||
## 遇到的问题及解决方案
|
||
| 问题 | 解决方案 |
|
||
|------|----------|
|
||
| 宿主机 8900 端口被旧 uvicorn 占用 | kill 旧进程 |
|
||
| .git 权限不匹配(vagrant vs dev:1001) | chown 修复 |
|
||
| host.docker.internal 在 Linux 不可用 | 改用 --network host 构建 + localhost |
|
||
| nginx:alpine 不在 Nexus 代理中 | dpull 通过代理下载后 docker tag |
|
||
| Playwright input 选择器不匹配 | 检查 Vue 模板,使用正确的 `input` 选择器 |
|