An AI-powered research assistant that helps you analyze papers, discover related work, and generate research proposals with both CLI and web interfaces.
- Multi-Agent System: Specialized agents for different research tasks
- Paper Analysis: Deep analysis of research papers from various sources
- Literature Search: Automated discovery of related papers
- Research Synthesis: Intelligent synthesis of findings across papers
- Proposal Generation: AI-generated research proposals based on analysis
- arXiv URLs: Direct processing of arXiv papers
- PDF Files: Local PDF document analysis
- LaTeX Content: Direct LaTeX text processing
- Plain Text: General text analysis capabilities
- Command Line Interface: Interactive terminal-based research sessions
- Web Interface: Modern, responsive web UI with real-time updates
- Session Persistence: Save and load research contexts
- Real-time Processing: Live status updates and streaming responses
- Mid-Session Paper Addition: Add new papers during ongoing research
- Context-Aware Analysis: Maintains research context across sessions
- Multi-Source Search: arXiv and Google Scholar integration
- Intelligent Synthesis: Connects findings across multiple papers
- Research Proposal Refinement: Iterative improvement of research ideas
- Python 3.8+
- OpenAI API key
- Clone the repository
git clone https://github.com/yourusername/enhanced-research-assistant.git
cd enhanced-research-assistant- Install dependencies
pip install -r requirements_research.txt
pip install flask flask-socketio # For web interface- Set up environment
export OPENAI_API_KEY="your-openai-api-key-here"python enhanced_research_assistant.pypython web_app.pyThen open http://localhost:52609 in your browser.
# Add arXiv paper
add https://arxiv.org/abs/2301.00001
# Add local PDF
add /path/to/paper.pdf
# Add LaTeX content
add "\\title{My Paper}\\begin{abstract}..."# Search for related papers
search transformer architecture
# Analyze specific aspects
analyze methodology
# Investigate authors
authors Attention Is All You Need
# Get research summary
summary
# Refine research proposal
refine proposal- Quick Actions: One-click buttons for common tasks
- Real-time Chat: Interactive conversation with the AI
- Context Panel: Live view of research context
- Paper Upload Modal: Easy paper addition interface
- Session Management: Save/load research sessions
- EnhancedResearchAssistant: Main orchestrator class
- PaperProcessor: Handles multiple input formats
- Multi-Agent System: Specialized AI agents for different tasks
- WebResearchSession: Web interface session management
- Paper Analyzer: Deep analysis of individual papers
- Literature Searcher: Discovery of related work
- Research Synthesizer: Cross-paper synthesis
- Proposal Writer: Research proposal generation
- Backend: Flask + SocketIO for real-time communication
- Frontend: Modern HTML5/CSS3/JavaScript with WebSocket
- Session Management: UUID-based session tracking
- Async Processing: Background task processing
enhanced-research-assistant/
βββ enhanced_research_assistant.py # Main CLI application
βββ web_app.py # Web interface server
βββ templates/
β βββ index.html # Web UI template
βββ requirements_research.txt # Python dependencies
βββ FEATURES_SUMMARY.md # Detailed feature documentation
βββ research_context.json # Example saved context
βββ README.md # This file
OPENAI_API_KEY: Required for AI functionalityFLASK_ENV: Set to 'development' for debug mode
- Modify agent prompts in
enhanced_research_assistant.py - Adjust web interface styling in
templates/index.html - Configure search parameters and result limits
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Built on top of the AutoGen framework
- Powered by OpenAI's GPT models
- Inspired by the need for better research tools
- Create an issue for bug reports or feature requests
- Check the FEATURES_SUMMARY.md for detailed documentation
- Review example usage in the repository
Happy Researching! πβ¨# ResearchAgent