An autonomous AI agent that conducts comprehensive research on any topic and generates detailed, well-structured reports.
Manual research is time-consuming, inconsistent, and often incomplete. This agent autonomously:
- Researches topics across multiple sources
- Synthesizes information intelligently
- Generates comprehensive, well-structured reports
- Adapts research depth based on query complexity
- 🖥️ Interactive Web UI: Beautiful, modern interface with real-time progress tracking
- Autonomous Research: Automatically searches and gathers information from multiple sources
- Intelligent Synthesis: Combines findings from different sources into coherent insights
- Smart Report Generation: Creates well-formatted reports with citations and structure
- Multi-step Reasoning: Plans research strategy and executes systematically
- Source Tracking: Maintains references and citations for all information
- Multiple Interfaces: Choose between Web UI or CLI based on your preference
├── src/
│ ├── agent/
│ │ ├── __init__.py
│ │ ├── research_agent.py # Main agent orchestrator
│ │ └── planner.py # Research planning logic
│ ├── modules/
│ │ ├── __init__.py
│ │ ├── web_researcher.py # Web search and content extraction
│ │ ├── synthesizer.py # Information synthesis
│ │ └── report_generator.py # Report creation
│ └── utils/
│ ├── __init__.py
│ └── config.py # Configuration management
├── outputs/ # Generated reports
├── .env.example # Environment variables template
├── requirements.txt # Python dependencies
├── app.py # Web UI (Streamlit)
├── main.py # CLI entry point
├── run_ui.bat # Windows launcher for UI
└── run_ui.sh # Linux/Mac launcher for UI
- Install dependencies:
pip install -r requirements.txt- Set up environment variables:
cp .env.example .env
# Edit .env and add your API keys:
# - GOOGLE_API_KEY (for Gemini)
# - TAVILY_API_KEY (for web search)- Run the application:
# Windows
run_ui.bat
# Linux/Mac
chmod +x run_ui.sh
./run_ui.sh
# Or directly:
streamlit run app.pyThen open your browser to http://localhost:8501
python main.py "Your research topic here"
# With options:
python main.py "Impact of AI on healthcare" --depth deep --format html- Open the application in your browser
- Enter your research topic
- Select research depth (Auto/Shallow/Medium/Deep)
- Click "Start Research"
- View results and download reports
# Basic research
python main.py "Impact of AI on healthcare"
# Deep research with HTML output
python main.py "Climate change solutions" --depth deep --format html
# Quick research without saving
python main.py "Python best practices" --depth shallow --no-savefrom src.agent.research_agent import ResearchAgent
agent = ResearchAgent()
result = agent.research("Impact of AI on healthcare", depth="medium")
print(result['report'])
print(f"Report saved to: {result['report_path']}")- LangChain: Agent framework and orchestration
- Google Gemini: LLM for reasoning and generation (free API available)
- Tavily/DuckDuckGo: Web search capabilities
- BeautifulSoup: Web content extraction
- Markdown: Report formatting