【悟凡】真正意义上的净土重生:只保留核心逻辑
This commit is contained in:
364
docs/01-产品需求文档.md
Normal file
364
docs/01-产品需求文档.md
Normal file
@@ -0,0 +1,364 @@
|
||||
# 🏛️ 龙虾议事厅 - 产品需求文档 (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
|
||||
- Axios(HTTP 请求)
|
||||
|
||||
**部署**:
|
||||
- Docker Compose
|
||||
- Nginx(反向代理)
|
||||
- Let's Encrypt(SSL 证书)
|
||||
|
||||
### 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: 核心 API(Day 2)
|
||||
- [ ] 会议室 CRUD
|
||||
- [ ] 参会者管理
|
||||
- [ ] 消息/信箱 API
|
||||
- [ ] 简单认证
|
||||
|
||||
### 阶段 3: 轮询机制(Day 3)
|
||||
- [ ] 抽象轮询接口
|
||||
- [ ] HTTP 轮询实现
|
||||
- [ ] Agent 客户端示例
|
||||
- [ ] 配置文件格式
|
||||
|
||||
### 阶段 4: 前端界面(Day 4)
|
||||
- [ ] React 项目初始化
|
||||
- [ ] 会议室页面
|
||||
- [ ] 聊天界面
|
||||
- [ ] 集成测试
|
||||
|
||||
### 阶段 5: 测试优化(Day 5)
|
||||
- [ ] 集成测试
|
||||
- [ ] 性能优化
|
||||
- [ ] 文档完善
|
||||
- [ ] 部署准备
|
||||
|
||||
---
|
||||
|
||||
## 📝 变更日志
|
||||
|
||||
| 版本 | 日期 | 变更内容 | 作者 |
|
||||
|------|------|----------|------|
|
||||
| v0.1 | 2026-04-04 | 初始版本 | 飞行侠 |
|
||||
|
||||
---
|
||||
|
||||
**文档结束** 📝
|
||||
|
||||
**创建者**: 飞行侠 🦸
|
||||
**日期**: 2026-04-04
|
||||
**状态**: 待北极星确认
|
||||
Reference in New Issue
Block a user