DeepResearch is an intelligent research Agent built on Spring AI Alibaba Graph, designed to tackle complex research tasks. It adopts a Multi-Agent collaborative pattern, supporting dynamic task planning and execution. The system integrates multi-source online search and Hybrid RAG technology, combined with Secure Sandbox for Python code execution, enabling efficient data analysis. Through Reflection, HITL, and Self-evolution Memory, the Agent can continuously self-optimize, ultimately outputting high-quality research reports with deep insights.
- 📋Plan and Execute: Dynamic planning and automatic execution for complex problems
- 🤖Multi Agent: Multi-agent collaboration (e.g., Researcher, Coder)
- 🌐Online Search: Integrated multi-source search services including Tavily, Jina, Aliyun AI Search
- 📖Hybrid RAG: Combines vector and keyword retrieval for comprehensive information acquisition
- 🔄Reflection: Agent self-reflection for continuous output quality optimization
- 🚶♂️HITL: Human-in-the-loop feedback for enhanced controllability
- 🧬Self-evolution Memory: Self-evolving memory structure and user role memory based on interaction feedback
- 🖇️MCP Allocation: Support for MCP allocation in multi-agent scenarios
- 🔒Secure Sandbox: Secure Python code execution in Docker sandbox environment
- 📊Report Generation: Supports HTML report preview, Markdown, PDF and other report formats
DeepResearch/
├── ├── src/
│ ├── agents # Multi-Agent initialization, MCP allocation, observability initialization
│ ├── config # Graph construction, project Config classes
│ ├── controller # HTTP endpoints
│ ├── dispatcher # Graph EdgeAction
│ ├── model # Base project entities
│ ├── node # Graph key node definitions
│ ├── rag # RAG core implementation
│ ├── repository # Model configuration loading
│ ├── serializer # Message serialization implementation
│ ├── service # Business logic implementation
│ ├── tool # Agent Tool definitions
│ ├── util # Project utilities
│ └── DeepResearchApplication # Application entry point
├── ├── resource/
│ ├── prompts # Core prompts
│ ├── mcp-config.json # Agent MCP configuration
│ ├── model-config.json # Multi-Agent model configuration
├── └── website-weight-config.json # Search engine weight configuration
- Java 17+
- Maven 3.6+
- DashScope API Key
git clone https://github.com/spring-ai-alibaba/deepresearch.git
cd deepresearch
mvn clean install -DskipTestsexport AI_DASHSCOPE_API_KEY=your-api-key-hereBackend:
cd deepresearch
mvn spring-boot:runFrontend:
cd ui-vue3
pnpm install
npm run dev- Build the Docker image from the project directory. This may take ~5 minutes depending on network speed.
cd deepresearch
docker build -t alibaba-deepresearch:v1.0 .- After building, run the container and set environment variables:
docker run -d \
--name alibaba-deepresearch \
-e AI_DASHSCOPE_API_KEY="your_key_here" \
-e TAVILY_API_KEY="your_key_here" \
# -e JINA_API_KEY="your_key_here" \ optional
-p 8080:8080 \
alibaba-deepresearch:v1.0- Alternatively, use docker-compose to start Redis, ElasticSearch, and the app:
docker-compose up💡Note:
- Set API keys in the
.envfile- Config files are under
dockerConfig; you can also set keys and related configs there
Supports integration with Langfuse observability system. See documentation for configuration details.
See DeepResearch.http for sample requests.
curl --location 'http://localhost:8080/chat/stream' \
--header 'Content-Type: application/json' \
--data '{
"thread_id": "__default_",
"enable_deepresearch": false,
"query": "Please analyze the reasons for the explosive popularity of Pop Mart",
"max_step_num": 2,
"auto_accepted_plan": true
}'
Contributions are welcome! Please refer to CONTRIBUTING for guidelines.
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
Thanks to the following contributors for improving this project (unordered):
yingzi、zhouyou、NOBODY、xiaohai-78、VLSMB、disaster1-tesk、Allen Hu、Makoto、sixiyida、Gfangxin、AliciaHu、swl、huangzhen、Tfh-Yqf、anyin-xyz、zhou youkang、supermonkeyguys、yuluo-yx、Ken Liu、co63ox、benym



