DeerFlow(Deep Exploration and Efficient Research Flow)是一个社区驱动的深度研究框架,它建立在开源社区的杰出工作基础之上。目标是将语言模型与专业工具(如网络搜索、爬虫和Python代码执行)相结合。
关键要点
- 模块化架构:DeerFlow采用基于LangGraph的模块化多智能体系统,支持灵活的工作流设计与状态管理。
- 核心技术整合:集成了LLM、MCP协议、多种搜索引擎(Tavily、DuckDuckGo等)及文本转语音功能。
- 应用场景广泛:适用于市场趋势分析、学术研究、内容创作和演示文稿生成等多样化任务。
- 社区与生态活跃:使用Python和Node.js技术栈,文档较为完整,社区活跃度持续提升。
- 本地部署便捷:提供Web UI和控制台UI两种交互方式,便于开发者快速上手和调试。
概述
DeerFlow是由字节跳动开源的多智能体深度研究框架,旨在通过自动化流程实现端到端的研究任务。该框架融合了大型语言模型(LLM)、MCP协议、网络搜索、代码执行等多种能力,构建了一个可扩展、可调试、可视化的研究平台。
DeerFlow不仅在技术层面展现出高度灵活性,还通过模块化设计使不同组件(如协调器、规划器、研究团队)协同工作,从而提高研究效率。同时,其丰富的工具集成和对人机协作的支持,使其在实际应用中具备广泛的适应性。
详细分析
架构设计与核心组件
组件名称 | 功能描述 | 特点 |
---|---|---|
协调器 | 管理整个工作流生命周期的入口点 | 负责启动、暂停、终止流程 |
规划器 | 执行任务分解与路径规划 | 支持动态调整策略 |
研究团队 | 多个专业Agent组成的执行单元 | 并行处理复杂子任务 |
报告员 | 输出研究成果并生成最终报告 | 支持结构化数据输出 |
DeerFlow的核心架构基于LangGraph实现,支持可视化调试和实时状态追踪,提升了开发与调试效率。
LangGraph集成机制
DeerFlow利用LangGraph作为其底层工作流引擎:
- 使用
langgraph.json
配置文件定义图结构与依赖关系 - 自动加载
.env
中的环境变量 - 提供Studio UI进行可视化调试
- 支持用户提交研究主题后查看执行流程
这种方式使得DeerFlow具备强大的流程控制能力,适用于需要多阶段推理与决策的任务。
工具集成与扩展能力
工具类型 | 集成说明 | 可选方案 |
---|---|---|
LLM | LangChain集成 | 支持主流开源与闭源模型 |
搜索引擎 | 支持Tavily(默认)、DuckDuckGo、Brave Search、Arxiv | .env 配置切换 |
文本转语音 | 基于火山引擎TTS API | 支持自定义音频参数 |
MCP协议 | 实现私有域访问与知识图谱扩展 | 支持定制化插件 |
这些工具的集成增强了DeerFlow在信息获取、数据处理和内容呈现方面的能力。
Web UI与交互体验
- 基于Node.js构建的Web界面
- 默认访问地址为
http://localhost:3000
- 提供更直观的操作界面与流程展示
- 支持与LangGraph Studio联动调试
这一特性降低了非技术用户的学习门槛,也提高了开发者调试效率。
本地部署与安装指南
推荐部署步骤如下:
- 安装Python环境(建议3.9+)
- (可选)使用pnpm安装前端依赖
- 启动LangGraph服务器
- 访问Studio UI进行调试
- 使用控制台UI快速运行任务
项目提供了完整的README.md
和示例配置,便于快速部署。
典型应用场景
应用场景 | 描述 | 示例 |
---|---|---|
市场趋势分析 | 分析金融资产价格波动 | 比特币价格波动研究 |
学术术语解析 | 对特定术语进行多维度解释 | MCP协议含义解析 |
内容创作 | 自动生成研究报告、播客、PPT | 科技趋势年度报告 |
数据可视化 | 整合图表、数据表与文字 | 行业调研结果展示 |
这些场景展示了DeerFlow在多领域的适用性,尤其适合需要结合AI推理与外部数据源的研究任务。
快速开始
DeerFlow 使用 Python 开发,并配有用 Node.js 编写的 Web UI。为确保顺利的设置过程,我们推荐使用以下工具:
推荐工具
-
uv
: 简化 Python 环境和依赖管理。uv
会自动在根目录创建虚拟环境并为您安装所有必需的包—无需手动安装 Python 环境。 -
nvm
: 轻松管理多个 Node.js 运行时版本。 -
pnpm
: 安装和管理 Node.js 项目的依赖。
环境要求
确保您的系统满足以下最低要求:
安装
# 克隆仓库
git clone https://github.com/bytedance/deer-flow.git
cd deer-flow
# 安装依赖,uv将负责Python解释器和虚拟环境的创建,并安装所需的包
uv sync
# 使用您的API密钥配置.env
# Tavily: https://app.tavily.com/home
# Brave_SEARCH: https://brave.com/search/api/
# 火山引擎TTS: 如果您有TTS凭证,请添加
cp .env.example .env
# 查看下方的"支持的搜索引擎"和"文本转语音集成"部分了解所有可用选项
# 为您的LLM模型和API密钥配置conf.yaml
# 请参阅'docs/configuration_guide.md'获取更多详情
cp conf.yaml.example conf.yaml
# 安装marp用于PPT生成
# https://github.com/marp-team/marp-cli?tab=readme-ov-file#use-package-manager
brew install marp-cli
可选,通过pnpm安装 Web UI 依赖:
cd deer-flow/web
pnpm install
配置
请参阅配置指南获取更多详情。
[!注意] 在启动项目之前,请仔细阅读指南,并更新配置以匹配您的特定设置和要求。
控制台 UI
运行项目的最快方法是使用控制台 UI。
# 在类bash的shell中运行项目
uv run main.py
Web UI
本项目还包括一个 Web UI,提供更加动态和引人入胜的交互体验。
[!注意] 您需要先安装 Web UI 的依赖。
# 在开发模式下同时运行后端和前端服务器
# 在macOS/Linux上
./bootstrap.sh -d
# 在Windows上
bootstrap.bat -d
打开浏览器并访问http://localhost:3000
探索 Web UI。
在web
目录中探索更多详情。
支持的搜索引擎
DeerFlow 支持多种搜索引擎,可以在.env
文件中通过SEARCH_API
变量进行配置:
-
Tavily(默认):专为 AI 应用设计的专业搜索 API
- 需要在
.env
文件中设置TAVILY_API_KEY
- 注册地址:app.tavily.com/home
- 需要在
-
DuckDuckGo:注重隐私的搜索引擎
- 无需 API 密钥
-
Brave Search:具有高级功能的注重隐私的搜索引擎
- 需要在
.env
文件中设置BRAVE_SEARCH_API_KEY
- 注册地址:brave.com/search/api/
- 需要在
-
Arxiv:用于学术研究的科学论文搜索
- 无需 API 密钥
- 专为科学和学术论文设计
要配置您首选的搜索引擎,请在.env
文件中设置SEARCH_API
变量:
# 选择一个:tavily, duckduckgo, brave_search, arxiv
SEARCH_API=tavily
特性
核心能力
- 🤖 LLM 集成
- 通过litellm支持集成大多数模型
- 支持开源模型如 Qwen
- 兼容 OpenAI 的 API 接口
- 多层 LLM 系统适用于不同复杂度的任务
工具和 MCP 集成
-
🔍 搜索和检索
- 通过 Tavily、Brave Search 等进行网络搜索
- 使用 Jina 进行爬取
- 高级内容提取
-
🔗 MCP 无缝集成
- 扩展私有域访问、知识图谱、网页浏览等能力
- 促进多样化研究工具和方法的集成
人机协作
-
🧠 人在环中
- 支持使用自然语言交互式修改研究计划
- 支持自动接受研究计划
-
📝 报告后期编辑
- 支持类 Notion 的块编辑
- 允许 AI 优化,包括 AI 辅助润色、句子缩短和扩展
- 由tiptap提供支持
内容创作
- 🎙️ 播客和演示文稿生成
- AI 驱动的播客脚本生成和音频合成
- 自动创建简单的 PowerPoint 演示文稿
- 可定制模板以满足个性化内容需求
社区生态与技术定位
技术栈组成
- 后端语言:Python(主导)
- 前端/工具链:Node.js
- AI能力层:LangChain、MCP协议
- 通信机制:消息传递系统 + LangGraph状态管理
开发与维护实践
- 使用Git进行版本控制
- GitHub Actions实现CI/CD流程
- 单元测试与集成测试覆盖核心模块
- Pull Request机制保障代码质量
与其他框架对比
框架 | 类型 | 主要用途 | 与DeerFlow关系 |
---|---|---|---|
Xposed | Android Hook框架 | 修改系统行为 | 无直接关联 |
YOLO | 目标检测算法 | 图像识别 | 可作为插件集成 |
DeerFlow并非操作系统级或视觉专用框架,而是面向通用研究流程的数据流引擎。
文档与社区反馈
- 文档内容:涵盖安装、入门、API、高级用法等
- 更新频率:中等偏高,随版本迭代更新
- 用户反馈渠道:
- GitHub Issues
- Slack/Discord社区
- 中文技术论坛(如SegmentFault、知乎)
尽管文档已较全面,但在企业级部署指南等方面仍有完善空间。