A full-stack AI research agent that breaks complex questions into parallel research threads, searches the web, summarizes findings, and synthesizes a final report - all streamed live to the UI.
Running - parallel researcher threads searching the web, results streaming in real time
Complete - synthesized markdown report with all sources
frontend (Next.js 16) ←→ backend (FastAPI + LangGraph)
↓
START → planner → [Send ×N] → researcher (parallel)
↓ (merge)
summarizer
↓
synthesizer → END
| Directory | Stack |
|---|---|
frontend/ |
Next.js 16 + React 19 + TypeScript + Tailwind CSS v4 |
backend/ |
FastAPI + LangGraph + langchain-openai + Tavily |
cd backend
uv sync
cp .env.example .env # fill in OPENAI_API_KEY, TAVILY_API_KEY
uv run main.pycd frontend
pnpm install
cp .env.example .env.local # set NEXT_PUBLIC_API_URL
pnpm devApp runs at http://localhost:3000, backend at http://localhost:8000.
OPENAI_API_KEY=sk-...
GROQ_API_KEY=gsk_... # optional, for Groq provider
TAVILY_API_KEY=tvly-...
LLM_PROVIDER=openai
LLM_MODEL=gpt-4o-miniNEXT_PUBLIC_API_URL=http://localhost:8000