Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Requirement Platform — AI-Native 需求全生命周期管理平台

没有专职产品经理?让 AI 补位,把需求变成可验收的交付物。 面向「无专职 PM、通过兼职/外包平台招募开发」的业务公司的开源需求管理平台。

License Python Vue Docker

English | 简体中文


这个平台解决什么问题

业务公司最常见的死循环:

老板拍脑袋提需求 → 没有产品经理写需求文档 → 外包开发凭感觉做
→ 做出来的不是想要的 → 扯皮、返工、尾款纠纷 → 外包跑路

本平台用 6 个 AI Agent 全程补位产品经理,把「提交 → 整理 → Demo → PRD → 评审 → 技术分析 → 代码生成 → 交付」全流程串起来,让没有任何产品经验的人也能把需求说清楚、让外包照着文档交付、让验收有据可查。

三类角色,各取所需

角色 他们能做什么
业务方(老板/运营/业务员) 丢一段话+图片+语音提需求,AI 自动整理;确认 Demo、生成 PRD、评审、验收交付
外包开发(兼职/外包平台招募) 只看到分配给自己的需求(数据隔离),跟着 PRD 和验收标准干活
管理员 用户管理、分配外包、全局视角

与其他开源方案的区别

方案 代表项目 缺点(本平台的差异点)
通用项目管理工具 OpenProject / Redmine / Plane 无 AI 补位,非技术用户写不出需求文档;无外包协作
Spec-Driven 开发框架 GitHub spec-kit / OpenSpec 面向开发者的 CLI 工具,业务人员用不了;无 Web 平台
AI PRD 生成器 各类 prd-generator 只有单点生成,无流程管理、无权限隔离、无验收闭环
本平台 业务人员可用 + AI 全流程 + 外包数据隔离 + 验收留痕

功能一览

  • 🤖 AI 需求整理:自动分类、打标签、建议关联模块/API、置信度评分
  • 🎨 AI Demo 生成:根据需求直接生成可交互 HTML 原型,确认后再进入 PRD
  • 📄 AI PRD 生成:结合用户洞察、竞品分析输出完整 PRD(含验收标准)
  • 🔍 AI 技术分析 + 代码生成:自动映射模块/API/代码路径,生成核心代码文件
  • 🎙️ 语音/图片/视频需求:支持附件上传 + AI 转写摘要
  • 🔐 角色权限隔离:业务方只看自己的需求,外包只看到被分配的任务
  • 全流程留痕:每一步状态变更、评审意见、操作日志均可追溯
  • ⚙️ AI 任务后台化:长耗时 AI 任务异步执行,前端轮询进度,不怕超时

架构

业务人员 ──→ 提交需求(文字+图片+音频+视频)
                │
                ▼
         🤖 AI 整理 Agent (自动分类/关联模块/打标签)
                │
                ▼
           需求确认 ──→ 分类路由 ──→ PM 工作台
                                        │
                              ┌─────────┼─────────┐
                              ▼         ▼         ▼
                         用户洞察   竞品分析   🤖 Demo 生成
                              │         │         │
                              └─────────┼─────────┘
                                        ▼
                              🤖 PRD 生成 Agent
                                        │
                                        ▼
                                   需求评审
                                        │
                              ┌─────────┼─────────┐
                              ▼                   ▼
                     🤖 技术分析 Agent     🤖 代码生成 Agent
                       (关联模块/API)        (生成代码文件)
                              │                   │
                              └─────────┬─────────┘
                                        ▼
                                   确认交付

技术栈

技术
后端 Python 3.12 + FastAPI + SQLAlchemy(async)
数据库 MySQL 8.0(兼容 SQLite 开发)
前端 Vue 3 + TypeScript + Element Plus + Vite
AI OpenAI 兼容 API(DeepSeek / OpenAI / Ollama 均可)
部署 Docker Compose 一键全栈

快速开始

方式一:Docker 一键启动(推荐)

git clone https://github.com/showdownagain/pmwork.git
cd pmwork

# 1. 配置 AI 与管理员账号
cp backend/.env.example backend/.env
vim backend/.env
#   OPENAI_API_KEY=sk-your-key            # 必填,DeepSeek/OpenAI 均可
#   OPENAI_BASE_URL=https://api.deepseek.com/v1
#   OPENAI_MODEL=deepseek-v4-pro

# 2. 一键启动 前端 + 后端 + MySQL
docker compose up -d --build

# 3. 访问
#   前端:      http://localhost:5173
#   API文档:   http://localhost:8001/docs

默认管理员账号:admin / admin123456首次登录后务必修改,或通过 .envADMIN_USERNAME / ADMIN_PASSWORD 指定)。

不配置 AI Key 也可以体验完整流程(AI 任务会标记失败),配置后自动启用。

方式二:开发模式手动启动

# MySQL
docker compose up -d mysql

# 后端
cd backend
python3 -m venv venv && source venv/bin/activate
pip install -r requirements.txt
cp .env.example .env   # 填入 AI Key
uvicorn app.main:app --host 0.0.0.0 --port 8001 --reload

# 前端(另开终端)
cd frontend
npm install
npm run dev -- --host 0.0.0.0

启动后前端 http://localhost:5173 会自动代理 /api 到后端 8001

快速体验建议流程

  1. admin 登录,注册一个「业务方」账号和一个「外包开发」账号
  2. 业务方提交一条需求(描述 + 可选图片/语音)
  3. 等 AI 整理完成 → 确认 → AI 生成 Demo → 确认 Demo → AI 生成 PRD
  4. 评审通过 → AI 技术分析AI 生成代码 → 确认交付
  5. 业务方把外包账号「分配」给该需求,外包登录后只能看到自己的任务

状态机

draft → sorted → confirmed → pm_processing → demo_generating → demo_review
                                                      ↓
                                              prd_writing → reviewing
                                                      ↓
                                    tech_analyzing → coding → delivered

所有状态迁移均有校验,delivered / rejected 为终态不可回退;每步变更写入操作日志。

Agent 体系

Agent 触发 输入 输出
需求整理 业务提交后 标题 + 描述 + 模块列表 结构化需求 + 标签 + 分类 + 置信度
竞品分析 PM 触发 需求 + 竞品名 功能对比 + 差距分析
Demo 生成 PM 触发 需求描述 + 设计规范 可交互 HTML 页面
PRD 生成 Demo 确认后 需求 + 洞察 + 竞品 完整 PRD (Markdown)
技术分析 评审通过后 PRD + 模块信息 模块/API/代码路径映射
代码生成 技术分析后 PRD + 技术方案 代码文件

所有 Agent 通过 OpenAI 兼容 API 调用,切换模型只需修改 .env 中的 OPENAI_MODEL。 长耗时任务写入 ai_tasks 表异步执行,前端自动轮询。

数据库

12 张核心业务表(启动时自动创建):

表名 说明
requirements 需求主表(状态/优先级/分类/关联模块)
requirement_media 附件表(图片/音频/视频 + AI 摘要)
ai_sort_results AI 整理结果
pm_assignments 外包分配表
insights 用户洞察
competitor_analyses 竞品分析
demos AI 生成的 Demo
prds PRD 文档
reviews 评审记录
tech_mappings 技术映射(模块/API/代码路径)
generated_code AI 生成的代码文件
requirement_logs 操作日志
users 用户表(业务方/外包/管理员)
ai_tasks AI 后台任务表

项目结构

requirement-platform/
├── docker-compose.yml          # 一键启动 MySQL + 后端 + 前端
├── backend/
│   ├── Dockerfile
│   ├── requirements.txt
│   ├── init.sql
│   └── app/
│       ├── main.py             # FastAPI 入口(启动建表 + 种子管理员)
│       ├── auth.py             # JWT 认证 + 角色权限
│       ├── models/             # ORM 模型(14 张表)
│       ├── schemas/            # Pydantic 验证
│       ├── api/                # REST 路由(auth / requirements / ai-tasks)
│       ├── agents/             # 6 个 AI Agent
│       └── services/           # 业务逻辑 + 后台任务执行
├── frontend/
│   ├── Dockerfile              # 多阶段构建 + Nginx
│   ├── nginx.conf              # 前端路由 + /api 反向代理
│   └── src/
│       ├── views/              # 登录/看板/提交/详情/PM工作台/评审
│       ├── stores/             # Pinia(auth / requirement)
│       └── router/             # 路由守卫(登录 + 角色)
└── scripts/                    # systemd 服务文件

环境变量(backend/.env

变量 说明 默认值
DATABASE_URL MySQL 连接串 mysql+aiomysql://rp_user:...@localhost:3307/requirement_platform
OPENAI_API_KEY AI API Key
OPENAI_BASE_URL AI 端点 https://api.openai.com/v1
OPENAI_MODEL 默认模型 gpt-4o
WHISPER_API_KEY 语音转写 Key(不填则跟随 OPENAI) OPENAI_API_KEY
WHISPER_BASE_URL 语音转写端点(不填则跟随 OPENAI) OPENAI_BASE_URL
JWT_SECRET JWT 签名密钥(生产必须修改) change-me-in-production
JWT_EXPIRE_MINUTES Token 有效期 10080(7天)
ADMIN_USERNAME / ADMIN_PASSWORD 种子管理员(仅空表生效) admin / admin123456
UPLOAD_DIR 上传目录 ./uploads
MAX_UPLOAD_SIZE 单文件上限(byte) 52428800(50MB)

常见 AI 端点:

# DeepSeek
OPENAI_API_KEY=sk-xxx
OPENAI_BASE_URL=https://api.deepseek.com/v1
OPENAI_MODEL=deepseek-v4-pro

# Ollama(本地免费)
OPENAI_API_KEY=ollama
OPENAI_BASE_URL=http://localhost:11434/v1
OPENAI_MODEL=qwen2.5:14b

API 概览

方法 路径 说明
POST /api/auth/register 注册(业务方/外包)
POST /api/auth/login 登录获取 JWT
GET /api/auth/me 当前用户
GET /api/users?role=developer 用户列表
POST /api/requirements 创建需求
GET /api/requirements 列表(按角色自动隔离)
GET /api/requirements/{id} 详情(含全部关联数据)
PUT /api/requirements/{id}/status 状态变更(带校验)
POST /api/requirements/{id}/upload 上传附件
POST /api/requirements/{id}/ai-sort AI 需求整理(异步任务)
POST /api/requirements/{id}/assign-pm 分配外包开发
POST /api/requirements/{id}/demo/generate AI 生成 Demo(异步任务)
PUT /api/requirements/{id}/demos/{did}/confirm 确认/驳回 Demo
POST /api/requirements/{id}/prd/generate AI 生成 PRD(异步任务)
POST /api/requirements/{id}/tech-analyze AI 技术映射(异步任务)
POST /api/requirements/{id}/code-generate AI 代码生成(异步任务)
GET /api/ai-tasks/{id} 轮询 AI 任务进度

完整接口文档:启动后访问 http://localhost:8001/docs

Roadmap

  • 认证与角色权限(业务方/外包/管理员 + 数据隔离)
  • AI 任务后台化
  • 里程碑与款项管理(预付/中期/尾款,验收驱动放款)
  • 外包交付工作台(提交交付物、与业务方留痕沟通)
  • 验收包(按验收标准逐项打勾 + 截图/视频)
  • 多租户/项目隔离
  • AI 成本看板(token 消耗统计)
  • Git 平台集成(提交记录留痕)

贡献

欢迎提 Issue、PR 或加入讨论。开发前请先阅读 CONTRIBUTING

License

MIT

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages