Skip to content

第五章:设计文档解析

本章深入解析 Superpowers 的设计思想,帮助你理解其背后的设计理念。

设计文档的价值

Superpowers 的每个功能都经过深思熟虑的设计。阅读设计文档可以:

  • 理解设计决策 - 为什么这样设计
  • 学习架构思想 - 如何构建可扩展系统
  • 指导自定义开发 - 如何扩展和定制

文档审查系统设计

背景

在开发过程中,经常会遇到:

  • 规格文档不完整
  • 实施计划与规格不符
  • 缺少错误处理考虑
  • 过度设计或设计不足

为了解决这些问题,Superpowers 引入了文档审查系统

核心设计

在 Superpowers 工作流中增加两个审查阶段:

  1. 规格文档审查 - 在 brainstorming 之后,writing-plans 之前
  2. 计划文档审查 - 在 writing-plans 之后,实施之前

两者都使用迭代循环模式,类似于代码审查。

规格文档审查器

目的: 验证规格是否完整、一致、可实施。

检查内容

类别检查项
完整性TODO、占位符、"TBD"、不完整章节
覆盖度缺失的错误处理、边界情况、集成点
一致性内部矛盾、冲突的需求
清晰度模糊的需求描述
YAGNI未请求的功能、过度设计

输出格式

## 规格审查

**状态:** 通过 | 发现问题

**问题(如有)**:
- [章节 X]: [问题] - [为什么重要]

**建议(参考)**:
- [不阻止通过的建议]

审查循环: 发现问题 → 修复 → 重新审查 → 重复直到通过。

计划文档审查器

目的: 验证计划是否完整、符合规格、任务分解合理。

检查内容

类别检查项
完整性TODO、占位符、不完整任务
规格对齐计划覆盖规格需求、无范围蔓延
任务分解任务原子性、边界清晰
任务语法任务和步骤的复选框语法
块大小每块不超过 1000 行

块定义: 块是计划文档中的逻辑任务组,由 ## 块 N: <名称> 标题分隔。writing-plans 技能根据逻辑阶段(如"基础"、"核心功能"、"集成")创建这些边界。每个块应该足够独立,可以单独审查。

规格对齐验证: 审查器接收:

  1. 计划文档(或当前块)
  2. 规格文档路径供参考

审查器读取两者并比较需求覆盖度。

审查过程(逐块进行)

  1. writing-plans 创建块 N
  2. 控制器分发计划文档审查器处理块 N 内容和规格路径
  3. 审查器读取块和规格,返回结论
  4. 如有问题: writing-plans 修复块 N,转到步骤 2
  5. 如通过: 继续块 N+1
  6. 重复直到所有块通过

更新后的工作流

brainstorming → 规格 → 规格审查循环 → writing-plans → 计划 → 计划审查循环 → 实施

规格审查循环

  1. 规格完成
  2. 分发审查器
  3. 如有问题: 修复 → 转到 2
  4. 如通过: 继续

计划审查循环

  1. 块 N 完成
  2. 分发审查器处理块 N
  3. 如有问题: 修复 → 转到 2
  4. 如通过: 下一块或实施

Markdown 任务语法

计划文档使用标准化的 Markdown 任务语法:

markdown
## 任务 1: 实现用户认证

**文件**: `src/auth.ts`

**操作**:
- [ ] 创建 User 接口
- [ ] 实现登录函数
- [ ] 添加错误处理

**验证**:
- [ ] 单元测试通过
- [ ] 类型检查通过

**代码**:
```typescript
interface User {
  id: string
  email: string
}

时间: 预计 30 分钟


这种标准化语法确保:
- 任务可以自动解析
- 审查器可以验证语法
- 执行器可以跟踪进度

## 设计原则

### 1. 渐进式验证

不要等到最后才验证。在每个关键阶段都进行审查:

设计 → 审查 → 计划 → 审查 → 实施 → 审查


这确保问题及早发现,修复成本更低。

### 2. 自动化审查

使用 AI 审查器,而非完全依赖人工:

- **一致性**: 标准化的审查标准
- **速度**: 即时反馈
- **可扩展**: 可以审查大量文档

### 3. 迭代改进

审查不是一次性的:

审查 → 问题 → 修复 → 审查 → ...


持续迭代直到质量达标。

## 其他设计文档

Superpowers 还有其他重要的设计文档:

### 可视化头脑风暴重构

重构了可视化头脑风暴功能,改进了浏览器显示和终端命令。

主要改进:
- 零依赖服务器
- 更好的跨平台支持
- 改进的图形渲染

### Codex 应用兼容性

确保 Superpowers 在 Codex 应用中正常工作,特别是 worktree 和 finishing 技能的适配。

关键考虑:
- 不同的工具 API
- 平台特定行为
- 向后兼容性

## 设计模式总结

从这些设计文档中,我们可以学到:

1. **问题驱动设计** - 先识别痛点,再设计解决方案
2. **渐进增强** - 从简单开始,逐步增加复杂度
3. **自动化优先** - 能自动化的不要手动
4. **验证循环** - 不断验证,持续改进
5. **文档化思考** - 设计决策都要记录理由

## 下一步

在下一章中,我们将看到这些设计思想的实际应用,通过真实的实施计划示例来学习。

---

**参考资源**:
- [文档审查系统设计](https://github.com/obra/superpowers/blob/main/docs/superpowers/specs/2026-01-22-document-review-system-design.md)
- [可视化头脑风暴重构设计](https://github.com/obra/superpowers/blob/main/docs/superpowers/specs/2026-02-19-visual-brainstorming-refactor-design.md)
- [Codex 兼容性设计](https://github.com/obra/superpowers/blob/main/docs/superpowers/specs/2026-03-23-codex-app-compatibility-design.md)

基于 CC BY 4.0 许可发布