没有专职产品经理?让 AI 补位,把需求变成可验收的交付物。 面向「无专职 PM、通过兼职/外包平台招募开发」的业务公司的开源需求管理平台。
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 一键全栈 |
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(首次登录后务必修改,或通过 .env 的 ADMIN_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。
- 用
admin登录,注册一个「业务方」账号和一个「外包开发」账号 - 业务方提交一条需求(描述 + 可选图片/语音)
- 等 AI 整理完成 → 确认 → AI 生成 Demo → 确认 Demo → AI 生成 PRD
- 评审通过 → AI 技术分析 → AI 生成代码 → 确认交付
- 业务方把外包账号「分配」给该需求,外包登录后只能看到自己的任务
draft → sorted → confirmed → pm_processing → demo_generating → demo_review
↓
prd_writing → reviewing
↓
tech_analyzing → coding → delivered
所有状态迁移均有校验,delivered / rejected 为终态不可回退;每步变更写入操作日志。
| 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 服务文件
| 变量 | 说明 | 默认值 |
|---|---|---|
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| 方法 | 路径 | 说明 |
|---|---|---|
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
- 认证与角色权限(业务方/外包/管理员 + 数据隔离)
- AI 任务后台化
- 里程碑与款项管理(预付/中期/尾款,验收驱动放款)
- 外包交付工作台(提交交付物、与业务方留痕沟通)
- 验收包(按验收标准逐项打勾 + 截图/视频)
- 多租户/项目隔离
- AI 成本看板(token 消耗统计)
- Git 平台集成(提交记录留痕)
欢迎提 Issue、PR 或加入讨论。开发前请先阅读 CONTRIBUTING。