27 lines
1.5 KiB
Markdown
27 lines
1.5 KiB
Markdown
# 决策: 引入 spec 体系 + Dashboard
|
||
|
||
## Context
|
||
MoFin 项目已运行数月,有 30 个 API 端点、38 个 cron 任务、完善的编码规范(DEVELOPMENT_STANDARDS.md)和架构文档(SYSTEM_ARCHITECTURE.md)。但缺少:
|
||
- 统一的模块可见性("不可见即不存在")
|
||
- AI 和人类共享的接口文档(spec 过期即等于没写)
|
||
- 系统健康状态的一站式监控面板
|
||
|
||
## Decision
|
||
参照 AgentsMeeting 样板,为 MoFin 引入:
|
||
1. **spec 双轨体系** — 每个模块的 `specs/{module}.json`(human_help + ai_spec)
|
||
2. **Dashboard** — 集成到 `server.py`(端口 8899),深色主题 Web UI + ?§ 按钮
|
||
3. **健康管线** — Tier1(5min)+ Tier2(日检),聚合到 Dashboard F Tab
|
||
4. **开发规范** — `docs/dev-spec.md`(五条红线)
|
||
|
||
不改动任何现有业务代码(server.py :8899 保持不变)。
|
||
|
||
## Consequences
|
||
- 新增 Dashboard 维护负担(但代码最小化,复用 AgentsMeeting 模板)
|
||
- AI 开发前必须先读 spec,短期可能感觉慢,长期减少架构理解错误
|
||
- 健康检查需要纳入 crontab,增加系统负载(但轻量级,可忽略)
|
||
|
||
## Alternatives Considered
|
||
- **方案 A**: 在现有 server.py 中嵌入 Dashboard(被否 — 改动运行中业务代码风险大)
|
||
- **方案 B**: 不做 Dashboard,只补文档(被否 — "不可见即不存在",没有面板等于没做)
|
||
- **方案 C**: 集成到 server.py(✅ 选择 — Dashboard 端点加到现有 Flask 应用,统一端口 8899)
|