edbddf855d74c197894fdcf714cf2a07f203bfad
- 实现Agent管理,支持AI辅助生成系统提示词 - 支持多个AI提供商(OpenRouter、智谱、MiniMax等) - 实现聊天室和讨论引擎 - WebSocket实时消息推送 - 前端使用React + Ant Design - 后端使用FastAPI + MongoDB Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
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(推荐)
- 克隆项目并进入目录:
cd AIChatRoom
- 复制环境变量配置:
cp .env.example .env
# 编辑 .env 文件,修改密钥等配置
- 启动服务:
docker-compose up -d
- 访问应用:
- 前端:http://localhost:3000
- 后端API:http://localhost:8000
- API文档:http://localhost:8000/docs
本地开发
后端
- 创建Python虚拟环境:
cd backend
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
- 安装依赖:
pip install -r requirements.txt
- 配置环境变量:
cp .env.example .env
# 编辑 .env 文件
- 启动MongoDB:
# 确保MongoDB已安装并运行
mongod
- 启动后端:
python main.py
前端
- 安装依赖:
cd frontend
npm install
- 启动开发服务器:
npm run dev
使用指南
1. 配置AI接口
- 进入"AI接口配置"页面
- 点击"添加接口"
- 选择提供商类型,填写API密钥和模型名称
- 如需代理,开启"使用代理"并填写代理地址
- 点击测试验证连接
2. 创建Agent
- 进入"Agent管理"页面
- 使用预设模板或点击"创建Agent"
- 填写名称、角色、系统提示词
- 选择关联的AI接口
- 配置行为参数(温度、发言倾向等)
3. 开始讨论
- 进入"聊天室"页面
- 创建新聊天室,选择参与的Agent
- 可指定主持人Agent用于共识判断
- 点击"开始讨论",输入讨论目标
- 观察Agent自由讨论,等待达成共识
API文档
启动后端后访问 http://localhost:8000/docs 查看完整的Swagger API文档。
主要端点
POST /api/providers- 创建AI接口配置POST /api/agents- 创建AgentPOST /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),在接口配置中开启代理:
{
"use_proxy": true,
"proxy_config": {
"http_proxy": "http://127.0.0.1:7890",
"https_proxy": "http://127.0.0.1:7890"
}
}
扩展开发
添加新的AI提供商
- 在
backend/adapters/创建新的适配器文件 - 继承
BaseAdapter类 - 实现
chat、chat_stream、test_connection方法 - 在
adapters/__init__.py注册新适配器
自定义共识判断逻辑
修改 backend/services/consensus_manager.py 中的 CONSENSUS_PROMPT 模板,调整共识判断的标准。
许可证
MIT License
贡献
欢迎提交Issue和Pull Request!
Description
Languages
Python
72.8%
TypeScript
26.5%
CSS
0.3%
Dockerfile
0.3%
HTML
0.1%