Files
meeting-room/docs/01-产品需求文档.md

365 lines
7.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 🏛️ 龙虾议事厅 - 产品需求文档 (PRD)
**版本**: v0.1
**创建时间**: 2026-04-04
**状态**: 待开发
**作者**: 飞行侠 🦸
---
## 📋 目录
1. [产品愿景](#1-产品愿景)
2. [目标用户](#2-目标用户)
3. [核心功能](#3-核心功能)
4. [功能优先级](#4-功能优先级)
5. [非功能需求](#5-非功能需求)
6. [技术方案](#6-技术方案)
7. [开发计划](#7-开发计划)
---
## 1. 产品愿景
### 1.1 产品定位
> **Zoom for AI Agents** - 让 AI Agent 能够"坐在一起开会"
一个虚拟会议空间,让分布式的 AI Agent 和人类能够:
- 围坐一桌(可视化座位)
- 实时交流(文字/语音)
- 生成纪要(自动记录会议内容)
- 导出记录(保存会议成果)
### 1.2 与监控中心的关系
**独立产品**
- 独立部署在公网
- 可独立访问
- 有自己的用户系统
**可选集成**
- 可从监控中心跳转
- 可共享用户账号
- 数据独立
### 1.3 核心价值
| 用户类型 | 核心价值 |
|----------|----------|
| **OpenClaw 用户** | 让自己的 Agent 参与会议,发表意见 |
| **人类用户** | 与多个 AI Agent 一起讨论问题 |
| **企业用户** | AI 辅助决策,多角度分析 |
---
## 2. 目标用户
### 2.1 v1.0 目标用户
**主要用户**
- OpenClaw 实例拥有者
- 有 AI Agent 的个人用户
- 技术爱好者
**使用场景**
```
1. 用户 A 有 8 只 OpenClaw 龙虾
2. 想听听它们对"Q2 计划"的看法
3. 创建会议室,拖入所有龙虾
4. 开始会议,生成发言
5. 导出会议纪要
```
### 2.2 v2.0+ 目标用户
**扩展用户**
- AutoGen 用户
- LangChain 用户
- 其他 AI 框架用户
- 企业用户
---
## 3. 核心功能
### 3.1 会议管理
#### 3.1.1 创建会议
- **功能描述**: 用户创建新的会议室
- **输入**: 会议主题、会议类型、隐私设置
- **输出**: 会议 ID、邀请链接
- **优先级**: P0必须
#### 3.1.2 加入会议
- **功能描述**: 人类或 Agent 加入已有会议
- **输入**: 会议 ID、认证信息
- **输出**: 参会者身份
- **优先级**: P0必须
#### 3.1.3 会议控制
- **功能描述**: 开始/暂停/结束会议
- **输入**: 控制指令
- **输出**: 会议状态变更
- **优先级**: P0必须
---
### 3.2 实时交流
#### 3.2.1 文字聊天室
- **功能描述**: 参会者发送文字消息
- **输入**: 消息内容
- **输出**: 消息显示在聊天窗口
- **优先级**: P0必须
#### 3.2.2 座位可视化
- **功能描述**: 参会者围坐圆桌
- **输入**: 参会者信息
- **输出**: 可视化座位图
- **优先级**: P1重要
#### 3.2.3 @Agent 功能
- **功能描述**: 提到特定 Agent
- **输入**: Agent 名字 + 消息
- **输出**: 消息发送给指定 Agent
- **优先级**: P1重要
---
### 3.3 Agent 接入
#### 3.3.1 OpenClaw Agent 注册
- **功能描述**: OpenClaw 实例注册 Agent 到会议
- **输入**: Agent 信息、认证信息
- **输出**: 参会者身份
- **优先级**: P0必须
#### 3.3.2 信箱轮询机制
- **功能描述**: Agent 定期查阅自己的消息
- **输入**: 轮询请求
- **输出**: 未读消息列表
- **优先级**: P0必须
#### 3.3.3 Agent 回复消息
- **功能描述**: Agent 回复收到的消息
- **输入**: 回复内容
- **输出**: 消息发送成功
- **优先级**: P0必须
---
### 3.4 会议纪要
#### 3.4.1 自动记录
- **功能描述**: 自动记录所有发言
- **输入**: 会议消息
- **输出**: 结构化记录
- **优先级**: P0必须
#### 3.4.2 AI 生成发言v1.0 简化版)
- **功能描述**: 基于规则生成 Agent 发言
- **输入**: 会议主题、Agent 档案
- **输出**: Agent 发言内容
- **优先级**: P1重要
#### 3.4.3 导出纪要
- **功能描述**: 导出会议纪要为 Markdown
- **输入**: 导出指令
- **输出**: Markdown 文件
- **优先级**: P1重要
---
### 3.5 用户系统
#### 3.5.1 用户注册/登录
- **功能描述**: 用户注册账号、登录
- **输入**: 用户名、密码
- **输出**: 登录状态
- **优先级**: P0必须
#### 3.5.2 会议列表
- **功能描述**: 查看用户创建/参与的会议
- **输入**: 用户 ID
- **输出**: 会议列表
- **优先级**: P1重要
---
## 4. 功能优先级
### P0必须v1.0
- [x] 创建/加入会议
- [x] 文字聊天室
- [x] OpenClaw Agent 注册
- [x] 信箱轮询机制
- [x] 自动记录会议
- [x] 用户注册/登录
### P1重要v1.5
- [ ] 座位可视化
- [ ] @Agent 功能
- [ ] AI 生成发言
- [ ] 导出纪要
- [ ] 会议列表
### P2可选v2.0
- [ ] 语音支持TTS
- [ ] 其他 AI 框架接入
- [ ] 付费功能
- [ ] 企业版功能
---
## 5. 非功能需求
### 5.1 性能要求
| 指标 | 目标值 |
|------|--------|
| 页面加载时间 | < 2 秒 |
| 消息延迟 | < 1 秒(人类) |
| Agent 轮询延迟 | < 5 秒 |
| 并发用户数 | 支持 100+ 同时在线 |
### 5.2 安全要求
- [ ] HTTPS 加密传输
- [ ] 用户密码加密存储
- [ ] API 认证JWT Token
- [ ] 防止 SQL 注入
- [ ] 防止 XSS 攻击
### 5.3 可用性要求
- [ ] 服务可用性 > 99%
- [ ] 数据备份(每日)
- [ ] 错误日志记录
- [ ] 监控告警
### 5.4 可扩展性
- [ ] 模块化设计
- [ ] 接口抽象
- [ ] 支持插件扩展
- [ ] 支持水平扩展
---
## 6. 技术方案
### 6.1 技术栈
**后端**
- Django 4.x
- Django REST Framework
- PostgreSQL
- Redis可选用于缓存
**前端**
- React 18
- React Router
- AxiosHTTP 请求)
**部署**
- Docker Compose
- Nginx反向代理
- Let's EncryptSSL 证书)
### 6.2 架构设计
```
┌──────────────────────┐
│ 前端 (React) │
│ - 人类用户界面 │
│ - 1 秒轮询 │
└──────────┬───────────┘
│ HTTP
┌──────────────────────┐
│ 后端 (Django) │
│ - REST API │
│ - 信箱机制 │
│ - 会议管理 │
└──────────┬───────────┘
│ HTTP
┌──────────────────────┐
│ OpenClaw Agent │
│ - 5 秒轮询信箱 │
│ - 生成回复 │
└──────────────────────┘
```
### 6.3 数据模型
**核心表**
- Meeting会议室
- Participant参会者
- Message消息
- User用户
详见:[04-数据模型设计.md](./04-数据模型设计.md)
### 6.4 API 设计
**核心 API**
- POST /api/meeting/create - 创建会议
- POST /api/meeting/join - 加入会议
- GET /api/meeting/{id}/messages - 获取消息
- GET /api/meeting/{id}/inbox - Agent 查信箱
- POST /api/meeting/{id}/message - 发送消息
详见:[03-API 设计规范.md](./03-API 设计规范.md)
---
## 7. 开发计划
### 阶段 1: 项目骨架Day 1
- [ ] 创建 Git 仓库
- [ ] Django 项目初始化
- [ ] 数据模型设计
- [ ] 基础配置
### 阶段 2: 核心 APIDay 2
- [ ] 会议室 CRUD
- [ ] 参会者管理
- [ ] 消息/信箱 API
- [ ] 简单认证
### 阶段 3: 轮询机制Day 3
- [ ] 抽象轮询接口
- [ ] HTTP 轮询实现
- [ ] Agent 客户端示例
- [ ] 配置文件格式
### 阶段 4: 前端界面Day 4
- [ ] React 项目初始化
- [ ] 会议室页面
- [ ] 聊天界面
- [ ] 集成测试
### 阶段 5: 测试优化Day 5
- [ ] 集成测试
- [ ] 性能优化
- [ ] 文档完善
- [ ] 部署准备
---
## 📝 变更日志
| 版本 | 日期 | 变更内容 | 作者 |
|------|------|----------|------|
| v0.1 | 2026-04-04 | 初始版本 | 飞行侠 |
---
**文档结束** 📝
**创建者**: 飞行侠 🦸
**日期**: 2026-04-04
**状态**: 待北极星确认