Files
sanguo_moziplus_v2/docs/review/v2-code-design-prd-audit.md
2026-05-19 22:29:11 +08:00

11 KiB
Raw Permalink Blame History

moziplus v2.0 PRD-设计-编码 全覆盖审查报告

版本: v1.0 日期: 2026-05-19 作者: 庞统(副军师)🐦 审查范围: PRD v2.0 → 25份设计文档 → 全部后端+前端代码 子报告: backend-audit.md + frontend-audit.md + prd-coverage-audit.md


零、执行摘要

一句话结论

核心架构完整落地,v2.7/v2.8 已超前实现;主要缺口在安全红线(guardrails.yaml)和配置目录外置(prompt_templates/review_protocols/schemas)。

数据速览

指标 数值
PRD 需求条目 48 条
完整实现 34 条(71%
部分实现 11 条(23%
未实现(v2.1+ 3 条(6%
后端代码 31 文件 / ~7,200 行
前端代码 28 文件 / ~6,200 行
测试代码 20 文件 / ~4,300 行 / 36+ E2E用例
设计文档 25 份(7份主文档 + 8份Topic + 10份辅助)
DB 表 13 张(含 v2.6/v2.7/v2.8 迁移链)

版本混乱问题

问题 说明
development-plan-v2.6.md 标注 v2.8 "待开发" 代码中 v2.8 已完整实现(状态增强+Checkpoint+归档)
architecture-v2.6.md 文件名 v2.6 内容已包含 v2.7/v2.8 变更,建议更名
5 份 Topic proposal 文档 已全部纳入主架构,未归档
architecture-v2.mdv2.0 版) 已过时,仍在 design/ 目录

一、三路审查核心发现

1.1 后端审查(backend-audit.md

结论:后端 31 个模块与设计高度一致,4 个"已实现未集成"的独立模块

分类 模块 状态
完整实现 黑板 CRUD + 11 状态机 + 13 张表 + 迁移链 与设计完全匹配
完整实现 Daemon Ticker + Router/Dispatcher 分层路由 Mode A LLM + Mode B Handoff
完整实现 Spawner Full Agent + API 契约 + 进程监控 SPAWN_PROMPT_TEMPLATE
完整实现 Checkpoint M3 完整 CRUD + approve/reject v2.8 设计已全部落地
完整实现 Mail Tab 后端 6 端点 + 归档机制 v2.7 设计已全部落地
🔴 已实现未集成 HealthChecker(僵尸检测) health.py 完整,Ticker 未调用
🔴 已实现未集成 BootstrapBuilderL0-L3 上下文) bootstrap.py 完整,Spawner 用自己模板
🟡 已实现未集成 InboxWatcher(即时事件) inbox.py 完整,Ticker 未启动
🟡 已实现未集成 ExperienceDistiller(经验蒸馏) experience.py 完整,无自动流程
🐛 潜在 Bug checkpoint_routes.py _bb() 调用不存在的 registry.get_db_path()

1.2 前端审查(frontend-audit.md

结论:27 个组件全面实现,但设计文档要求"精简到 5 页"未执行

分类 发现
完整实现 12 个 Tab 全部有对应组件,状态管理(store.ts)与后端完全对齐
完整实现 CheckpointPanel 三类型面板 + ArtifactPanel 成果物
超前实现 Mail/Usage/Templates 三个 Tab 设计文档未规划
超前实现 MorningPanel(418行)/GlobalSearch(104行) 已编码但未注册
🔴 P0 Bug TaskModal StatusButtons 无 onClick 绑定(按钮不响应点击)
🟡 设计偏差 设计要求 5 页精简,代码保留 12 Tab
🟡 未实现 DAG 拓扑视图、SSE 实时推送、通知中心完整版

1.3 PRD 覆盖审查(prd-coverage-audit.md

结论:71% 完整实现,94% 部分覆盖,3 条缺口属 v2.1+ 范围

PRD 维度 完整率 关键缺口
§4 四相架构 78% P1 需求探索依赖 Agent Skill(架构决策)
§5 核心能力 50% C9 安全护栏无独立 guardrails.yamlC10 工具链属 v2.1+
§6 技术方向 78% T7 对话入口依赖 OpenClaw(架构决策)
§10.1 安全红线 33% R1 实盘拦截/R4 Token 消耗追踪未实现
§10.2 v2.0 范围 100% 无缺口
§10.3 多任务并发 100% 无缺口
§10.4 失败恢复 80% replan 流程未显式设计

二、超前实现清单(代码有 → 设计/PRD 没有)

这些超前实现多数是好事,需要做的是更新设计文档来反映真实状态。

# 功能 代码位置 建议
1 v2.8 状态增强 + Checkpoint + 归档 db.py + checkpoint_routes.py + 前端 11 状态 development-plan 标注"待开发",实际已完成。更新开发计划
2 Mail Tab 后端 6 端点 + 前端完整 mail_routes.py + MailPanel.tsx v2.7 设计已覆盖但主架构文档未更新
3 前端 12 Tab 全面实现 App.tsx + 27 组件 PRD §10.2 标注 Dashboard 为 v2.1+,实际已提前实现
4 UsagePanel 花费总览 UsagePanel.tsx (172行) 设计文档未规划
5 TemplatePanel 任务模板 TemplatePanel.tsx (232行) + store.ts TEMPLATES (10个模板) 设计文档未规划
6 MorningPanel AI 晨报 MorningPanel.tsx (418行) 组件已实现但未注册到 TAB_DEFS
7 GlobalSearch ⌘K 搜索 GlobalSearch.tsx (104行) 组件已实现但未注册到 App.tsx
8 BootstrapBuilder L0-L3 四层上下文 daemon/bootstrap.py (215行) 完整实现但未被 Spawner 调用
9 outputs content 直传自动写文件 blackboard_routes.py 设计只提 content_path
10 Project delete(从注册表移除) registry.py 设计只提 archive
11 V2Task.must_haves / estimated_duration_minutes 字段 store.ts 设计文档未记录
12 10 个任务模板(量化策略/数据采集/回测/风控审查等) store.ts TEMPLATES 设计文档未规划

三、缺口清单(PRD/设计有 → 代码没有)

🔴 P0 — 必须解决

# 缺口 PRD/设计依据 影响
1 guardrails.yaml 安全红线文件不存在 PRD §10.1 R1-R6 + architecture-v2.6 §9.4.2 实盘交易/数据删除/系统配置变更无硬编码拦截
2 TaskModal StatusButtons 无 onClick topic9 §3.3 前端状态操作按钮不工作
3 checkpoint_routes.py _bb() 运行时 Bug v2.8 §四 checkpoint API 调用会报错

🟡 P1 — 应该解决

# 缺口 PRD/设计依据 影响
4 prompt_templates/ 目录未创建 architecture-v2.6 §9.4 (S-01~S-28) Agent prompt 模板硬编码在 spawner.py
5 review_protocols/ 目录未创建 architecture-v2.6 §9.4 审查协议硬编码在 review.py
6 schemas/ 目录未创建 architecture-v2.6 §7 产出物校验用正则而非 JSON Schema
7 HealthChecker 未集成到 Ticker architecture-v2.6 §14 僵尸检测不生效
8 BootstrapBuilder 未集成到 Spawner architecture-v2.6 v2.6.5 L0-L3 四层上下文未生效
9 token 消耗追踪 PRD §10.1 R4 大额消耗无自动暂停
10 用户评论输入 topic9 §D9-8 TaskModal 评论区仅展示无输入

🟢 P2 — 可以后续(v2.1+ 或低优先级)

# 缺口 说明
11 DAG 拓扑视图 需要 React Flow,前端未实现
12 SSE 实时推送(前端) 仍用 HTTP 5s 轮询
13 通知中心完整实现 仅有铃铛占位按钮
14 Tab 精简到 5 页 设计要求但未执行(12 Tab 更丰富)
15 乐观锁(expected_version) topic9 §D9-10
16 F7 全生命周期阶段映射 两次审查均未设计
17 F8 工具链自动化 PRD 明确 v2.1+
18 Subagent spawn placeholder,当前只走 Full Agent

四、设计文档版本梳理与建议

权威文档(保留)

文档 角色 备注
architecture-v2.6.md 主架构 建议更名为 architecture-v2.8.md
technical-design-v2.6.md 技术设计 保留
PRD-v2.0.md 需求文档 §6.3/§7 需更新(双入口+不分阶段)
v2.7-subtask-model.md SubTask 设计 保留
v2.8-state-enhancement.md 状态增强设计 保留
development-plan-v2.6.md 开发计划 需更新 v2.8 状态
frontend-redesign-v2.6.md 前端设计 保留
deployment-v2.6.md 部署方案 保留

应归档(已纳入主文档)

文档 原因
architecture-v2.md 已被 v2.6 完全替代
topic3-challenge-review-proposal.md 已纳入 architecture-v2.6 §9
topic4-decomposition-skill-proposal.md 已纳入 architecture-v2.6 §6
topic6-experience-loop-proposal.md 已纳入 architecture-v2.6 v2.6.7
topic7-interaction-dashboard-proposal.md 已纳入 topic9
topic7-9-interaction-dashboard-proposal.md 被 topic7+9 替代
topic9-dashboard-design.md 已纳入前端设计
topic11-multi-project-proposal.md 已纳入 registry.py
topic4-skill-checklist-draft.md 被 topic4 替代
agent-routing-redesign.md 已在代码中完整实现

五、变更历史(PRD v2.0 → 当前代码)

版本 日期 变更内容 文档
PRD v2.0 05-13 初版,四相架构 + 核心理念 PRD-v2.0.md
设计 v2.6 05-14~16 完整架构设计 + 8个课题 architecture-v2.6.md + topic*.md
设计 v2.6.1 05-17 Agent 路由重设计 agent-routing-redesign.md
代码 F1-F18 05-17~18 全部功能编码完成 src/
v2.7 SubTask 05-18 Card 回滚 + SubTask + Mail Tab v2.7-subtask-model.md
v2.8 状态增强 05-18~19 3 新状态 + Checkpoint + 归档 v2.8-state-enhancement.md
当前 05-19 代码 = v2.8,文档 = 混合状态 本报告

六、行动建议

第一优先级:修复 Bug + 补齐安全

# 行动 工作量 负责人
1 修复 checkpoint_routes.py _bb() Bug 0.5h 张飞
2 修复 TaskModal StatusButtons onClick 2h 张飞
3 创建 guardrails.yaml + 6 条安全红线 1-2天 张飞 + 关羽
4 token 消耗追踪 + 超限暂停 1天 张飞

第二优先级:集成 + 配置外置

# 行动 工作量 负责人
5 HealthChecker 集成到 Ticker 2h 张飞
6 BootstrapBuilder 集成到 Spawner(替换硬编码模板) 4h 张飞
7 创建 prompt_templates/ + review_protocols/ + schemas/ 目录 1-2天 张飞
8 用户评论输入框(TaskModal 2h 张飞

第三优先级:文档对齐

# 行动 工作量 负责人
9 development-plan 更新 v2.8 状态 1h 庞统
10 architecture-v2.6.md 更名/标注 0.5h 庞统
11 过期文档归档到 archive/ 0.5h 庞统
12 PRD §6.3/§7 更新 1h 庞统

报告完毕。详细子报告见 docs/review/ 目录下 backend-audit.md / frontend-audit.md / prd-coverage-audit.md。