spring-ai-alibaba/deepresearch

358

stars

66

commits

Java

primary language

Mar 2, 2026

updated

Browse cluster: Java DevOps and Agent Frameworks

README

DeepResearch

中文 | English

License Java Spring Boot Spring AI

📖 Introduction

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.

✨ Technical Features

  • 📋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

🎋 Project Architecture

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

🧩 System Architecture

More illustrations

🔍 Running Example

Demo Video

🚀 Quick Start

Prerequisites

  • Java 17+
  • Maven 3.6+
  • DashScope API Key

1. Clone and Build

git clone https://github.com/spring-ai-alibaba/deepresearch.git
cd deepresearch
mvn clean install -DskipTests

2. Configure API Key

export AI_DASHSCOPE_API_KEY=your-api-key-here

3. Start Application

Start from Project

Backend:

cd deepresearch
mvn spring-boot:run

Frontend:

cd ui-vue3
pnpm install
npm run dev

Docker Startup

  • 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 .env file
  • Config files are under dockerConfig; you can also set keys and related configs there

4. Configuration

5. Debug and Observability

Supports integration with Langfuse observability system. See documentation for configuration details.

Test Cases

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
}'

📚 Reference Documentation

🤝 Join Community & Contributing

Contributions are welcome! Please refer to CONTRIBUTING for guidelines.

community

📄 License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

Contributors

Thanks to the following contributors for improving this project (unordered):

yingzizhouyouNOBODYxiaohai-78VLSMBdisaster1-teskAllen HuMakotosixiyidaGfangxinAliciaHuswlhuangzhenTfh-Yqfanyin-xyzzhou youkangsupermonkeyguysyuluo-yxKen Liuco63oxbenym


Made with ❤️ by Spring AI Alibaba DeepResearch Team

Contributors

benym

27 commits

GTyingzi

23 commits

anyin-xyz

5 commits

Helltab

4 commits

spring-ai-alibaba/deepresearch

358

stars

66

commits

Java

primary language

Mar 2, 2026

updated

Browse cluster: Java DevOps and Agent Frameworks

README

DeepResearch

中文 | English

License Java Spring Boot Spring AI

📖 Introduction

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.

✨ Technical Features

  • 📋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

🎋 Project Architecture

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

🧩 System Architecture

More illustrations

🔍 Running Example

Demo Video

🚀 Quick Start

Prerequisites

  • Java 17+
  • Maven 3.6+
  • DashScope API Key

1. Clone and Build

git clone https://github.com/spring-ai-alibaba/deepresearch.git
cd deepresearch
mvn clean install -DskipTests

2. Configure API Key

export AI_DASHSCOPE_API_KEY=your-api-key-here

3. Start Application

Start from Project

Backend:

cd deepresearch
mvn spring-boot:run

Frontend:

cd ui-vue3
pnpm install
npm run dev

Docker Startup

  • 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 .env file
  • Config files are under dockerConfig; you can also set keys and related configs there

4. Configuration

5. Debug and Observability

Supports integration with Langfuse observability system. See documentation for configuration details.

Test Cases

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
}'

📚 Reference Documentation

🤝 Join Community & Contributing

Contributions are welcome! Please refer to CONTRIBUTING for guidelines.

community

📄 License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

Contributors

Thanks to the following contributors for improving this project (unordered):

yingzizhouyouNOBODYxiaohai-78VLSMBdisaster1-teskAllen HuMakotosixiyidaGfangxinAliciaHuswlhuangzhenTfh-Yqfanyin-xyzzhou youkangsupermonkeyguysyuluo-yxKen Liuco63oxbenym


Made with ❤️ by Spring AI Alibaba DeepResearch Team

Contributors

benym

27 commits

GTyingzi

23 commits

anyin-xyz

5 commits

Helltab

4 commits

Languages

Java

69.3%

Vue

13.4%

TypeScript

11.3%

CSS

2.2%

Python

1.9%