Skip to content

Latest commit

 

History

History
518 lines (404 loc) · 19.4 KB

File metadata and controls

518 lines (404 loc) · 19.4 KB

Graph-Driven Development 项目评估与开发计划

生成时间:2026-06-15 版本:v0.1.0 MVP 定位:Coding Agent 插件 + 独立 Web UI 双轨并行


一、项目定位

1.1 核心定位

Graph-Driven Development = Agent 插件 + 独立 Web UI

┌─────────────────────────────────────────────────────────────┐
│                    Graph-Driven Development                  │
├─────────────────────────────────────────────────────────────┤
│  ┌─────────────────┐    ┌─────────────────────────────────┐ │
│  │   Agent 插件     │    │         独立 Web UI             │ │
│  │  (MCP Server)   │    │    (React Flow 可视化)          │ │
│  ├─────────────────┤    ├─────────────────────────────────┤ │
│  │ • 需求澄清      │    │ • 完整的图谱编辑器              │ │
│  │ • 依赖管理      │    │ • 5层架构可视化                │ │
│  │ • 工具调用      │    │ • Brainstorm 交互              │ │
│  │ • 图谱操作      │    │ • 项目管理                      │ │
│  └─────────────────┘    └─────────────────────────────────┘ │
│           ↓                          ↓                       │
│  ┌─────────────────────────────────────────────────────────┐│
│  │              共享核心:图谱引擎 + 状态管理               ││
│  └─────────────────────────────────────────────────────────┘│
└─────────────────────────────────────────────────────────────┘

1.2 使用场景

场景 使用方式 说明
通过 Agent 对话开发 Agent 插件 用户与 Agent 对话,Agent 调用 MCP 工具操作图谱
独立查看/编辑图谱 Web UI 用户直接打开 Web UI 查看和编辑项目图谱
团队协作审查 Web UI 团队成员通过 Web UI 审查架构设计
文档生成 Web UI + Agent 从图谱生成架构文档、技术规范

1.3 目标 Agent 平台

Agent 平台 集成方式 优先级
Claude Code MCP 协议 P0
Codex CLI MCP 协议 P0
CodeBuddy 内置插件 + MCP P0
TRAE MCP 协议 P1
Cursor MCP 协议 P1
Windsurf MCP 协议 P2

1.4 双轨价值

维度 Agent 插件 Web UI 结合效果
使用门槛 低(对话即可) 中(需学习界面) 双路径覆盖不同用户
操作效率 高(自然语言) 高(可视化拖拽) 取长补短
适用场景 开发流程 审查/展示 全场景覆盖

二、项目现状评估

2.1 完成度总览

模块 完成度 状态 说明
Web UI 前端 90% ✅ 基本完成 React Flow 图谱、5层架构、自定义节点、Brainstorm
后端 API 70% ⚠️ 基础版 Express REST API
状态管理 80% ✅ 基本完成 Zustand store,前后端同步
Brainstorm 引擎 60% ⚠️ 框架完成 状态机已实现,问题为硬编码
MCP Server 20% ⚠️ 类型定义 10个工具定义,无实际实现
代码索引 0% ❌ 未实现 无代码解析能力
LLM 集成 0% ❌ 未实现 无 LLM API 调用

总体完成度:~60%(Web UI 完成,Agent 插件待实现)

2.2 技术债务

🔴 高优先级

  1. MCP Server 完整实现

    • 当前:只有类型定义
    • 问题:无法被 Agent 发现和调用
    • 建议:实现完整的 MCP Server
  2. 后端数据持久化

    • 当前:JSON 文件 + 5秒轮询
    • 问题:并发冲突、无事务
    • 建议:SQLite 或 MongoDB
  3. 前端实时同步

    • 当前:轮询
    • 问题:延迟高
    • 建议:WebSocket 或 SSE

🟡 中优先级

  1. Brainstorm 问题生成

    • 当前:硬编码
    • 建议:基于图谱结构动态生成
  2. 代码索引器

    • 当前:无
    • 建议:AST 解析,支持 TS/Python

🟢 低优先级

  1. LLM API 集成

    • Web UI 可选(用于智能推荐)
    • Agent 插件不需要(复用 Agent 的)
  2. 测试覆盖

    • 需要补充核心模块单元测试

三、开发计划

3.1 里程碑概览

2026-06-15 ──────────────────────────────────────────────────────────────
    │
    │  ← 当前位置 (Web UI 完成,Agent 插件待实现)
    │
2026-06-22 │  ──────────────────────────────────────────────────────────
    │        M1: MCP Server + 后端优化 (1周)
    │
2026-07-06 │  ──────────────────────────────────────────────────────────
    │        M2: 代码索引 + 实时同步 (2周)
    │
2026-07-20 │  ──────────────────────────────────────────────────────────
    │        M3: Brainstorm 智能化 (2周)
    │
2026-08-03 │  ──────────────────────────────────────────────────────────
    │        M4: 多 Agent 平台适配 (2周)
    │
2026-08-24 │  ──────────────────────────────────────────────────────────
             M5: 1.0 正式版 (2周)

3.2 M1: MCP Server + 后端优化(1周)

目标:Agent 能发现和调用 GDD,后端稳定可靠

任务清单

MCP Server 实现

  • 基于 @modelcontextprotocol/sdk 实现 Server
  • 注册 10 个工具(handler)
  • 暴露资源(当前图谱、节点列表)
  • 错误处理和输入验证

后端优化

  • SQLite 替换 JSON 文件存储
  • WebSocket 替换轮询同步
  • 统一错误处理中间件

预估工时:5-7 天

3.3 M2: 代码索引 + 实时同步(2周)

目标:从代码生成图谱,Web UI 实时更新

任务清单

代码索引器

  • TypeScript/JavaScript AST 解析
  • Python AST 解析
  • 提取函数、类、模块、导入
  • 构建依赖图

图谱映射

  • 代码文件 → L5_Task
  • 模块 → L4_Story
  • 包 → L3_Epic

实时同步

  • WebSocket 双向通信
  • 图谱变更实时推送
  • Agent 操作同步到 Web UI

预估工时:10-14 天

3.4 M3: Brainstorm 智能化(2周)

目标:根据图谱状态智能生成澄清问题

任务清单

问题生成规则

  • 基于缺失的层级
  • 基于未连接的节点
  • 基于状态不一致的节点

智能推荐

  • 推荐节点类型
  • 推荐边类型
  • 推荐属性模板

Web UI 优化

  • 问题优先级展示
  • 一键采纳推荐

预估工时:10-14 天

3.5 M4: 多 Agent 平台适配(2周)

目标:支持多个 Agent 平台

任务清单

  • Claude Code 集成测试
  • Codex CLI 集成测试
  • CodeBuddy 内置集成
  • TRAE 集成测试
  • 集成文档和示例

预估工时:10-14 天

3.6 M5: 1.0 正式版(2周)

目标:稳定、完整、可发布

任务清单

  • 性能优化

    • 大型代码库索引优化
    • 图谱渲染优化
    • WebSocket 连接优化
  • 稳定性

    • 边界情况处理
    • 错误恢复
    • 日志系统
  • 文档完善

    • MCP 工具文档
    • 集成指南
    • Web UI 使用手册
    • 示例项目

预估工时:10-14 天


四、MCP 工具规范

4.1 完整工具列表

// 1. 创建图谱项目
{
  name: "gdd_create_graph",
  description: "创建新的图驱动开发项目",
  inputSchema: {
    name: z.string(),
    description: z.string().optional()
  }
}

// 2. 加载图谱
{
  name: "gdd_load_graph",
  description: "加载已有图谱或从代码库索引生成",
  inputSchema: {
    path: z.string(),
    auto_index: z.boolean().default(true)
  }
}

// 3. 添加节点
{
  name: "gdd_add_node",
  description: "在图谱中添加新节点",
  inputSchema: {
    layer: z.enum(['L1_Constitution', 'L2_TechStack', 'L3_Epic', 'L4_Story', 'L5_Task']),
    title: z.string(),
    description: z.string().optional(),
    properties: z.record(z.any()).optional()
  }
}

// 4. 更新节点
{
  name: "gdd_update_node",
  description: "更新图谱中的节点",
  inputSchema: {
    nodeId: z.string(),
    updates: z.object({
      title: z.string().optional(),
      description: z.string().optional(),
      properties: z.record(z.any()).optional(),
      status: z.enum(['draft', 'reviewing', 'approved', 'implemented']).optional()
    })
  }
}

// 5. 删除节点
{
  name: "gdd_delete_node",
  description: "从图谱中删除节点及其相关边",
  inputSchema: {
    nodeId: z.string()
  }
}

// 6. 添加边
{
  name: "gdd_add_edge",
  description: "在两个节点间创建连接",
  inputSchema: {
    source: z.string(),
    target: z.string(),
    type: z.enum(['depends_on', 'contains', 'implements', 'refines'])
  }
}

// 7. 获取待澄清问题
{
  name: "gdd_get_pending_clarifications",
  description: "获取当前图谱中需要用户澄清的问题",
  inputSchema: {}
}

// 8. 提交澄清答案
{
  name: "gdd_submit_clarification_answer",
  description: "提交用户对澄清问题的答案",
  inputSchema: {
    questionId: z.string(),
    answer: z.any()
  }
}

// 9. 获取依赖影响
{
  name: "gdd_get_dependency_impact",
  description: "分析修改某个节点对其他节点的影响",
  inputSchema: {
    nodeId: z.string()
  }
}

// 10. 导出图谱
{
  name: "gdd_export_graph",
  description: "导出图谱为 JSON、Markdown 或其他格式",
  inputSchema: {
    format: z.enum(['json', 'markdown', 'mermaid']).default('json')
  }
}

五、技术架构

5.1 系统架构图

┌─────────────────────────────────────────────────────────────────────┐
│                           用户层                                     │
├─────────────────────────────────────────────────────────────────────┤
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐ │
│  │ Claude Code │  │ Codex CLI  │  │  CodeBuddy  │  │   TRAE     │ │
│  └──────┬──────┘  └──────┬──────┘  └──────┬──────┘  └──────┬──────┘ │
│         │ MCP            │ MCP            │ Plugin         │ MCP    │
└─────────┼────────────────┼────────────────┼────────────────┼────────┘
          │                │                │                │
          ▼                ▼                ▼                ▼
┌─────────────────────────────────────────────────────────────────────┐
│                         MCP Server                                  │
│  ┌─────────────────────────────────────────────────────────────┐   │
│  │  Tools: create_graph, load_graph, add_node, ... (10个)      │   │
│  │  Resources: current_graph, nodes, edges                      │   │
│  │  Prompts: clarification templates                            │   │
│  └─────────────────────────────────────────────────────────────┘   │
└─────────────────────────────────────────────────────────────────────┘
          │
          ▼
┌─────────────────────────────────────────────────────────────────────┐
│                          后端服务                                   │
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐              │
│  │ Graph Engine │  │ Index Engine │  │ Sync Engine  │              │
│  └──────────────┘  └──────────────┘  └──────────────┘              │
│          │                  │                  │                    │
│          ▼                  ▼                  ▼                    │
│  ┌─────────────────────────────────────────────────────────────┐   │
│  │                    SQLite 数据库                             │   │
│  └─────────────────────────────────────────────────────────────┘   │
└─────────────────────────────────────────────────────────────────────┘
          │
          ▼ WebSocket
┌─────────────────────────────────────────────────────────────────────┐
│                         Web UI                                      │
│  ┌─────────────────────────────────────────────────────────────┐   │
│  │  React Flow 图谱编辑器                                       │   │
│  │  • 5层架构可视化                                            │   │
│  │  • Brainstorm 交互                                          │   │
│  │  • 项目管理                                                  │   │
│  └─────────────────────────────────────────────────────────────┘   │
└─────────────────────────────────────────────────────────────────────┘

5.2 技术选型

组件 推荐方案 理由
MCP SDK @modelcontextprotocol/sdk 官方 SDK,TypeScript 支持
代码解析 @typescript-eslint/parser 官方,准确
数据存储 SQLite (better-sqlite3) 轻量,无需服务
实时通信 WebSocket 双向通信,低延迟
前端框架 React + React Flow 已实现,保持
状态管理 Zustand 已实现,保持

六、优先级建议

6.1 立即执行(本周)

  1. MCP Server 框架实现 - 这是被 Agent 集成的前提
  2. SQLite 存储替换 - 解决并发问题
  3. WebSocket 实时同步 - 提升用户体验

6.2 短期(2周内)

  1. 代码索引器 - 从代码生成图谱
  2. 依赖分析 - 分析代码间的依赖
  3. Web UI 同步优化 - 实时显示 Agent 操作

6.3 中期(1个月内)

  1. Brainstorm 智能化 - 动态生成澄清问题
  2. Claude Code 集成测试 - 验证 MCP 协议
  3. Codex CLI 集成测试 - 验证 MCP 协议
  4. CodeBuddy 内置集成 - 内部测试

6.4 长期(2个月)

  1. TRAE 集成 - 扩展 Agent 平台
  2. 性能优化 - 大型项目支持
  3. 文档完善 - 使用指南

七、成功标准

7.1 M1 完成标准

  • MCP Server 能被 Claude Code 发现
  • 10 个工具都能正常调用
  • SQLite 存储稳定
  • WebSocket 连接正常

7.2 M2 完成标准

  • 能从 TypeScript 项目生成图谱
  • 能分析 import 依赖
  • Web UI 能实时显示图谱变更

7.3 M3 完成标准

  • 能根据图谱生成澄清问题
  • 问题与图谱状态相关
  • Web UI 能展示问题优先级

7.4 M5 完成标准

  • 支持 Claude Code、Codex CLI、CodeBuddy
  • Web UI 功能完整
  • 文档完整
  • 性能达标(1000+ 文件索引 < 30s)

八、风险评估

风险 概率 影响 缓解措施
MCP 协议变更 跟踪官方文档,定期更新
Agent 集成复杂度高 先支持单一 Agent,逐步扩展
代码索引准确性 使用官方解析器,人工校验
WebSocket 连接稳定性 心跳检测,自动重连

九、总结

当前状态

  • Web UI 完成度 90%:React Flow 图谱、5层架构、Brainstorm 交互
  • ⚠️ Agent 插件完成度 20%:MCP 类型定义完成,无实际实现
  • 🎯 定位清晰:Agent 插件 + 独立 Web UI 双轨并行

关键路径

MCP Server 实现 (M1) → 代码索引 (M2) → Brainstorm 智能化 (M3) → 多 Agent (M4)

双轨协同

  • Agent 插件:开发时通过对话操作图谱
  • Web UI:审查时可视化查看图谱
  • 共享核心:图谱引擎 + 状态管理

下一步行动

  1. 实现 MCP Server 框架
  2. SQLite 替换 JSON 存储
  3. WebSocket 实时同步
  4. 与 CodeBuddy 内部测试

本计划基于 Agent 插件 + Web UI 双轨定位制定。