# x-deepagents
**Repository Path**: chain-engine/x-deepagents
## Basic Information
- **Project Name**: x-deepagents
- **Description**: 一个完整的 DeepAgents(处理复杂、多步骤任务的智能体) 学习与实践项目
- **Primary Language**: Python
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2026-03-22
- **Last Updated**: 2026-03-27
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# X-DeepAgents
**一个完整的 DeepAgents 学习与实践项目**
[](https://www.python.org/)
[](https://github.com/langchain-ai/langchain)
[](https://fastapi.tiangolo.com/)
[](https://opensource.org/licenses/MIT)
---
## 📖 项目介绍
X-DeepAgents 是一个可直接运行、可二次开发、可服务化部署的 DeepAgents 学习与实践项目。
它围绕“市场研究报告自动生成”这一真实场景,完整覆盖了以下链路:
- 任务输入(CLI 或 API)
- 主代理规划与分解(`write_todos`)
- 多子代理协作执行(研究员 / 分析师 / 撰写员)
- 工具调用(搜索、分析、落盘)
- 结果输出(报告文件 + API 返回)
### 项目定位
- **学习者视角**:看懂 DeepAgents 在真实项目中的落地方式
- **开发者视角**:复用现有框架,快速扩展子代理/工具
- **应用者视角**:通过 CLI 或 HTTP API 快速接入业务系统
### 功能特性
| 功能 | 说明 |
|------|------|
| **多代理协作** | 研究员、分析师、撰写员协作完成复杂研究任务 |
| **任务自动分解** | 主代理使用 `write_todos` 自动规划执行路径 |
| **双入口接入** | 同时支持 `CLI` 和 `HTTP API` |
| **异步任务与流式进度** | API 支持 `job_id` 异步任务与 SSE 流式反馈 |
| **报告自动落盘** | 研究结果默认保存至 `reports/` 目录 |
| **多模型支持** | 支持 DeepSeek / kimi2.5 / glm4.7 / 阿里云 / 豆包 |
### 配置说明
#### 1) 环境变量(`.env`)
复制 `.env.example` 为 `.env`,至少配置一个可用 LLM 的 `API_KEY`:
| 提供者 | 关键环境变量 | 默认模型变量 |
|--------|--------------|--------------|
| DeepSeek | `DEEPSEEK_API_KEY` | `DEEPSEEK_MODEL_NAME` |
| kimi2.5 | `KIMI_API_KEY` | `KIMI_MODEL_NAME` |
| glm4.7 | `GLM_API_KEY` | `GLM_MODEL_NAME` |
| 阿里云 | `ALIYUN_API_KEY` | `ALIYUN_MODEL_NAME` |
| 豆包 | `DOUBAO_API_KEY` | `DOUBAO_MODEL_NAME` |
另外,搜索能力依赖:
- `TAVILY_API_KEY`
#### 2) 应用配置(`config.yaml`)
项目默认配置包括:
- 服务端口(`server.port`,默认 `8000`)
- 日志级别与轮转策略(`logging`)
- 代理执行参数(`agent.*`)
- 报告输出目录与信息源上限(`research.*`)
---
## 🏗️ 系统图示
### 1) 整体结构图
```text
+------------------------------------------------------------------------+
| X-DeepAgents 系统架构 |
+------------------------------------------------------------------------+
|
v
+------------------------------------------------------------------------+
| 用户交互层 (CLI / HTTP API) |
| src/cli.py + src/api.py |
+------------------------------------------------------------------------+
|
v
+------------------------------------------------------------------------+
| 主代理协调器 (Coordinator) |
| src/agents/coordinator.py |
| +------------------------------------------------------------------+ |
| | DeepAgents 核心引擎 | |
| | - write_todos (任务规划) - filesystem (文件操作) | |
| | - task (子代理生成) - store (长期记忆) | |
| +------------------------------------------------------------------+ |
+------------------------------------------------------------------------+
|
+-----------------------+-----------------------+
| | |
v v v
+---------------------+ +---------------------+ +---------------------+
| 研究员代理 | | 分析师代理 | | 撰写员代理 |
| Researcher | | Analyst | | Writer |
+---------------------+ +---------------------+ +---------------------+
|
v
+------------------------------------------------------------------------+
| 工具层 / 模型层 / 基础设施层 |
| tools + llm providers + core(config/logger) |
+------------------------------------------------------------------------+
```
### 2) 工作流程图
```text
用户输入研究主题
|
v
主代理规划任务(write_todos)
|
v
分发给子代理(researcher / analyst / writer)
|
v
并行/串行执行 + 工具调用(搜索、分析、写作)
|
v
汇总结果 + 质量检查
|
v
输出报告(API返回 + reports/*.md)
```
### 3) DeepAgents 生态架构图
```text
+------------------------------------------------------------------------+
| DeepAgents 生态架构 |
+------------------------------------------------------------------------+
|
v
+------------------------------------------------------------------------+
| Agent Harness: DeepAgents / Claude Agent SDK |
| (内置工具、预设提示、子代理能力) |
+------------------------------------------------------------------------+
^
|
+------------------------------------------------------------------------+
| Agent Framework: LangChain / CrewAI / LlamaIndex |
| (抽象层、组件化、工具接口) |
+------------------------------------------------------------------------+
^
|
+------------------------------------------------------------------------+
| Agent Runtime: LangGraph / Temporal |
| (状态管理、持久化、流式传输) |
+------------------------------------------------------------------------+
```
---
## 📁 项目结构
```text
x-deepagents/
├── src/
│ ├── agents/
│ │ └── coordinator.py # 主代理协调器(多代理编排核心)
│ ├── core/
│ │ ├── config.py # 配置加载(.env + config.yaml)
│ │ └── logger.py # 日志管理
│ ├── llm/
│ │ └── providers.py # 多 LLM 提供者适配
│ ├── tools/
│ │ └── __init__.py # 搜索/分析/报告保存工具
│ ├── api.py # FastAPI 服务入口(同步+异步+SSE)
│ └── cli.py # 命令行入口(交互式/单次查询)
├── examples/
│ └── multi_agent.py
├── reports/ # 报告输出目录
├── logs/ # 日志目录
├── config.yaml # 应用配置
├── .env.example # 环境变量模板
├── Dockerfile
├── docker-compose.yml
├── pyproject.toml # 依赖与脚本(market-research)
└── README.md
```
---
## ⚡ 快速开始
本章节提供运行方式总览与本地开发启动步骤,便于快速完成环境验证与功能跑通。
### 1) 环境要求
- Python `3.11+`
- [uv](https://github.com/astral-sh/uv)
- Docker(可选)
### 2) 初始化项目
```bash
git clone https://github.com/chain-engine/x-deepagents.git
cd x-deepagents
```
安装依赖:
```bash
uv sync
```
配置环境变量:
```bash
# Linux / macOS / Git Bash
cp .env.example .env
# Windows PowerShell
# copy .env.example .env
```
然后编辑 `.env`,至少填写一个 LLM 的 `API_KEY`。
### 3) 运行方式总览
| 入口类型 | 本地运行 | Docker 运行 | 推荐场景 |
|---------|---------|------------|---------|
| **CLI** | `uv run market-research ...` | `docker compose run --rm x-deepagents python /app/src/cli.py ...` | 一次性任务、调试、人工操作 |
| **HTTP API** | `uv run python -m src.api` | `docker compose up --build -d` | 系统集成、前后端联调、服务化部署 |
> 说明:Docker 是运行环境,不是 API 本身。
> 同一套核心能力可通过 CLI 和 HTTP API 两种入口使用。
### 4) 本地运行(推荐开发调试)
#### A. CLI(最快)
```bash
# 交互模式
uv run market-research
# 单次查询
uv run market-research "中国新能源汽车市场分析报告"
# 简单模式(单代理)
uv run market-research -s "人工智能行业投资机会"
```
#### B. HTTP API
```bash
uv run python -m src.api
```
本地验证:
```bash
curl http://localhost:8000/health
```
同步调用:
```bash
curl -X POST http://localhost:8000/research \
-H "Content-Type: application/json" \
-d "{\"query\":\"中国新能源汽车市场分析报告\",\"simple\":false,\"verbose\":false}"
```
异步调用(推荐长任务):
```bash
# 1) 启动任务,获取 job_id
curl -s -X POST http://localhost:8000/research/start \
-H "Content-Type: application/json" \
-d "{\"query\":\"中国新能源汽车市场分析报告\",\"simple\":false,\"verbose\":false}"
# 2) 流式查看进度
curl -N http://localhost:8000/jobs/JOB_ID/stream
# 3) 查询最终结果
curl http://localhost:8000/jobs/JOB_ID
```
接口文档:
- Swagger UI: `http://localhost:8000/docs`
- ReDoc: `http://localhost:8000/redoc`
### 5) Docker 运行(部署/隔离环境)
#### A. 启动 HTTP API(推荐)
```bash
docker compose up --build -d
curl http://localhost:8000/health
```
#### B. Docker 内执行 CLI(可选)
```bash
docker compose run --rm x-deepagents python /app/src/cli.py "中国新能源汽车市场分析报告"
docker compose run --rm x-deepagents python /app/src/cli.py -s "人工智能行业投资机会"
```
---
## 🔌 API 一览
| 方法 | 路径 | 说明 |
|------|------|------|
| `GET` | `/health` | 健康检查 |
| `POST` | `/research` | 同步执行研究,返回最终结果 |
| `POST` | `/research/start` | 异步创建任务,返回 `job_id` |
| `GET` | `/jobs/{job_id}` | 查询任务状态和结果 |
| `GET` | `/jobs/{job_id}/stream` | SSE 流式获取任务进度 |
---
## 🧩 扩展开发
### 添加新的子代理
在 `src/agents/` 中新增代理并接入 `coordinator.py` 编排流程。
### 添加新的工具
在 `src/tools/` 中实现工具函数,并在代理执行链路中按需调用。
### 调整模型/日志/执行策略
- 模型与密钥:`.env`
- 端口、日志、研究参数:`config.yaml`
---
## ❓ 常见问题
### 1) 运行时报“未检测到 API 密钥”
请检查 `.env` 是否存在且至少包含一个可用密钥(如 `DEEPSEEK_API_KEY`)。
### 2) API 能启动但研究失败
通常是外部模型或搜索服务配置问题,建议先:
- 调用 `/health` 确认服务存活
- 使用 `simple=true` 测试最小链路
- 检查 `logs/` 下日志文件
### 3) 报告保存在哪里?
默认输出目录是 `reports/`(可在 `config.yaml` 中修改)。
---
## 📖 参考资料
- [DeepAgents 官方文档](https://python.langchain.com/docs/deepagents/)
- [LangChain 文档](https://python.langchain.com/)
- [LangGraph 文档](https://langchain-ai.github.io/langgraph/)
---
## 📄 许可证
本项目采用 MIT 许可证,详见 [LICENSE](LICENSE)。