bytedance/deer-flowView GitHub Homepage for Latest Official Releases
基于大语言模型的社区驱动深度研究框架,集成网络搜索、爬虫和Python执行等专业工具
MITPythondeer-flowbytedance 16.5k Last Updated: August 22, 2025
DeerFlow - 深度研究自动化框架
项目概述
DeerFlow(Deep Exploration and Efficient Research Flow)是由字节跳动开源的社区驱动深度研究框架。该项目建立在开源社区的杰出工作基础之上,旨在将大语言模型与专业工具相结合,包括网络搜索、爬虫和Python代码执行等功能,同时回馈开源社区。
项目地址: https://github.com/bytedance/deer-flow
核心特性
🤖 LLM集成
- 通过 litellm 支持大多数模型的集成
- 支持Qwen等开源模型
- OpenAI兼容的API接口
- 针对不同任务复杂度的多层LLM系统
🔍 搜索与检索
- 通过Tavily、Brave Search等进行网络搜索
- 使用Jina进行爬虫
- 高级内容提取功能
🔗 MCP无缝集成
- 扩展私有域访问、知识图谱、网络浏览等功能
- 促进多样化研究工具和方法论的集成
🧠 人机交互循环
- 支持使用自然语言交互式修改研究计划
- 支持研究计划的自动接受
📝 报告后期编辑
- 支持类似Notion的块编辑
- 允许AI精炼,包括AI辅助润色、句子缩短和扩展
- 基于 tiptap 构建
🎙️ 播客和演示文稿生成
- AI驱动的播客脚本生成和音频合成
- 自动创建简单的PowerPoint演示文稿
- 可定制的模板用于个性化内容
技术架构
DeerFlow实现了模块化多智能体系统架构,专为自动化研究和代码分析而设计。系统基于LangGraph构建,通过明确定义的消息传递系统实现灵活的基于状态的工作流,其中组件之间进行通信。
工作流组件
系统采用简化的工作流,包含以下组件:
协调器(Coordinator)
- 管理工作流生命周期的入口点
- 基于用户输入启动研究过程
- 在适当时将任务委托给规划器
- 充当用户与系统之间的主要接口
规划器(Planner)
- 任务分解和规划的战略组件
- 分析研究目标并创建结构化执行计划
- 确定是否有足够的上下文或需要更多研究
- 管理研究流程并决定何时生成最终报告
研究团队(Research Team)
执行计划的专业智能体集合:
- 研究员(Researcher): 使用网络搜索引擎、爬虫甚至MCP服务等工具进行网络搜索和信息收集
- 编码员(Coder): 使用Python REPL工具处理代码分析、执行和技术任务
每个智能体都可以访问针对其角色优化的特定工具,并在LangGraph框架内运行。
报告员(Reporter)
- 研究输出的最终阶段处理器
- 汇总研究团队的发现
- 处理和结构化收集的信息
- 生成综合研究报告
安装和快速开始
系统要求
- Python 3.12+
- Node.js(用于Web UI)
- 推荐使用
uv
、nvm
和pnpm
安装步骤
# 克隆仓库
git clone https://github.com/bytedance/deer-flow.git
cd deer-flow
# 安装依赖,uv会处理Python解释器和虚拟环境创建,并安装所需包
uv sync
# 配置环境变量
cp .env.example .env
# 配置您的API密钥:
# - Tavily: https://app.tavily.com/home
# - Brave Search: https://brave.com/search/api/
# - volcengine TTS: 如果有的话添加您的TTS凭证
# 配置LLM模型和API密钥
cp conf.yaml.example conf.yaml
# 安装marp用于PPT生成
brew install marp-cli
运行项目
控制台UI(最快方式)
uv run main.py
Web UI
# 首先安装Web UI依赖
cd deer-flow/web
pnpm install
# 运行后端和前端服务器(开发模式)
# macOS/Linux
./bootstrap.sh -d
# Windows
bootstrap.bat -d
然后访问 http://localhost:3000 体验Web UI。
支持的搜索引擎
DeerFlow支持多种搜索引擎,可在 .env
文件中使用 SEARCH_API
变量进行配置:
- Tavily(默认): 专为AI应用设计的搜索API
- DuckDuckGo: 注重隐私的搜索引擎,无需API密钥
- Brave Search: 具有高级功能的注重隐私的搜索引擎
- Arxiv: 专门用于学术研究的科学论文搜索
配置示例:
# 选择一个: tavily, duckduckgo, brave_search, arxiv
SEARCH_API=tavily
文本转语音集成
DeerFlow包含文本转语音(TTS)功能,允许您将研究报告转换为语音。此功能使用volcengine TTS API生成高质量音频,支持自定义速度、音量和音调。
API调用示例
curl --location 'http://localhost:8000/api/tts' \
--header 'Content-Type: application/json' \
--data '{
"text": "这是文本转语音功能的测试。",
"speed_ratio": 1.0,
"volume_ratio": 1.0,
"pitch_ratio": 1.0
}' \
--output speech.mp3
开发和调试
运行测试
# 运行所有测试
make test
# 运行特定测试文件
pytest tests/integration/test_workflow.py
# 运行覆盖率测试
make coverage
# 运行代码检查
make lint
# 格式化代码
make format
LangGraph Studio调试
DeerFlow使用LangGraph作为其工作流架构。您可以使用LangGraph Studio实时调试和可视化工作流。
# 安装uv包管理器(如果没有的话)
curl -LsSf https://astral.sh/uv/install.sh | sh
# 安装依赖并启动LangGraph服务器
uvx --refresh --from "langgraph-cli[inmem]" --with-editable . --python 3.12 langgraph dev --allow-blocking
启动服务器后,您可以访问:
- API: http://127.0.0.1:2024
- Studio UI: https://smith.langchain.com/studio/?baseUrl=http://127.0.0.1:2024
- API文档: http://127.0.0.1:2024/docs
使用示例
命令行参数
# 运行特定查询
uv run main.py "影响医疗保健AI采用的因素有哪些?"
# 使用自定义规划参数运行
uv run main.py --max_plan_iterations 3 "量子计算如何影响密码学?"
# 交互模式运行
uv run main.py --interactive
# 查看所有可用选项
uv run main.py --help
人机交互循环
DeerFlow包含人机交互机制,允许您在执行前审查、编辑和批准研究计划:
- 计划审查: 启用人机交互时,系统会在执行前展示生成的研究计划供您审查
- 提供反馈: 您可以:
- 通过回复
[ACCEPTED]
接受计划 - 通过提供反馈编辑计划(例如:
[EDIT PLAN] 添加更多关于技术实现的步骤
)
- 通过回复
- 自动接受: 您可以启用自动接受来跳过审查过程
示例报告
项目包含多个示例报告,展示DeerFlow的功能:
- OpenAI Sora分析报告
- Google的智能体到智能体协议报告
- MCP(模型上下文协议)综合分析
- 比特币价格波动分析
- 大语言模型深度探索
- Claude深度研究最佳实践
- 医疗保健AI采用影响因素
- 量子计算对密码学的影响
- 克里斯蒂亚诺·罗纳尔多表现亮点
致谢
DeerFlow建立在开源社区的杰出工作基础之上,特别感谢:
- LangChain: 提供了出色的LLM交互和链框架
- LangGraph: 在多智能体编排方面的创新方法
这些项目体现了开源协作的变革力量,我们很荣幸能在他们的基础上构建DeerFlow。