How adityamhaske/multi-agent-research-assistant works
Multi-Agent Research Assistant is a self-hostable and desktop research product. A user submits a question, reviews and approves the proposed plan before research, then reviews the cited draft before approval freezes a verifiable report artifact. The graph preserves the distinct planning, evidence gathering, critique, synthesis, human-review, and verification stages, plus corpus and grounded-chat capabilities. Source excerpts are partial, so some subsystem links follow the README’s documented workflow rather than inspected call sites; uncertain internal wiring is omitted.
Main entry points: router.py Versioned API · runs.py Run endpoints · pipeline_runner.py Pipeline worker · graph.py Agent pipeline
Components 22
User interfaces
- Research workspace
frontend/app/(app)/research/page.tsx - Run review
frontend/app/(app)/research/run/page.tsx - Live session
frontend/components/session/SessionView.tsx - Project chat
frontend/app/(app)/chat/page.tsx
Application services
- Versioned API
backend/app/api/v1/router.py - Research endpoints
backend/app/api/v1/research.py - Run endpoints
backend/app/api/v1/runs.py - Corpus endpoints
backend/app/api/v1/corpus.py - Chat endpoints
backend/app/api/v1/chat.py - Pipeline worker
backend/app/workers/pipeline_runner.py - Artifact export
backend/app/services/export.py
Research engine
- Research orchestrator
backend/research_engine/runner.py - Agent pipeline
backend/research_engine/graph.py - Research tools
backend/research_engine/tools.py - Project corpus
backend/research_engine/corpus.py - Offline verifier
backend/research_engine/verify_bundle.py
Research records
- Report and claims
backend/app/models/research.py - Reviews and approvals
backend/app/models/review.py
Other components
- Researcher
- Model providers
- Web sources
- Application database
Connections 26
- Researcher → Research workspace: asks question
- Research workspace → Research endpoints: starts research
- Run review → Run endpoints: reviews run
- Live session → Research endpoints: streams events
- Project chat → Chat endpoints: asks follow-up
- Versioned API → Research endpoints: routes requests
- Versioned API → Run endpoints: routes requests
- Versioned API → Corpus endpoints: routes requests
- Versioned API → Chat endpoints: routes requests
- Research endpoints → Pipeline worker: dispatches run
- Run endpoints → Pipeline worker: resumes run
- Pipeline worker → Research orchestrator: runs or resumes
- Research orchestrator → Agent pipeline: executes graph
- Agent pipeline → Research tools: invokes tools
- Research tools → Web sources: searches and reads
- Agent pipeline → Model providers: calls models
- Corpus endpoints → Project corpus: ingests documents
- Project corpus → Agent pipeline: supplies evidence
- Research orchestrator → Report and claims: records research
- Run endpoints → Reviews and approvals: records decisions
- Report and claims → Application database: persists records
- Reviews and approvals → Application database: persists approvals
- Artifact export → Report and claims: exports report
- Artifact export → Reviews and approvals: includes approval
- Offline verifier → Researcher: checks bundle offline
- Pipeline worker → Model providers: resolves model routes