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 的流程通常如下:

  1. 用户输入任务目标与关键词;
  2. 搜索智能体调用搜索引擎获取初始资料;
  3. 阅读智能体对网页进行摘要提取;
  4. 分析智能体综合多个观点并组织逻辑结构;
  5. 撰写智能体生成最终内容;
  6. 输出智能体将结果格式化为 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 可以拆解为三个关键层级:

  1. 任务编排层(Supervisor)
  2. 多智能体执行层(Agents)
  3. 辅助工具与外部服务接口层(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 或加入官方讨论区。

相关导航