DeerFlow是由字节跳动开源的一套基于 Python 和 Node.js 构建的多智能体研究工作流框架。其目标是将自动化调研、内容生成、语言处理、搜索整合和脚本执行等能力整合到一个通用平台中,使用户可以像使用一个“虚拟研究团队”一样,指令一次,获得结构化、有逻辑的结果。
从本质上看,DeerFlow 并不是一个单一的 AI 模型,而是一个多智能体协作系统框架,它调度多个“Agent”协同完成复杂任务,如知识查找、分析总结、图表制作、语音生成,甚至播客脚本编写。这些智能体之间通过一种名为 LangGraph 的机制进行协作,从而达成“类人协作”的效果。
举例来说,你可以只输入一个调研主题,如“全球碳中和路径对比”,DeerFlow 会调动“搜索智能体”“数据提取智能体”“分析智能体”和“总结撰写智能体”等角色,自动完成从网搜到汇总的整套流程,最后甚至以幻灯片或播客形式输出结果。
产品定位与目标人群
DeerFlow 的定位非常清晰,它不是面向纯粹消费者端的通用型 AI 助手,而是一个为具备一定技术理解力的用户设计的“研究工作流增强系统”。其核心用户群体主要包括:
- 内容创作者:例如 YouTube 主播、播客主持、知识博主,希望快速获得可靠内容并输出高质量创作成果;
- 独立研究者与学者:希望更高效地完成信息查找、资料总结与文献梳理;
- 产品经理与数据分析师:需要整合多来源数据进行分析与汇报;
- AI 开发者与开源爱好者:对多智能体架构、LangGraph 等前沿技术有探索兴趣。
DeerFlow 实际上扮演了一个虚拟助手团队的角色,为用户代劳了大量重复性、结构性强、逻辑明确但耗时的任务。
发展背景与项目初心
DeerFlow 的发布可以被视作对当前闭源大模型生态的一种技术回应。在 ChatGPT、Claude、Gemini 等封闭平台日益强大却无法完全定制的背景下,开发者社群对“可控性”“开放性”与“本地部署能力”有着更强烈需求。而 DeerFlow 恰恰满足了这三点:
- 完全开源(MIT License),可随意修改与商用;
- 灵活集成主流开源大模型(如 DeepSeek、Yi、MiniCPM 等);
- 所有任务执行过程完全透明,并允许深度自定义。
该项目于 2025 年由字节跳动人工智能工程团队推出,初衷是探索多智能体系统在真实生产场景中的可行性与实际价值。相比于实验性质更强的 AI Agent 模拟平台,DeerFlow 更强调“实用主义”与“流程落地性”。
DeerFlow 能解决哪些现实问题?
DeerFlow 解决的不是“能不能生成一段文本”这类基础问题,而是聚焦在流程复杂但结构清晰的内容生产与研究任务,例如:
场景 | 说明 |
---|---|
主题调研与报告生成 | 输入一个主题,自动调研多个角度,输出成结构化报告、Markdown或PPT |
播客脚本编写与配音 | 根据调研内容自动撰写播客脚本,配合 TTS 输出可播放音频 |
Python 数据分析任务 | 自动抓取公开数据源,编写分析脚本,生成图表和结论 |
内容聚合与去重整合 | 汇总多个信息源内容,去重、归类、生成最终可读文本 |
科技新闻自动摘要 | 自动收集每日科技新闻,生成一页式摘要供内容创作者使用 |
这种“以任务为单位驱动的协作”理念,使得 DeerFlow 更接近一位“虚拟研究伙伴”而非传统意义上的 AI 助手。
DeerFlow 的核心功能:智能协作驱动的研究引擎
DeerFlow 的核心不在于某个模型本身的“聪明”,而在于其如何通过模块化、分工明确的多智能体系统(Multi-Agent System),实现真实世界中的复杂任务自动化执行。与传统的“单点智能”不同,DeerFlow 设计了一套完整的流程驱动式智能协作框架,使其在复杂、多步、跨领域的任务中表现得尤为出色。
多智能体协作机制:LangGraph 与 Agent Handoff
DeerFlow 的技术底座之一是 LangGraph ——一个基于图结构的多智能体消息路由机制。它将任务执行流程抽象为一个状态图,不同的“Agent”在不同节点中工作,相互之间通过显式消息传递(Handoff)来完成协作。
这种架构的优势体现在以下几点:
- 明确的上下文分工:每个 Agent 专注于一个子任务(如搜索、分析、写作),不会“越权”执行他人职责。
- 可插拔式逻辑:开发者可根据实际需求修改流程中的图结构,增加、减少或替换节点。
- 状态透明:执行过程中的每一步都会被记录与输出,方便用户追踪整个工作流。
例如,在“调研 + 报告”任务中,DeerFlow 的流程通常如下:
- 用户输入任务目标与关键词;
- 搜索智能体调用搜索引擎获取初始资料;
- 阅读智能体对网页进行摘要提取;
- 分析智能体综合多个观点并组织逻辑结构;
- 撰写智能体生成最终内容;
- 输出智能体将结果格式化为 Markdown、PPT 或音频。
这种流程具有高度可扩展性,每个环节都可替换为本地模型或自定义函数。
集成搜索与信息提取能力
DeerFlow 内置了对多种 Web 信息源的访问能力,常见包括:
- Brave Search、Tavily 等搜索引擎;
- Jina Reader 等网页正文提取工具;
- RSS、API 接口数据整合能力(可自定义);
通过这些工具,DeerFlow 能实现近似人工调研行为:
- 同时搜索多个关键词、语言或来源;
- 判断信息时效性与权威性;
- 提取正文去除广告、评论等杂质信息。
这些过程通过 SearchAgent 与 ReaderAgent 自动完成,不仅大幅节省人工时间,也保障了初始资料的可信度。
代码执行与数据分析模块
DeerFlow 支持通过 PythonAgent 执行脚本任务,用户可在调研任务中嵌入数据处理步骤,例如:
- 获取某机构发布的 CSV 数据并可视化;
- 自动生成 matplotlib 图表并插入报告;
- 使用 pandas、numpy、scikit-learn 等常用库处理数据;
这一功能尤其适合需要边查阅边分析的数据密集型任务,如行业分析、市场研究、科学报告等。
Markdown、PPT 幻灯片与语音输出
DeerFlow 的输出形式非常灵活,不仅能生成传统文本,还支持结构化内容表现形式,如:
- Markdown 格式报告,适合 Notion、Obsidian 等笔记系统;
- 幻灯片输出:通过 Marp 工具将 Markdown 转换为演示文稿(.pptx 或 HTML);
- TTS(Text to Speech):自动将文本脚本转换为配音音频,适用于播客或短视频创作;
通过上述方式,DeerFlow 能实现“一次指令,多种输出形式”的高效创作模式。内容创作者无需重复加工,只需根据使用场景选择合适格式即可。
本地与云端模型灵活配置
DeerFlow 不依赖于某一家云服务,它支持多种语言模型的自由接入,包括:
模型来源 | 类型 | 是否本地部署支持 |
---|---|---|
OpenAI GPT 系列 | 商业闭源 | 是 |
DeepSeek | 开源 | 是 |
Yi 系列 | 开源国产 | 是 |
MiniCPM | 本地轻量模型 | 是 |
用户可自由指定不同任务使用不同模型,例如:
- 使用 GPT-4 完成语言质量要求较高的写作任务;
- 使用本地 Yi-1.5 模型快速完成通用摘要;
- 结合 RAG(检索增强生成)实现“问自己的资料库”。
这一机制不仅节省成本,也满足了对隐私与速度的双重要求。
技术架构与组件:DeerFlow 是如何运作的?
DeerFlow 不只是一个智能体调用工具,它是一个从任务发起、信息调度、模型推理到多形式输出的完整研究系统平台。这个平台的底层架构融合了前沿的智能体编排机制、模块化设计理念和现代开发工具链,使其既具备可维护性,也足够开放灵活。
系统总体结构概览
从整体视角看,DeerFlow 可以拆解为三个关键层级:
- 任务编排层(Supervisor)
- 多智能体执行层(Agents)
- 辅助工具与外部服务接口层(Tools & APIs)
这三层之间形成“顶层调度—角色协作—外部调用”的逻辑闭环。每一层都支持用户自定义配置与拓展,具有极强的适配性。
编程语言与依赖技术栈
DeerFlow 项目的实现分为两个部分:
模块 | 技术选型 | 功能说明 |
---|---|---|
后端核心 | Python 3.12+ | 实现智能体逻辑与 LangGraph 执行 |
前端 UI | Node.js 22+ + React | 提供可视化任务输入与运行界面 |
依赖管理 | uv + pnpm |
Python 和 Node.js 的依赖管理 |
脚本工具 | Marp CLI、ffmpeg 等 | 幻灯片、音频等辅助功能支持 |
开发者需要确保本地具备基本的 Python 和 Node.js 环境,同时熟悉 VSCode、终端操作、环境变量配置等基本技能。
DeerFlow 的安装部署非常清晰,遵循现代 DevOps 工程规范。以下是典型的安装流程摘要:
git clone https://github.com/bytedance/deer-flow
cd deer
uv sync
pnpm install
cp .env.example .env
# 填写你的 OpenAI / Tavily API 密钥等
uvicorn main:app --reload
系统支持热更新,方便调试;也可构建为 Docker 镜像,部署在服务器上长期运行。
核心组件模块解析
Supervisor(任务管理器)
Supervisor 是整个工作流的“大脑”,它根据用户的自然语言输入生成初始计划,将任务拆解为若干子任务,并将这些任务路由至具体的 Agent 执行。它具备以下特点:
- 任务意图识别(如调研、分析、生成、总结等);
- 调用 LangGraph 构建执行路径;
- 控制整个执行链条的上下文流转;
可以理解为它是“导演”,而各个 Agent 是演员。
LangGraph 工作流编排器
LangGraph 是一种开源的状态机式工作流框架,适合描述非线性、多分支、多状态的任务执行逻辑。
在 DeerFlow 中,LangGraph 实现了:
- 节点式任务定义(每个 Agent 是一个节点);
- 消息传递机制(Handoff);
- 支持条件判断、错误回退与任务重试;
用户可通过 JSON 或 Python 脚本灵活定义新的流程结构。例如:
graph = LangGraph()
graph.add_node("search", SearchAgent)
graph.add_node("summarize", SummarizerAgent)
graph.set_edge("search", "summarize")
这意味着从“搜索”节点执行完后,自动转向“总结”节点继续工作。
Agents:模块化智能体角色
每个 Agent 是一个功能明确的模块,通常具备以下结构:
- 输入:接收上一节点传递的中间结果;
- 处理逻辑:执行搜索、分析、写作、脚本或语音生成;
- 输出:将结果传给下一个 Agent;
常见 Agent 包括:
Agent 名称 | 功能 |
---|---|
SearchAgent | 调用搜索 API 查找网页资料 |
ReaderAgent | 对网页内容进行摘要提取 |
WriterAgent | 撰写结构化文章、摘要、演讲稿等 |
PythonAgent | 执行 Python 脚本生成图表或结果 |
TTSAgent | 使用 TTS 工具将文字转为语音音频 |
开发者可基于这些基础模块开发自定义 Agent,以适配特定场景。
多模型支持与 RAG 接入机制
DeerFlow 原生支持主流商业模型与开源模型,用户只需在 .env
文件中指定 API key 或模型路径即可切换。
此外,它还支持 RAGFlow 模块,可将本地资料库或知识库(如 PDF、Notion 导出、CSV 表格)转化为可查询的数据源,让智能体“只回答你的数据”。
例如:
python scripts/rag_index.py --input ./docs --output ./index
索引完成后,DeerFlow 就可在调研时优先查询你的本地内容,而非完全依赖网络搜索。
使用方式与环境部署:让 DeerFlow 跑起来的实用指南
尽管 DeerFlow 是一个技术性较强的开源系统,但它在设计时充分考虑了开发者体验。只要具备基本的 Python 和 Node.js 环境基础,用户可以在 10~15 分钟内将其部署到本地并运行起来。与很多“看起来复杂”的 AI 系统不同,DeerFlow 并不依赖云服务或高性能 GPU,即使是普通笔记本也能流畅运行大部分流程。
环境准备:软硬件要求与依赖项
系统建议
- 操作系统:Linux / macOS / Windows(建议 WSL 或虚拟机环境)
- 内存要求:建议 ≥8GB RAM(部分大模型需 16GB+)
- 网络要求:需连接互联网以调用搜索、API 模型等服务
软件依赖一览表
分类 | 工具/语言 | 版本要求 | 用途说明 |
---|---|---|---|
编程语言 | Python | 3.12+ | 智能体核心逻辑与后端服务 |
包管理器 | uv |
最新版 | 更快的 Python 依赖同步 |
前端构建 | Node.js + pnpm | Node 22+ | 构建 Web 界面和 CLI 工具 |
演示工具 | Marp CLI | 任意 | Markdown 转幻灯片 |
可选工具 | ffmpeg、espeak | 可选 | 音频合成与播放(配合 TTS) |
建议用户使用 pyenv 管理 Python 版本,避免和本机系统环境冲突。
安装流程:一步步搭建运行环境
官方仓库地址:https://github.com/bytedance/deer-flow
第一步:克隆代码仓库
git clone https://github.com/bytedance/deer-flow.git
cd deer
第二步:安装 Python 依赖(推荐使用 uv)
uv sync
uv
是一种快速、零缓存、兼容pip
的现代依赖管理工具,比pip install -r requirements.txt
更高效。
第三步:安装前端依赖
pnpm install
第四步:复制配置文件并填写 API 密钥
cp .env.example .env
修改 .env
文件,填写如下内容(根据你拥有的服务选填):
OPENAI_API_KEY=sk-xxxxxx
TAVILY_API_KEY=tvly-xxxxxx
MODEL_PROVIDER=deepseek # 或 openai、yi、minicpm
...
如果你想接入本地模型,如 DeepSeek、Yi-1.5、MiniCPM 等,需要提前下载模型权重,并配置到 .env
中。
第五步:启动项目
uvicorn main:app --reload
此时后台服务即已启动。访问 http://localhost:8000
即可打开 Web UI,开始使用 DeerFlow。
使用模式:控制台 vs 图形界面
DeerFlow 提供两种主要的使用方式,用户可以根据实际需求选择:
方式一:Web UI 模式
打开浏览器访问 localhost:8000
,你将看到一个简洁的控制界面,支持:
- 输入任务标题与描述;
- 选择是否开启搜索、分析、输出等组件;
- 实时查看各个 Agent 执行状态与输出;
- 导出结果为 Markdown 或 PPT 格式;
这种方式适合不熟悉命令行的用户,也是日常使用中最推荐的方式。
方式二:命令行模式
通过 Python 脚本直接调用主函数运行任务。例如:
python scripts/run_task.py --title "分析新能源政策变化" --mode markdown
这种方式更灵活,适合将 DeerFlow 嵌入 CI/CD 流程、后台任务或 API 接口中运行。
API 使用与二次开发建议
对于有开发需求的用户,DeerFlow 提供了极易集成的模块式架构:
- 各 Agent 类均继承自基础 Agent 接口,可继承重写;
- 流程图通过 Python 脚本定义(支持 JSON 配置);
- 任务输入输出结构清晰,可 JSON 序列化,易嵌入其他系统;
你也可以封装自己的 Agent,例如连接公司内网知识库、文档解析引擎、语义搜索 API 等,实现真正的“私有研究助理”。
快速排障指南
安装和使用过程中可能会遇到以下常见问题:
问题描述 | 原因分析 | 解决方法 |
---|---|---|
启动时报错 ModuleNotFoundError |
未使用 uv 正确安装依赖 |
确保使用 uv sync 安装依赖 |
无法访问网页接口 | 没有正确启动 uvicorn 或端口被占用 |
检查端口,或换用 uvicorn main:app --port 8080 |
TTS 无法输出语音 | 缺少 ffmpeg 或未设置语音引擎 API | 安装 ffmpeg 或补全 .env 配置 |
模型运行缓慢或超时 | API 限速、本地模型加载慢或显存不足 | 更换模型提供方或启用 RAG 减少调用量 |
如果遇到无法解决的问题,建议查看 GitHub 的 Issues 或加入官方讨论区。