Files
MoFin/docs/decisions/2026-07-19-spec-and-dashboard.md
T

27 lines
1.5 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.
# 决策: 引入 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. **健康管线** — Tier15min+ 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