生成时间:2026-06-15 版本:v0.1.0 MVP 定位:Coding Agent 插件 + 独立 Web UI 双轨并行
Graph-Driven Development = Agent 插件 + 独立 Web UI
┌─────────────────────────────────────────────────────────────┐
│ Graph-Driven Development │
├─────────────────────────────────────────────────────────────┤
│ ┌─────────────────┐ ┌─────────────────────────────────┐ │
│ │ Agent 插件 │ │ 独立 Web UI │ │
│ │ (MCP Server) │ │ (React Flow 可视化) │ │
│ ├─────────────────┤ ├─────────────────────────────────┤ │
│ │ • 需求澄清 │ │ • 完整的图谱编辑器 │ │
│ │ • 依赖管理 │ │ • 5层架构可视化 │ │
│ │ • 工具调用 │ │ • Brainstorm 交互 │ │
│ │ • 图谱操作 │ │ • 项目管理 │ │
│ └─────────────────┘ └─────────────────────────────────┘ │
│ ↓ ↓ │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ 共享核心:图谱引擎 + 状态管理 ││
│ └─────────────────────────────────────────────────────────┘│
└─────────────────────────────────────────────────────────────┘
| 场景 | 使用方式 | 说明 |
|---|---|---|
| 通过 Agent 对话开发 | Agent 插件 | 用户与 Agent 对话,Agent 调用 MCP 工具操作图谱 |
| 独立查看/编辑图谱 | Web UI | 用户直接打开 Web UI 查看和编辑项目图谱 |
| 团队协作审查 | Web UI | 团队成员通过 Web UI 审查架构设计 |
| 文档生成 | Web UI + Agent | 从图谱生成架构文档、技术规范 |
| Agent 平台 | 集成方式 | 优先级 |
|---|---|---|
| Claude Code | MCP 协议 | P0 |
| Codex CLI | MCP 协议 | P0 |
| CodeBuddy | 内置插件 + MCP | P0 |
| TRAE | MCP 协议 | P1 |
| Cursor | MCP 协议 | P1 |
| Windsurf | MCP 协议 | P2 |
| 维度 | Agent 插件 | Web UI | 结合效果 |
|---|---|---|---|
| 使用门槛 | 低(对话即可) | 中(需学习界面) | 双路径覆盖不同用户 |
| 操作效率 | 高(自然语言) | 高(可视化拖拽) | 取长补短 |
| 适用场景 | 开发流程 | 审查/展示 | 全场景覆盖 |
| 模块 | 完成度 | 状态 | 说明 |
|---|---|---|---|
| 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 插件待实现)
-
MCP Server 完整实现
- 当前:只有类型定义
- 问题:无法被 Agent 发现和调用
- 建议:实现完整的 MCP Server
-
后端数据持久化
- 当前:JSON 文件 + 5秒轮询
- 问题:并发冲突、无事务
- 建议:SQLite 或 MongoDB
-
前端实时同步
- 当前:轮询
- 问题:延迟高
- 建议:WebSocket 或 SSE
-
Brainstorm 问题生成
- 当前:硬编码
- 建议:基于图谱结构动态生成
-
代码索引器
- 当前:无
- 建议:AST 解析,支持 TS/Python
-
LLM API 集成
- Web UI 可选(用于智能推荐)
- Agent 插件不需要(复用 Agent 的)
-
测试覆盖
- 需要补充核心模块单元测试
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周)
目标:Agent 能发现和调用 GDD,后端稳定可靠
MCP Server 实现
- 基于
@modelcontextprotocol/sdk实现 Server - 注册 10 个工具(handler)
- 暴露资源(当前图谱、节点列表)
- 错误处理和输入验证
后端优化
- SQLite 替换 JSON 文件存储
- WebSocket 替换轮询同步
- 统一错误处理中间件
预估工时:5-7 天
目标:从代码生成图谱,Web UI 实时更新
代码索引器
- TypeScript/JavaScript AST 解析
- Python AST 解析
- 提取函数、类、模块、导入
- 构建依赖图
图谱映射
- 代码文件 → L5_Task
- 模块 → L4_Story
- 包 → L3_Epic
实时同步
- WebSocket 双向通信
- 图谱变更实时推送
- Agent 操作同步到 Web UI
预估工时:10-14 天
目标:根据图谱状态智能生成澄清问题
问题生成规则
- 基于缺失的层级
- 基于未连接的节点
- 基于状态不一致的节点
智能推荐
- 推荐节点类型
- 推荐边类型
- 推荐属性模板
Web UI 优化
- 问题优先级展示
- 一键采纳推荐
预估工时:10-14 天
目标:支持多个 Agent 平台
- Claude Code 集成测试
- Codex CLI 集成测试
- CodeBuddy 内置集成
- TRAE 集成测试
- 集成文档和示例
预估工时:10-14 天
目标:稳定、完整、可发布
-
性能优化
- 大型代码库索引优化
- 图谱渲染优化
- WebSocket 连接优化
-
稳定性
- 边界情况处理
- 错误恢复
- 日志系统
-
文档完善
- MCP 工具文档
- 集成指南
- Web UI 使用手册
- 示例项目
预估工时:10-14 天
// 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')
}
}┌─────────────────────────────────────────────────────────────────────┐
│ 用户层 │
├─────────────────────────────────────────────────────────────────────┤
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ 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 交互 │ │
│ │ • 项目管理 │ │
│ └─────────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────────┘
| 组件 | 推荐方案 | 理由 |
|---|---|---|
| MCP SDK | @modelcontextprotocol/sdk |
官方 SDK,TypeScript 支持 |
| 代码解析 | @typescript-eslint/parser |
官方,准确 |
| 数据存储 | SQLite (better-sqlite3) | 轻量,无需服务 |
| 实时通信 | WebSocket | 双向通信,低延迟 |
| 前端框架 | React + React Flow | 已实现,保持 |
| 状态管理 | Zustand | 已实现,保持 |
- MCP Server 框架实现 - 这是被 Agent 集成的前提
- SQLite 存储替换 - 解决并发问题
- WebSocket 实时同步 - 提升用户体验
- 代码索引器 - 从代码生成图谱
- 依赖分析 - 分析代码间的依赖
- Web UI 同步优化 - 实时显示 Agent 操作
- Brainstorm 智能化 - 动态生成澄清问题
- Claude Code 集成测试 - 验证 MCP 协议
- Codex CLI 集成测试 - 验证 MCP 协议
- CodeBuddy 内置集成 - 内部测试
- TRAE 集成 - 扩展 Agent 平台
- 性能优化 - 大型项目支持
- 文档完善 - 使用指南
- MCP Server 能被 Claude Code 发现
- 10 个工具都能正常调用
- SQLite 存储稳定
- WebSocket 连接正常
- 能从 TypeScript 项目生成图谱
- 能分析 import 依赖
- Web UI 能实时显示图谱变更
- 能根据图谱生成澄清问题
- 问题与图谱状态相关
- Web UI 能展示问题优先级
- 支持 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:审查时可视化查看图谱
- 共享核心:图谱引擎 + 状态管理
- 实现 MCP Server 框架
- SQLite 替换 JSON 存储
- WebSocket 实时同步
- 与 CodeBuddy 内部测试
本计划基于 Agent 插件 + Web UI 双轨定位制定。