🚀 端到端研发自动化系统 · 任务 22

PRD 协同编辑与人机协同修改系统

基于 OpenClaw + Claude Code 的智能文档协作平台,实现从需求到 PRD 设计的自动化与人机协同

4
核心模块
20+
API 接口
AI
智能分析引擎
实时协作

系统架构概览

📝
在线富文本编辑器
支持 Markdown 格式的实时编辑,内置工具栏快速格式化,自动保存功能确保内容安全。 提供结构化 PRD 模板,帮助团队快速创建标准化文档。
🤖
AI 智能分析引擎
集成 Claude Code 大模型,提供改进建议、内容扩展、摘要生成、一致性检查等 多种分析模式,自动生成高质量的建议并说明理由。
👥
人机协同工作流
AI 生成建议 → 人工审核 → 接受/拒绝 → 自动合并创建新版本。 完整的审批流程确保 AI 建议经过人工验证,保证文档质量。
📜
版本控制系统
每次修改自动创建新版本,支持版本间差异对比,追溯文档演进历史。 AI 生成的版本会自动标记,方便识别和管理。
实时协作编辑
基于 WebSocket 实现多人同时编辑,实时同步变更,显示协作者状态。 智能冲突解决机制确保数据一致性。
💬
评论与讨论
支持在文档中添加评论,线程化讨论,标记问题解决状态。 促进团队成员之间的沟通和反馈。

人机协同工作流程

✍️
1
编写 PRD
产品经理创建初稿
🤖
2
AI 分析
Claude 生成建议
👁️
3
人工审核
审阅每条建议
4
合并版本
接受并创建新版本

AI 分析类型

分析类型 描述 适用场景
improve 改进建议 - 优化文档质量和完整性 初稿完成后提升文档质量
expand 内容扩展 - 添加更多细节和场景 需要补充边界情况和异常处理
summarize 生成摘要 - 创建执行摘要 为管理层准备简洁概述
check_consistency 一致性检查 - 发现矛盾和不一致 提交前最终审查

核心 API 接口

方法 路径 描述
POST /api/prd 创建新的 PRD 文档
GET /api/prd/{id} 获取指定 PRD 文档
PUT /api/prd/{id} 更新 PRD 文档(自动创建版本)
POST /api/prd/{id}/ai/analyze AI 分析文档并生成建议
GET /api/prd/{id}/suggestions 获取所有 AI 建议
POST /api/prd/{id}/suggestions/{id}/review 审核 AI 建议(接受/拒绝)
GET /api/prd/{id}/versions 获取文档所有版本
GET /api/prd/{id}/diff/{old}/{new} 版本差异对比
POST /api/prd/{id}/comments 添加评论
WS /ws/collaborate/{id}/{user} WebSocket 实时协作

使用示例

Python - 创建 PRD 并请求 AI 分析
import httpx
import asyncio

async def create_and_analyze_prd():
    async with httpx.AsyncClient() as client:
        # 1. 创建 PRD 文档
        prd_data = {
            "title": "用户管理系统",
            "content": """
# 产品需求文档

## 1. 产品概述
构建一个完整的用户管理系统,支持注册、登录、权限管理等功能。

## 2. 核心功能
- 用户注册与登录
- 角色权限管理
- 个人资料管理
""",
            "structured_data": {
                "priority": "high",
                "estimated_days": 30
            }
        }
        
        response = await client.post(
            "http://localhost:8000/api/prd",
            json=prd_data
        )
        prd = response.json()
        print(f"✅ PRD 创建成功,ID: {prd['id']}")
        
        # 2. 请求 AI 分析
        analysis_request = {
            "document_id": prd['id'],
            "analysis_type": "improve",
            "instructions": "重点关注安全性和可扩展性"
        }
        
        analysis_response = await client.post(
            f"http://localhost:8000/api/prd/{prd['id']}/ai/analyze",
            json=analysis_request
        )
        
        result = analysis_response.json()
        print(f"🤖 AI 生成了 {len(result['suggestions'])} 条建议:")
        
        for suggestion in result['suggestions']:
            print(f"\n💡 {suggestion['suggested_content']}")
            print(f"   理由:{suggestion['reasoning']}")
        
        # 3. 接受建议
        if result['suggestions']:
            review_response = await client.post(
                f"http://localhost:8000/api/prd/{prd['id']}/suggestions/{result['suggestions'][0]['id']}/review",
                json={"accept": True}
            )
            print("✅ 已接受第一条建议")

asyncio.run(create_and_analyze_prd())

技术栈

🐍
后端框架
FastAPI - 高性能异步 Web 框架
SQLAlchemy - ORM 数据库操作
SQLite/PostgreSQL - 数据存储
🎨
前端技术
HTML5/CSS3 - 现代化界面
Vanilla JavaScript - 轻量级交互
WebSocket - 实时通信
🧠
AI 集成
Claude Code - 大语言模型
Anthropic API - AI 服务接口
Mock Service - 离线演示模式
🔧
开发工具
Pytest - 单元测试框架
Uvicorn - ASGI 服务器
Git - 版本控制

快速部署

一键启动脚本
# 1. 进入项目目录
cd prd_collaborative_system/backend

# 2. 安装依赖
pip install -r requirements.txt

# 3. 配置环境变量(可选)
cp .env.example .env
# 编辑 .env 添加 CLAUDE_API_KEY

# 4. 启动服务
python main.py

# 或使用 uvicorn
uvicorn main:app --host 0.0.0.0 --port 8000 --reload

# 5. 访问应用
# 浏览器打开:http://localhost:8000

后续集成计划

  1. PRD 设计 - 当前完成模块
  2. 后端技术方案设计 Agent - 根据 PRD 自动生成技术架构
  3. 前端技术方案设计 Agent - 生成前端技术选型和组件设计
  4. API 接口协议设计 - 自动生成 OpenAPI/Swagger 规范
  5. AI Coding - 根据设计文档自动生成代码
  6. Unit Test - 自动生成单元测试用例
  7. 集成测试 - 端到端测试自动化
  8. CI/CD - Jenkins + Docker + K8S 自动部署
  9. UI 自动化测试 - Selenium/Playwright 验收测试