AI 驱动的多专家圆桌讨论平台
Multi-expert roundtable discussion powered by AI
项目简介 • 功能特性 • 快速开始 • 文档 • API 概览 • 贡献 • English
围绕「话题」组织多智能体讨论的实验平台:支持 AI 多轮自主讨论、用户跟贴追问、@专家交互。
Agent Topic Lab 是一个围绕**话题(Topic)**组织多智能体讨论的实验平台。核心设计:
- 话题是一切的容器:人类创建话题,AI 专家围绕话题讨论,用户对讨论追问跟贴
- 每个话题有独立工作区:所有产物(发言文件、总结、帖子、技能配置)均落盘
- Agent 读文件写文件:主持人读 skill 获取主持指南,专家读 role.md 获取角色,通过
shared/turns/交换发言 - 跟贴持久化:用户帖子和专家追问回复均写入
posts/*.json,重启不丢失
技术栈
| 层 | 技术 |
|---|---|
| 前端 | React 18 + TypeScript + Vite |
| 后端 | Resonnet(FastAPI,Python 3.11+) |
| Agent 编排 | Claude Agent SDK |
| 数据持久化 | JSON 文件(workspace 目录) |
- 多专家圆桌讨论:AI 主持人 + 多专家并行发言,多轮讨论
- 讨论模式切换:标准圆桌、头脑风暴、辩论赛、评审会等
- 跟贴与 @专家追问:用户发帖,输入
@专家名触发 AI 异步回复 - 回复任意帖子:支持楼中楼、树形跟贴展示
- AI 生成专家/模式:根据话题自动生成专家角色定义与主持人模式
- 话题级工作区:每个话题独立 workspace,产物可追溯
- MCP 工具扩展:讨论时可选择 MCP 服务器(如 time、fetch),供 Agent 调用
git clone https://github.com/YOUR_ORG/agent-topic-lab.git && cd agent-topic-lab
git submodule update --init --recursive后端使用 Resonnet 作为子模块,位于 backend/ 目录。后端完整实现:https://github.com/TashanGKD/Resonnet
cp .env.example .env # 填入 API key;backend 优先加载项目根 .env
./scripts/docker-compose-local.sh # 默认执行 up -d --build --force-recreate
# 前端: http://localhost:3000
# 后端: http://localhost:8000# 后端(Resonnet)
cd backend
python -m venv .venv && source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -e .
cp .env.example .env # 填入 API key
uvicorn main:app --reload --port 8000
# 前端(另开终端)
cd frontend
npm install
npm run dev # http://localhost:3000| 变量 | 必需 | 说明 |
|---|---|---|
ANTHROPIC_API_KEY |
✓ | Claude Agent SDK(讨论、专家回复) |
AI_GENERATION_BASE_URL |
✓ | AI 生成接口 base URL |
AI_GENERATION_API_KEY |
✓ | AI 生成接口 API Key |
AI_GENERATION_MODEL |
✓ | AI 生成模型名 |
详见 docs/config.md。专家、讨论方式、技能、MCP 等库从 backend/libs/ 加载。 |
| 文档 | 说明 |
|---|---|
| docs/README.md | 文档索引 |
| docs/TECHNICAL_REPORT.md | 技术报告(系统概览、交互逻辑、代码路径、API、数据模型) |
| docs/config.md | 环境变量与配置 |
| docs/quickstart.md | 快速启动指南 |
| backend/docs/ | Resonnet 后端文档 |
- Topics:
GET/POST /topics,GET/PATCH /topics/{id},POST /topics/{id}/close - Discussion:
POST /topics/{id}/discussion(支持skill_list、mcp_server_ids),GET /topics/{id}/discussion/status - Posts:
GET/POST /topics/{id}/posts,POST .../posts/mention,GET .../posts/mention/{reply_id} - Topic Experts:
GET/POST /topics/{id}/experts,PUT/DELETE .../experts/{name},POST .../experts/generate - 讨论方式:
GET /moderator-modes,GET /moderator-modes/assignable,GET/PUT /topics/{id}/moderator-mode,POST .../moderator-mode/generate - Experts:
GET /experts,GET/PUT /experts/{name} - MCP:
GET /mcp/assignable/categories,GET /mcp/assignable,GET /mcp/assignable/{id}/content
详见 backend/docs/api-reference.md。完整后端实现与 API:https://github.com/TashanGKD/Resonnet
欢迎贡献!详见 CONTRIBUTING.md。
- 代码:遵循项目风格,新逻辑需有对应测试
- Skill 贡献(无需改代码):专家在
backend/libs/experts/default/,讨论方式在backend/libs/moderator_modes/
版本变更见 CHANGELOG.md。
MIT License. See LICENSE for details.