ResearchOS is an autonomous multi-agent research engine designed to perform deep, high-fidelity web research, content extraction, synthesis, and critical auditing in real time. Powered by Groq high-speed inference (Llama 3.3 70B Versatile), Tavily Web Search, and LangChain / LangGraph, ResearchOS orchestrates a team of specialized AI agents working sequentially in a Directed Acyclic Graph (DAG) pipeline.
- Autonomous Multi-Agent Workflow: Sequential collaboration between 4 specialized agents (Search, Reader, Writer, Critic).
- Ultra-Fast Inference: Driven by Groq's low-latency Llama 3.3 70B model for fast, comprehensive research reports.
- Real-Time Live Web Discovery: Uses Tavily AI Search API to fetch high-authority web pages and raw search snippets.
- Deep Web Scraping & Noise Reduction: BeautifulSoup4 extracts high-signal text while stripping script, navigation, and advertisement clutter.
- Adversarial Quality Auditing: Dedicated Critic agent performs strict evaluations, outputting numerical quality scores (0-10), strengths, and key areas for improvement.
- Modern Interactive Dashboard: High-aesthetic React frontend featuring live agent phase tracking, interactive DAG visualization, execution logs, research history, and clean Markdown rendering.
- Production Ready Deployment: Pre-configured
render.yamlfor instant cloud deployment on Render.
ResearchOS utilizes a Directed Acyclic Graph (DAG) workflow where data passes through distinct cognitive stages. Each agent enriches the system state before passing control to the next specialist.
graph TD
User([User Research Query]) -->|1. Research Topic| SearchAgent[Search Agent]
SearchAgent -->|2. Web URLs & Snippets| ReaderAgent[Reader Agent]
ReaderAgent -->|3. Clean Scraped Content| WriterChain[Writer Chain]
WriterChain -->|4. Structured Markdown Report| CriticChain[Critic Chain]
CriticChain -->|5. Verified Report + Score & Audit Notes| UI[Interactive Research Dashboard]
subgraph Agent Workforce
SearchAgent
ReaderAgent
WriterChain
CriticChain
end
| Agent / Chain | Role | Tools / Model | Responsibilities & Outputs |
|---|---|---|---|
| Search Agent | Web Explorer | Tavily Search APILlama-3.3-70b-versatile |
Queries live web search engines, discovers high-authority sources, and extracts search result metadata. |
| Reader Agent | Content Scraper | BeautifulSoup4Requests |
Parses top target URLs, removes ads/script noise, and isolates core signals into clean text data blocks. |
| Writer Chain | Synthesis Expert | LangChain Expression LanguageLlama-3.3-70b-versatile |
Synthesizes scraped content into a structured executive report complete with findings, conclusions, and cited sources. |
| Critic Chain | Quality Auditor | LangChain Expression LanguageLlama-3.3-70b-versatile |
Conducts adversarial evaluation of the draft report, assigning a score (0-10), listing strengths, and noting improvement areas. |
Multi-agent-research-system/
├── backend/
│ ├── agents.py # Definition of Search, Reader, Writer, and Critic agents/chains
│ ├── main.py # FastAPI server with CORS, ThreadPoolExecutor, and API routes
│ ├── pipeline.py # Sequential execution workflow (run_research_pipeline)
│ ├── tools.py # Custom tools: web_search (Tavily) & scrape_url (BS4)
│ ├── requirements.txt # Python backend dependencies
│ ├── README.md # Backend specific documentation
│ └── .env.example # Environment variable template
├── frontend/
│ ├── src/
│ │ ├── App.jsx # React interactive dashboard & pipeline visualization
│ │ ├── App.css # Component-level styling & custom scrollbars
│ │ ├── index.css # Global design tokens, dark theme & responsive layouts
│ │ └── main.jsx # React application entry point
│ ├── package.json # Frontend dependencies (React 19, Framer Motion, Lucide)
│ ├── vite.config.js # Vite build configuration
│ └── README.md # Frontend setup guide
├── render.yaml # Render deployment configuration specification
└── README.md # Main project documentation
- Python 3.10+
- Node.js 18+ & npm
- Groq API Key: Get a free key from Groq Console
- Tavily API Key: Get a free key from Tavily AI
Create a .env file inside the backend/ directory:
cp backend/.env.example backend/.envAdd your API keys to backend/.env:
GROQ_API_KEY=gsk_your_groq_api_key_here
TAVILY_API_KEY=tvly-your_tavily_api_key_here-
Navigate to the
backenddirectory:cd backend -
Create and activate a Python virtual environment:
- Linux / macOS:
python3 -m venv .venv source .venv/bin/activate - Windows (PowerShell):
python -m venv .venv .\.venv\Scripts\Activate.ps1
- Linux / macOS:
-
Install required Python packages:
pip install -r requirements.txt
-
Launch the FastAPI backend server:
python main.py
The API will be available at
http://localhost:8000. API documentation is automatically accessible athttp://localhost:8000/docs.
-
Open a new terminal window and navigate to the
frontenddirectory:cd frontend -
Install Node dependencies:
npm install
-
Start the Vite development server:
npm run dev
-
Open your browser and navigate to
http://localhost:5173.
Executes the autonomous multi-agent research pipeline for a given topic.
{
"topic": "Latest advancements in quantum computing hardware 2026"
}{
"search_results": "Raw web search snippets and metadata...",
"scraped_content": "Extracted full-text article content...",
"report": "# Executive Summary\n\nQuantum computing has made significant strides...",
"feedback": "Score: 9/10\n\nStrengths:\n- Thorough coverage of superconducting qubits...\n\nAreas to Improve:\n- Could expand on neutral atom approaches.\n\nOne line verdict: Excellent executive summary."
}- Framework: FastAPI + Uvicorn
- AI / LLM Orchestration: LangChain & LangGraph
- LLM Provider: Groq API (Llama-3.3-70b-versatile)
- Web Search API: Tavily AI
- Web Parser: BeautifulSoup4 + Requests
- Frontend Core: React 19 + Vite
- Animations & Icons: Framer Motion & Lucide React
- Markdown Rendering: React Markdown + Remark GFM
The repository includes a ready-to-use render.yaml specification:
- Connect your GitHub repository to Render.
- Select Blueprint deployment.
- Set the required environment variables (
GROQ_API_KEYandTAVILY_API_KEY) in the Render Dashboard. - Deploy!
Distributed under the MIT License. See LICENSE for details.