Deep Exploration and Efficient Research Flow
Deep Research is an AI-powered deep research framework that combines language models with specialized tools for web search, crawling, and code execution to generate comprehensive research reports.
uv: Python environment and dependency managementnvm: Node.js version managementpnpm: Node.js package management
- Python: Version
3.12+ - Node.js: Version
22+
# Clone the repository
git clone https://github.com/BooniesFX/flow-ui
cd deer-flow
# Install Python dependencies
uv sync
# Install web UI dependencies
cd web
pnpm install
cd ..uv run main.py# Start both backend and frontend servers
# On macOS/Linux
./bootstrap.sh -d
# On Windows
bootstrap.bat -dOpen your browser and visit http://localhost:3000
Note: By default, the backend binds to 127.0.0.1. To allow external connections, modify the bootstrap script to use
--host 0.0.0.0. Ensure proper security measures before exposing to external networks.
- π€ LLM Integration
- Support for multiple LLM providers via litellm
- OpenAI-compatible API interface
- Multi-tier LLM system for different task complexities
-
π Search and Retrieval
- Multiple search engines: Tavily, Brave Search, DuckDuckGo, Arxiv, Searx/SearxNG
- Web crawling with Jina
- Advanced content extraction
-
π RAG Integration
- Support for private knowledge bases via RAGFlow
- File mention support in input
-
π MCP Integration
- Seamless integration with Model Context Protocol
- Expand capabilities for private domain access and knowledge graphs
-
π¬ Intelligent Clarification
- Multi-turn dialogue to clarify vague research topics
- Improve research precision and reduce ineffective searches
- Configurable enable/disable control
-
π§ Human-in-the-Loop
- Interactive modification of research plans
- Natural language feedback support
- Auto-acceptance option for streamlined workflow
-
π Report Editing
- Notion-like block editing interface
- AI-assisted refinements (polishing, shortening, expansion)
- Powered by tiptap
This framework implements a modular multi-agent system built on LangGraph:
- Coordinator: Entry point managing workflow lifecycle
- Planner: Strategic task decomposition and planning
- Research Team: Specialized agents for execution
- Researcher: Web search and information gathering
- Coder: Code analysis and execution
- Reporter: Final report generation and formatting
- Tavily (default): AI-specialized search API
- Requires
TAVILY_API_KEY - Sign up: https://app.tavily.com/home
- Requires
# Run all tests
make test
# Run specific test file
pytest tests/integration/test_workflow.py
# Run with coverage
make coverage# Run linting
make lint
# Format code
make formatThis framework uses LangGraph for workflow architecture. Use LangGraph Studio to debug and visualize workflows in real-time.
macOS:
uvx --refresh --from "langgraph-cli[inmem]" --with-editable . --python 3.12 langgraph dev --allow-blockingWindows/Linux:
pip install -e .
pip install -U "langgraph-cli[inmem]"
langgraph devThe framework supports workflow checkpointing with PostgreSQL and MongoDB:
- In-memory store for caching streaming messages
- Automatic persistence on completion or interruption
- Replay support for conversations
Configure in .env:
LANGGRAPH_CHECKPOINT_SAVER=true
LANGGRAPH_CHECKPOINT_DB_URL="mongodb://localhost:27017/"
# or
# LANGGRAPH_CHECKPOINT_DB_URL="postgresql://localhost:5432/postgres"Note: For PostgreSQL, use
langgraph-checkpoint-postgres==2.0.21due to known issues in later versions. See issue #5557.
Warning: For production deployments, add authentication and evaluate security for MCPServer and Python REPL.
# Run with a specific query
uv run main.py "What factors are influencing AI adoption in healthcare?"
# Run with custom parameters
uv run main.py --max_plan_iterations 3 "How does quantum computing impact cryptography?"
# Interactive mode
uv run main.py --interactive
# View all options
uv run main.py --help- OpenAI Sora Report - Analysis of OpenAI's Sora AI tool
- Agent to Agent Protocol - Google's A2A protocol overview
- What is MCP? - Model Context Protocol analysis
- Bitcoin Price Fluctuations - Market trend analysis
- What is LLM? - Large Language Models exploration
- Claude for Deep Research - Best practices guide
- AI in Healthcare - Adoption factors analysis
- Quantum Computing & Cryptography - Impact analysis
- Cristiano Ronaldo Highlights - Performance analysis
uv run main.py --interactive- Select your preferred language
- Choose from built-in questions or ask your own
- Review and approve the research plan
- Get a comprehensive research report
The framework supports interactive plan review and modification:
- Plan Review: Review generated research plans before execution
- Feedback:
- Accept:
[ACCEPTED] - Edit:
[EDIT PLAN] Add more steps about technical implementation
- Accept:
- Auto-acceptance: Enable via API with
auto_accepted_plan: true
API Example:
{
"messages": [{ "role": "user", "content": "What is quantum computing?" }],
"thread_id": "my_thread_id",
"auto_accepted_plan": false,
"feedback": "[EDIT PLAN] Include more about quantum algorithms"
}This project is licensed under the MIT License.
This project is built upon the incredible work of the open-source community:
