Files
agent-aide/.aide/task-plans/spec-05.md
2025-12-19 02:30:45 +08:00

4.4 KiB
Raw Blame History

子计划 5用户流程图命令实现

目标

创建 /aide:user-graph 命令,实现面向用户的长期维护流程图系统,支持分步执行和接续执行。

具体步骤

5.1 添加配置项

位置aide-program/aide/ 配置模块

新增配置项

[user_docs]
# 用户流程图目录路径(相对于项目根目录)
graph_path = "docs/graph-guide"

# 流程图计划文件路径
graph_plan_path = "docs/graph-guide/plan.md"

5.2 创建命令文件

位置aide-marketplace/aide-plugin/commands/user-graph.md

命令流程

开始
  │
  ├─ 检查计划文件是否存在
  │     │
  │     ├─ 不存在 → 进入分析和计划阶段
  │     │
  │     └─ 存在 → 进入接续执行阶段
  │
  └─ 结束

5.3 流程图目录结构设计

以用户示例为参考api-lib + api + user-interface

docs/graph-guide/
├── plan.md              # 计划和进度文档
├── guide.puml           # 总导览流程图
├── api-lib/             # 子项目 1
│   ├── guide.puml       # 子项目导览
│   ├── module-a.puml    # 模块 A 流程图
│   └── module-b.puml    # 模块 B 流程图
├── api/                 # 子项目 2
│   ├── guide.puml
│   └── ...
└── user-interface/      # 子项目 3
    ├── guide.puml
    └── ...

5.4 分析和计划阶段

当计划文件不存在时:

  1. 加载项目文档

    • 读取 .aide/project-docs/ 下的项目文档
    • 了解项目结构和模块
  2. 区块划分(按业务逻辑整体):

    • 不同于项目文档的深度全覆盖
    • 目标是呈现整体形式
    • 识别独立的开发项目/模块
  3. 复杂度分析

    • 评估每个区块的复杂度
    • 估算每个区块需要的工作量
    • 识别可能需要细分的大型区块
  4. 生成计划文档plan.md

# 用户流程图编写计划

## 项目概述
[基于项目文档的简要描述]

## 区块划分

| # | 区块名称 | 类型 | 复杂度 | 状态 |
|---|----------|------|--------|------|
| 1 | api-lib | 库项目 | 高 | pending |
| 2 | api | 应用 | 中 | pending |
| 3 | user-interface | 前端 | 中 | pending |

## 执行步骤

### 区块 1: api-lib
- [ ] 步骤 1.1: 分析模块结构
- [ ] 步骤 1.2: 编写 guide.puml
- [ ] 步骤 1.3: 编写 module-a.puml
- [ ] 步骤 1.4: 编写 module-b.puml
...

### 区块 2: api
...

## 当前进度
- 当前区块1
- 当前步骤1.1
- 最后更新:[时间戳]

## 备注
[执行过程中的记录]
  1. 用户确认
    • 展示计划摘要
    • 询问是否开始执行

5.5 接续执行阶段

当计划文件存在时:

  1. 读取计划文档
  2. 定位当前进度
  3. 继续执行未完成的步骤
  4. 每完成一个步骤,更新计划文档

5.6 流程图类型

根据项目内容决定流程图类型:

不含程序的项目

  • 引导用户了解项目的流程图
  • 内容导航图
  • 学习路径图

含程序的项目

  • 引导流程图(如何了解项目)
  • 程序逻辑流图(参考 /aide:run 中的规范)
    • 入口点
    • 控制结构
    • 语义化抽象
    • 模块化表示
    • 层次化组织

5.7 一套流程图的标准

每个开发项目/区块应包含:

  1. guide.puml:子项目导览

    • 模块概览
    • 调用关系
    • 数据流向
  2. 子模块 puml:详细流程

    • 核心逻辑
    • 关键函数
    • 状态转换

5.8 分步执行机制

为支持大型项目的分步执行:

  1. 进度持久化:通过 plan.md 记录进度
  2. 接续点精确定位:通过区块+步骤编号
  3. 上下文恢复:每次执行前读取项目文档和计划
  4. 增量产出:每步完成后保存产出的 puml 文件

验证标准

  • 计划文档格式正确,信息完整
  • 区块划分合理,符合业务逻辑
  • 接续执行能正确定位进度
  • 生成的流程图符合 PlantUML 语法
  • 流程图能正确生成 PNG

依赖

  • 前置:子计划 4user-docs 命令)
  • 后续:无

风险评估

  • 风险等级:高
  • 潜在影响
    • 大型项目可能需要多次对话完成
    • 区块划分不当可能导致重复工作
    • 流程图质量影响用户理解
  • 缓解措施
    • 完善的进度跟踪机制
    • 用户确认关键决策
    • 参考优秀的流程图设计