Files
AIChatRoom/README.md
Claude Code edbddf855d feat: AI聊天室多Agent协作讨论平台
- 实现Agent管理,支持AI辅助生成系统提示词
- 支持多个AI提供商(OpenRouter、智谱、MiniMax等)
- 实现聊天室和讨论引擎
- WebSocket实时消息推送
- 前端使用React + Ant Design
- 后端使用FastAPI + MongoDB

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 19:20:02 +08:00

208 lines
4.7 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.
# AI聊天室 - 多Agent协作讨论平台
一个基于多AI Agent协作的聊天室系统支持配置多种AI接口创建具有不同角色的Agent并让它们在聊天室中针对特定目标进行自由讨论最终达成共识。
## 功能特性
### 1. AI接口管理
- 支持多种AI提供商MiniMax、智谱、OpenRouter、Kimi、DeepSeek、Gemini
- 支持本地模型Ollama、LLM Studio
- 可配置代理支持海外API访问
- API密钥加密存储
- 速率限制和连接测试
### 2. Agent管理
- 创建自定义Agent角色
- 配置系统提示词和行为参数
- 支持记忆功能、MCP工具、多模态输入
- 预设模板快速创建(产品经理、开发工程师、设计师等)
- Agent测试对话功能
### 3. 聊天室
- 创建讨论聊天室添加多个Agent参与
- 设置讨论目标,启动自由讨论
- Agent根据角色自主判断是否发言
- 实时WebSocket消息推送
- 支持暂停、恢复、停止讨论
### 4. 共识判断
- 主持人Agent判断讨论是否达成共识
- 自动生成讨论摘要和行动项
- 记录未解决的问题
- 讨论历史回放
## 技术架构
```
├── backend/ # FastAPI后端
│ ├── adapters/ # AI接口适配器
│ ├── models/ # 数据模型
│ ├── services/ # 业务逻辑
│ ├── routers/ # API路由
│ └── utils/ # 工具函数
├── frontend/ # React前端
│ ├── src/
│ │ ├── components/ # UI组件
│ │ ├── pages/ # 页面
│ │ ├── stores/ # 状态管理
│ │ └── services/ # API服务
└── docker-compose.yml # Docker编排
```
## 快速开始
### 使用Docker推荐
1. 克隆项目并进入目录:
```bash
cd AIChatRoom
```
2. 复制环境变量配置:
```bash
cp .env.example .env
# 编辑 .env 文件,修改密钥等配置
```
3. 启动服务:
```bash
docker-compose up -d
```
4. 访问应用:
- 前端http://localhost:3000
- 后端APIhttp://localhost:8000
- API文档http://localhost:8000/docs
### 本地开发
#### 后端
1. 创建Python虚拟环境
```bash
cd backend
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
```
2. 安装依赖:
```bash
pip install -r requirements.txt
```
3. 配置环境变量:
```bash
cp .env.example .env
# 编辑 .env 文件
```
4. 启动MongoDB
```bash
# 确保MongoDB已安装并运行
mongod
```
5. 启动后端:
```bash
python main.py
```
#### 前端
1. 安装依赖:
```bash
cd frontend
npm install
```
2. 启动开发服务器:
```bash
npm run dev
```
## 使用指南
### 1. 配置AI接口
1. 进入"AI接口配置"页面
2. 点击"添加接口"
3. 选择提供商类型填写API密钥和模型名称
4. 如需代理,开启"使用代理"并填写代理地址
5. 点击测试验证连接
### 2. 创建Agent
1. 进入"Agent管理"页面
2. 使用预设模板或点击"创建Agent"
3. 填写名称、角色、系统提示词
4. 选择关联的AI接口
5. 配置行为参数(温度、发言倾向等)
### 3. 开始讨论
1. 进入"聊天室"页面
2. 创建新聊天室选择参与的Agent
3. 可指定主持人Agent用于共识判断
4. 点击"开始讨论",输入讨论目标
5. 观察Agent自由讨论等待达成共识
## API文档
启动后端后访问 http://localhost:8000/docs 查看完整的Swagger API文档。
### 主要端点
- `POST /api/providers` - 创建AI接口配置
- `POST /api/agents` - 创建Agent
- `POST /api/chatrooms` - 创建聊天室
- `POST /api/chatrooms/{id}/start` - 启动讨论
- `WS /api/chatrooms/ws/{id}` - 聊天室WebSocket
## 配置说明
### 环境变量
| 变量 | 说明 | 默认值 |
|------|------|--------|
| MONGODB_URL | MongoDB连接地址 | mongodb://localhost:27017 |
| MONGODB_DB | 数据库名称 | ai_chatroom |
| SECRET_KEY | 应用密钥 | - |
| ENCRYPTION_KEY | 加密密钥(32字节) | - |
| DEFAULT_HTTP_PROXY | 默认HTTP代理 | - |
| DEFAULT_HTTPS_PROXY | 默认HTTPS代理 | - |
### 代理配置
对于需要代理访问的AI接口如Gemini、OpenRouter在接口配置中开启代理
```json
{
"use_proxy": true,
"proxy_config": {
"http_proxy": "http://127.0.0.1:7890",
"https_proxy": "http://127.0.0.1:7890"
}
}
```
## 扩展开发
### 添加新的AI提供商
1.`backend/adapters/` 创建新的适配器文件
2. 继承 `BaseAdapter`
3. 实现 `chat``chat_stream``test_connection` 方法
4.`adapters/__init__.py` 注册新适配器
### 自定义共识判断逻辑
修改 `backend/services/consensus_manager.py` 中的 `CONSENSUS_PROMPT` 模板,调整共识判断的标准。
## 许可证
MIT License
## 贡献
欢迎提交Issue和Pull Request