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



