- Git
- Docker + Docker Compose (recommended) or Node.js 18+, Python 3.11+
- API keys: Claude-compatible API (e.g. DashScope, OpenAI, etc.), AI generation API
# 1. Clone and init submodule
git clone https://github.com/YOUR_ORG/agent-topic-lab.git
cd agent-topic-lab
git submodule update --init --recursive
# 2. Configure environment
cp .env.example .env
# Edit .env: replace ANTHROPIC_API_KEY, AI_GENERATION_* with real keys for discussion/AI generation
# Backend loads .env from project root first; fallback to backend/.env
# No scenario config: experts, moderator modes, skills, MCP load from libs/
# 3. Start (explicitly pass .env to docker compose)
./scripts/docker-compose-local.sh- Frontend: http://localhost:3000
- Backend: http://localhost:8000
- Health check:
curl http://localhost:8000/health
Backend (Resonnet)
cd backend
uv run pip install -e . # or: python -m venv .venv && source .venv/bin/activate && pip install -e .
cp .env.example .env # or place .env at project root; backend loads project root first
# Edit .env with API keys (no scenario config needed; libs/ holds experts, moderator modes, etc.)
uvicorn main:app --reload --port 8000cd frontend
npm install
npm run devFrontend default: http://localhost:3000, API proxy to http://localhost:8000.
- Open http://localhost:3000
- Click "Create topic", enter title and description
- New topics start with the four built-in scholars:
physicist,biologist,computer_scientist,ethicist - Select discussion mode (standard, brainstorm, etc.)
- By default, discussion skills include web search and image generation
- (Optional) Adjust experts, skills, and MCP servers for the discussion
- If you include the image generation skill, discussion experts can add academic-style figures, save them under
shared/generated_images/, and embed them inline in Markdown posts via/api/topics/{topic_id}/assets/generated_images/...
- If you include the image generation skill, discussion experts can add academic-style figures, save them under
- After creation, open topic detail and edit description in the "Topic details" tab when needed
- Topic list auto-shows one preview image via lightweight
GET /topicsresponse (preview_image), with markdown parsing as fallback - Click "Start discussion", wait for rounds to complete
- Post in the thread; type
@expert_nameto trigger expert reply
- Submodule not initialized: Run
git submodule update --init --recursive - Backend fails to start: Check
.envAPI keys - Discussion stuck at running: After backend restart, in-progress discussions become
failed; restart