AI学习吧
📍 源码七号站 开源解码 DeerFlow 2.0 深度解析:字节跳动开源的 SuperAgent 调度框架,到底强在哪?

DeerFlow 2.0 深度解析:字节跳动开源的 SuperAgent 调度框架,到底强在哪?

摘要:字节跳动开源的DeerFlow 2.0是一个完整的AI Agent运行时环境,它让AI从“建议型”跨越到“执行型”。其核心是Docker沙箱,使Agent能安全地执行代码、运行命令。系统通过Lead Agent动态分解任务,并调度研究员、程序员等子Agent并行工作,内置技能系统和持久记忆,支持多种大模型,可自动化完成研究、建站、数据分析等复杂工作流。
字号 100%
行距 2.05
当前可见 60% 的内容
快速摘要
DeerFlow 2.0(Deep Exploration and Efficient Research Flow)是字节跳动于 2026 年 2 月底开源的 SuperAgent 调度框架,发布 24 小时内即登顶 GitHub Trending 榜首,截至目前已积累超过 46K Star。 它的核心定位不是又一个 LLM 聊天包装器,而是一套完整的 Agent 运行时环境——内置 Docker 沙箱执行、子 Agent 并行调度、跨会话持久记忆和可扩展的 Skill 技能系统。如果你正在寻找一个能让 AI 从"建议型"跨越到"执行型"的开源方案,DeerFlow 2.0 值得你花时间深入了解。 往下看,莫潇羽@源码七号站 会从底层架构到手把手部署,为你做一次详细拆解。

一、DeerFlow 到底是什么?先厘清一个关键区别

在聊具体功能之前,我们需要先搞清楚一个经常被混淆的概念:框架(Framework)和运行时(Runtime)的区别

过去两年,AI Agent 领域涌现出了大量框架——LangChain 给你提供链式调用的抽象,AutoGPT 给你提供循环执行的模式,CrewAI 给你提供角色协作的范式。这些都是好工具,但它们本质上是"组件库",你需要自己去把各种能力拼装起来。

DeerFlow 2.0 走了一条不同的路。字节跳动官方的定义是 super agent harness,翻译过来就是"超级 Agent 运行底座"。它不是让你去组装一个 Agent,而是直接给你一个 Agent 可以在里面"生活和工作"的完整环境:有自己的文件系统、有 Bash 终端、有沙箱隔离、有持久记忆、有技能加载机制。

换一个更直观的比喻:如果说 LangChain 是一套乐高积木,那 DeerFlow 就是一间已经装修好、水电齐全的工作室。你把 Agent 放进去,它就能直接开始干活。

这个区别体现在一个很实际的问题上:当 AI 生成了一段代码或者一个工作方案时,接下来会发生什么?在绝大多数现有的 AI 工具中,答案是——你需要自己去执行它。你要把代码复制粘贴到你的编辑器里,你要手动运行命令,你要自己检查输出结果,出了问题还要回来告诉 AI 让它修改。这个"AI 负责想、人类负责做"的模式,就是所谓的 hand-off problem(手动交接问题)。DeerFlow 的核心目标就是打破这个瓶颈——让 Agent 不仅能想,还能自己动手做。

DeerFlow 这个名字本身就透露了它的基因——Deep Exploration and Efficient Research Flow,深度探索与高效研究流程。它最初是字节跳动内部的一个深度研究工具,主要用来做自动化的资料搜集和报告生成。但 1.0 版本发布后,开源社区的开发者们把它用到了字节团队从没想过的场景:搭建数据流水线、自动生成演示文稿、部署仪表盘、自动化内容工作流……

这让字节团队意识到,DeerFlow 的价值不仅仅在于"研究",而在于它提供了一个 Agent 能够真正"做事"的基础设施。于是他们做了一个大胆的决定——从零重写。DeerFlow 2.0 和 1.0 没有一行共用代码,这是一次彻底的架构革命。

从技术层面来看,这次重写的核心思路变化是:1.0 版本是一个"你需要自己组装的框架",而 2.0 版本是一个"开箱即用的运行时"。1.0 给你提供组件,你自己决定怎么拼装;2.0 直接给你一个完整的工作环境,你只需要告诉它要做什么。这个思路的转变,实际上反映了整个 AI Agent 行业在过去一年中的集体学习——大家发现,对于大多数使用者来说,真正需要的不是更灵活的组件库,而是一个立刻就能产出价值的完整系统。框架给开发者提供了自由度,但也给他们带来了巨大的集成和调试成本。DeerFlow 2.0 选择了在框架之上再往前走一步,把最佳实践固化到产品中,让用户只需要关注"我要做什么"而不是"我要怎么搭"。


二、DeerFlow 2.0 的核心架构:六大支柱撑起执行力

DeerFlow 2.0 基于 LangGraph 1.0LangChain 构建,采用全栈架构设计。莫潇羽在研究这个项目的时候,发现它的架构设计在开源 Agent 领域确实做到了相当完整的覆盖。下面我们逐一拆解它的六大核心组件。

2.1 Lead Agent:总调度中枢

整个 DeerFlow 系统的入口是一个叫做 Lead Agent(主 Agent) 的角色。当你给 DeerFlow 提交一个任务时,Lead Agent 是第一个接手的。它的职责包括:

  • 理解用户意图,判断任务的复杂度和类型
  • 将复杂任务分解为多个可并行的子任务
  • 决定每个子任务应该交给哪种类型的子 Agent
  • 在所有子任务完成后,整合结果并输出最终交付物

Lead Agent 通过 make_lead_agent(config) 函数创建,它会加载配置文件中指定的模型和工具,然后通过一条中间件链(middleware chain)来处理消息。这种设计让 Lead Agent 在不同任务场景下具有很强的适应性。

中间件链是 DeerFlow 的一个精巧设计。每条进入系统的消息都会按顺序经过多个中间件的处理,这些中间件分别负责不同的职能——有的负责检查用户身份,有的负责加载相关的记忆上下文,有的负责判断是否需要启用思维链(thinking)模式,有的负责决定是否需要子 Agent 委派。中间件的设计让整个处理流程变得模块化、可插拔。如果你需要在消息处理流程中添加自定义的逻辑(比如内容审核、访问控制等),只需要编写一个新的中间件并注册到链中即可。

2.2 Sub-Agent System:专业子 Agent 集群

DeerFlow 内置了多种类型的子 Agent,每种都有自己擅长的领域:

  • Researcher(研究员):负责网络搜索、资料收集、信息整理,使用 Web Search 和 Web Fetch 等工具
  • Coder(程序员):负责代码编写、调试和执行,运行在沙箱化的 Python 环境中
  • Reporter(报告员):负责将研究结果和数据整合成结构化的报告、文档或演示文稿

关键在于,这些子 Agent 不是预先固定的角色分配,而是 动态生成 的。Lead Agent 会根据任务的实际需求,决定要生成什么类型的子 Agent、生成多少个、每个的职责范围是什么。每个子 Agent 都运行在自己独立的上下文中,彼此之间互不可见——这种隔离设计既保证了专注度,也避免了上下文污染。

举个具体的例子:假设你让 DeerFlow 完成一个"调研竞品定价策略,生成对比表格,并撰写一封发给团队的邮件"这样的复合任务。Lead Agent 会同时派出一个 Researcher 去搜集竞品信息、一个 Coder 去处理数据并生成表格、一个 Reporter 去撰写邮件——它们并行工作,最后由 Lead Agent 汇总成一份完整的交付物。

2.3 Sandbox System:Docker 沙箱执行环境

这是 DeerFlow 2.0 最核心的技术亮点,也是它和绝大多数 Agent 框架拉开差距的关键所在。

传统的 AI 工具在处理代码类任务时,通常只能"建议"你怎么写代码——生成一段代码片段,然后你自己复制粘贴到终端去执行。这就是所谓的 hand-off problem(手动交接问题)。Agent 完成了思考层面的工作,但执行层面还是得靠人。

DeerFlow 彻底解决了这个问题。每个任务都运行在一个 独立的 Docker 容器 里,这个容器是一台功能完整的"虚拟计算机":

# 沙箱容器内部的目录结构
/mnt/user-data/
├── uploads/      ← 用户上传的文件
├── workspace/    ← Agent 的工作目录
└── outputs/      ← 最终交付物

/mnt/skills/
├── public/       ← 内置技能
│   ├── research/SKILL.md
│   ├── report-generation/SKILL.md
│   ├── slide-creation/SKILL.md
│   ├── web-page/SKILL.md
│   └── image-generation/SKILL.md
└── custom/       ← 用户自定义技能
    └── your-custom-skill/SKILL.md

在这个沙箱里,Agent 可以:

  • 读写文件,操作完整的文件系统
  • 执行 Bash 命令,安装依赖包
  • 运行 Python 代码并获取执行结果
  • 查看图片,处理多媒体内容
  • 所有操作都被完整记录,可追溯、可审计

而且每个沙箱都是完全隔离的。不同任务之间互不干扰,沙箱用完就销毁,不会污染宿主系统。这种设计在安全性上做到了很好的平衡——既给了 Agent 足够的执行权限,又把风险控制在可控范围内。

这里有必要多说几句"沙箱为什么重要"。在没有沙箱的情况下,如果你让 AI 直接在你的电脑上执行代码,风险是很高的——一条误操作的 rm 命令就可能删掉重要文件,一个有问题的脚本可能导致系统崩溃。沙箱的存在就像是给 Agent 划了一个安全边界:在这个边界内随便折腾,出了问题最多损失这一次的沙箱环境,不会影响到宿主系统的任何东西。

从技术实现上看,DeerFlow 的沙箱不是模拟出来的"假环境",而是一个真实的、功能完整的 Linux 容器。Agent 在里面安装 Python 包、跑 Jupyter Notebook、编译代码……和你在一台真实的 Linux 服务器上操作没有区别。这也是 DeerFlow 区别于那些只提供"代码解释器"功能的工具的关键——代码解释器通常只能运行预设环境中的脚本,而 DeerFlow 的沙箱给了 Agent 一台真正的计算机。

DeerFlow 支持三种沙箱模式,适配不同的部署场景:

  • Local 模式:直接在本地机器上运行代码,没有容器隔离。这种模式最简单,启动最快,但安全性最低,适合在自己的开发机上做实验和调试。一般不建议在处理不可信任务时使用。
  • Docker 模式:每个任务运行在独立的 Docker 容器中。这是大多数用户推荐使用的模式,兼顾了安全性和性能。容器之间完全隔离,任务结束后容器会被清理。
  • Kubernetes 模式:通过一个专门的 Provisioner 服务(运行在端口 8002)在 Kubernetes 集群中动态创建和销毁 Pod。这种模式适合需要大规模并发处理的企业场景——当多个用户同时提交任务时,K8s 可以根据负载自动调度资源。

2.4 Memory System:跨会话持久记忆

大多数 AI Agent 的一个痛点是"健忘"——每次开新会话,之前聊过什么全忘了。DeerFlow 的记忆系统解决了这个问题。

它的记忆机制包含几个层次:

  • 用户画像记忆:记住你的偏好、常用的技术栈、写作风格等
  • 任务历史记忆:记录你之前完成过的任务及其上下文
  • 项目知识记忆:积累与特定项目相关的领域知识

记忆更新通过一个 异步去抖队列(debounced queue) 来处理,这意味着记忆的写入不会阻塞正在进行的对话。系统还会对记忆中的"事实"进行去重处理——如果你反复提到同一个偏好,它不会在记忆库里堆积重复条目。

从实际体验来看(莫潇羽@源码七号站 注),持久记忆在 Agent 系统中仍然是一个技术难题。记忆的召回准确性、过时信息的更新、跨任务知识的泛化……这些问题在学术层面已经有了不少研究,但在工程实践中还远没有完美解决。DeerFlow 的记忆架构设计是相当用心的,但使用时也需要对其局限性保持清醒的认知。

值得一提的是,DeerFlow 的记忆数据默认存储在本地,完全由用户自己控制,不会上传到任何云端服务器。这对于处理敏感信息的场景来说是一个重要的安全特性。不过,DeerFlow 最近也新增了 TIAMAT 云端记忆后端的支持,这暗示着字节跳动正在考虑企业级的持久化方案——对于需要在团队内部共享 Agent 知识库的场景,云端记忆会是一个有价值的功能。

记忆系统在实际使用中的效果,很大程度上取决于你使用的 LLM 模型的能力。模型需要能够准确地从记忆库中提取相关信息,并且能够判断哪些记忆仍然有效、哪些已经过时。目前的实践表明,使用推理能力较强的模型(比如 DeepSeek V3.2 或 GPT-4 级别)作为 Lead Agent 的驱动模型,可以获得更好的记忆召回效果。

2.5 Skill System:可扩展的技能体系

Skill(技能)系统是 DeerFlow 做到"几乎什么都能干"的关键机制。每个 Skill 本质上是一个 结构化的 Markdown 文件(SKILL.md),里面定义了工作流程、最佳实践和参考资源。

DeerFlow 开箱即用地内置了以下技能:

技能类型

对应的 Skill 文件

典型应用场景

深度研究

research/SKILL.md

自动搜集资料、交叉验证、输出研究报告

报告生成

report-generation/SKILL.md

将研究成果整合为结构化文档

演示文稿

slide-creation/SKILL.md

根据内容自动生成 PPT

网页搭建

web-page/SKILL.md

从设计到代码一站式生成网页

图像生成

image-generation/SKILL.md

生成插图、图表等视觉内容

视频制作

video-generation/SKILL.md

自动生成短视频内容

这套设计最聪明的地方在于 渐进式加载——Skill 并不是一次性全部加载到上下文窗口里,而是只在任务确实需要某个技能时,才把对应的 SKILL.md 注入到 Agent 的上下文中。这不仅节省了 Token 消耗,也减少了无关信息对 Agent 决策的干扰。对于那些需要运行数小时的长时间任务来说,这种设计能显著降低累计成本。

更关键的是,Skill 系统是 完全可扩展的。你可以编写自己的 SKILL.md 文件,放到 /mnt/skills/custom/ 目录下,DeerFlow 会自动发现并加载它。你甚至可以通过 Gateway API 的 POST /api/skills/install 接口安装打包好的 .skill 归档文件。这意味着团队可以把自己的业务流程、工作规范封装成 Skill,让 Agent 按照组织的标准来执行任务。

这里多说一下 Skill 文件的结构,帮助有兴趣编写自定义 Skill 的读者理解它的工作原理。一个 SKILL.md 文件本质上就是一个 Markdown 文档,但它遵循特定的结构约定。文件开头可以包含可选的 frontmatter 元数据(比如 version、author、compatibility 等),正文部分则按照"任务描述→执行步骤→最佳实践→注意事项"的逻辑组织内容。当 Agent 需要执行某个类型的任务时,对应的 SKILL.md 会被加载到 Agent 的上下文窗口中,Agent 会按照其中定义的流程和规范来工作。

这种设计的好处是显而易见的——你不需要写代码来扩展 Agent 的能力,只需要用自然语言编写一份结构化的操作指南。任何了解自己业务流程的人都可以编写 Skill,而不仅限于开发者。比如,一个内容运营人员可以编写一个"每周行业动态汇总"的 Skill,详细描述信息源有哪些、汇总格式是什么样的、需要关注哪些维度——然后 DeerFlow 就可以每周自动按照这个规范来执行任务。

2.6 MCP Integration:模型上下文协议支持

DeerFlow 2.0 集成了 MCP(Model Context Protocol) 支持,这是一个正在被越来越多 AI 工具采纳的标准协议。通过 MCP,DeerFlow 可以对接外部工具和服务,进一步扩展其能力边界。

MCP 服务器支持 HTTP/SSE 协议,并且原生支持 OAuth 令牌流(包括 client_credentials 和 refresh_token 模式),这意味着你可以安全地将 DeerFlow 与企业级的外部服务集成。

MCP 的配置通过项目根目录的 extensions_config.json 文件管理,Gateway API 和 LangGraph 服务器之间通过文件修改时间(mtime)来同步配置变更——当你通过 UI 修改了 MCP 设置,LangGraph 服务器会在下一次请求时自动检测到变更并刷新工具缓存。


三、全栈技术架构详解

理解了六大核心组件之后,我们来看看它们是如何在技术层面组合在一起的。DeerFlow 2.0 的全栈架构可以用下面这张图来概括(文/莫潇羽@源码七号站):

┌───────────────────────────────────────────────────────┐
│                  Nginx 反向代理 (Port 2026)              │
│                    统一入口 / 请求路由                     │
└───────────────────────────────────────────────────────┘
                          │
          ┌───────────────┼───────────────┐
          ▼               ▼               ▼
┌─────────────────┐ ┌─────────────┐ ┌──────────────┐
│   Frontend      │ │  Gateway    │ │  LangGraph   │
│   (Next.js)     │ │  API        │ │  Server      │
│   Port 3000     │ │  Port 8001  │ │  Port 2024   │
└─────────────────┘ └─────────────┘ └──────────────┘
                          │
                   ┌──────┴──────┐
                   ▼             ▼
           ┌──────────┐   ┌──────────┐
           │ Sandbox  │   │ Memory   │
           │ (Docker) │   │ System   │
           └──────────┘   └──────────┘

请求路由规则

Nginx 在端口 2026 上作为统一入口,按照以下规则分发请求:

  • /(非 API 路径)→ 路由到 Next.js 前端(端口 3000)
  • /api/langgraph/* → 路由到 LangGraph Server(端口 2024)
  • /api/*(其他所有 API 请求)→ 路由到 Gateway API(端口 8001)

后端双包架构

DeerFlow 的后端代码采用了清晰的分层设计,分为两个包:

Harness 包backend/packages/harness/deerflow/):核心 Agent 框架,包含 Agent 编排、工具集成、沙箱管理、模型管理、MCP 集成、Skill 加载和配置管理。导入前缀为 deerflow.*

App 包backend/app/):应用层,包含 FastAPI Gateway API 和 IM 渠道集成(飞书、Slack、Telegram)。导入前缀为 app.*

这两个包之间有一个严格的依赖规则:App 可以导入 Harness,但 Harness 永远不能导入 App。这个边界通过自动化测试(tests/test_harness_boundary.py)来强制执行,确保核心框架不会被应用层的特定实现所污染。

Gateway API 提供的服务

Gateway API 运行在端口 8001,是整个 DeerFlow 系统对外暴露能力的核心接口层。它基于 FastAPI 构建,提供了丰富的 REST API 端点来管理 DeerFlow 的各项功能:

  • 模型管理:列出和配置可用的 LLM 模型,支持动态切换
  • MCP 管理:配置和管理 MCP 服务器连接,支持运行时热更新
  • Skill 管理:列出所有技能(GET /api/skills)、查看详情(GET /api/skills/{name})、启用或禁用技能(PUT /api/skills/{name})、安装自定义 Skill(POST /api/skills/install
  • 记忆管理:查看和管理用户的持久记忆数据
  • 文件上传:上传文件(POST /api/uploads),系统会自动识别文件类型并进行格式转换——PDF、PPT、Excel、Word 文档都会被转换为 Agent 可处理的格式
  • 会话清理:在 LangGraph 线程删除后清理本地线程数据,保持数据一致性

Gateway API 和 LangGraph Server 作为两个独立的进程运行,它们之间的配置同步是通过文件系统实现的。当你通过 Gateway API 修改了配置(比如启用了一个新的 MCP 服务器),配置变更会被写入到 extensions_config.json 文件中。LangGraph Server 在处理下一个请求时会检测文件的修改时间(mtime),如果发现变更就会自动刷新缓存。这种设计避免了进程间通信的复杂性,同时也确保了两个服务始终使用一致的配置。

此外,DeerFlow 还提供了一个内嵌式的客户端库(deerflow/client.py),它和 Gateway API 暴露相同的功能接口,但以 Python 函数调用的方式提供。这个客户端主要用于 IM 渠道集成等场景——当消息从飞书或 Slack 进来时,不需要走 HTTP 接口,可以直接调用客户端库来处理。为了保证两者的行为一致性,项目中有一套 TestGatewayConformance 测试,确保客户端的每个返回值都符合 Gateway API 的 Pydantic 响应模型定义。


四、多模型支持与配置策略

DeerFlow 2.0 的一个重要特性是 模型无关性(Model-Agnostic)——它不绑定任何特定的 LLM 提供商,支持所有兼容 OpenAI API 的模型。这意味着你可以根据自己的需求和预算灵活选择。

目前官方测试过且推荐的模型包括:

  • 豆包 Seed 2.0 Code(字节自家的模型,对中文场景优化较好)
  • DeepSeek v3.2(在代码和推理能力上表现优异)
  • Kimi 2.5(长上下文处理能力突出)
  • GPT-4 / GPT-4o(综合能力均衡的选择)
  • Claude Sonnet(推理和写作能力出色)
  • Gemini 1.5(多模态能力强)
  • 通过 Ollama 接入的本地模型

config.yaml 中配置模型的方式如下:

models:
  - name: deepseek-v3
    display_name: DeepSeek V3.2
    use: langchain_openai:ChatOpenAI
    model: deepseek-chat
    api_key: $DEEPSEEK_API_KEY
    base_url: https://api.deepseek.com/v1
    max_tokens: 4096
    temperature: 0.7

这里有几个配置细节值得注意:

use 字段指定了 LangChain 的类路径,DeerFlow 通过反射机制来实例化对应的模型类。如果你使用的模型提供商需要额外的 LangChain 包(比如 langchain-google-genai),系统会给出友好的安装提示。

api_key 字段支持 $ 前缀引用环境变量(如 $DEEPSEEK_API_KEY),这样就不需要在配置文件中硬编码密钥了。

对于需要选用不同模型来处理不同类型子任务的场景,DeerFlow 支持在配置中指定多个模型,并通过 create_chat_model(name, thinking_enabled) 函数按需实例化。

一个实用的策略是:用推理能力强的模型(如 DeepSeek V3.2)来驱动 Lead Agent 做任务分解,用速度更快、成本更低的模型来驱动执行类子 Agent,这样可以在效果和成本之间找到平衡点。DeerFlow 的模型配置支持为不同的 Agent 角色指定不同的模型,这给了用户很大的灵活性。比如 Researcher Agent 可能不需要特别强的推理能力,但需要处理大量的上下文信息,这时候选择一个长上下文窗口的模型就比选择最贵的模型更划算。

在模型选择方面,DeerFlow 官方推荐的模型具有以下几个共同特点:支持超长上下文窗口(100K tokens 以上),这对于深度研究类任务至关重要;具备较强的工具调用能力(Function Calling),这是 Agent 与外部工具交互的基础;支持结构化输出,这让 Lead Agent 能可靠地进行任务分解和结果整合;部分模型还支持多模态输入,可以理解图片和视频内容。选择模型时,建议优先关注这几个能力指标,而不是仅仅看模型的通用排行榜分数。

不过这里也要提醒一下(莫潇羽@源码七号站 注):如果你打算用本地模型来跑 DeerFlow,需要注意两点。第一,Lead Agent 需要较强的指令遵循和结构化输出能力来做任务分解,小参数模型很可能无法胜任。第二,如果你想为不同的子 Agent 配置不同的本地模型,需要足够的显存来同时运行它们。


五、从零开始部署 DeerFlow 2.0

说了这么多原理,接下来进入实操环节。DeerFlow 提供了多种部署方式,从最简单的桌面安装器到企业级的 Kubernetes 部署都有覆盖。我们从最推荐的 Docker 方式开始。

5.1 环境准备

在开始之前,确保你的机器上安装了以下工具:

  • DockerDocker Compose(用于容器化部署)
  • Git(用于克隆代码仓库)
  • 至少一个 LLM API Key(DeepSeek、OpenAI、Kimi 等任选其一)
  • Tavily API Key(用于网络搜索功能,可在 tavily.com 免费注册获取)

5.2 Docker 部署(推荐方式)

第一步:克隆仓库

git clone https://github.com/bytedance/deer-flow.git
cd deer-flow

第二步:生成配置文件

make config

这条命令会根据项目中的示例模板,在本地生成 config.yaml.env 两个配置文件。

第三步:编辑 config.yaml

打开 config.yaml,按照你实际使用的模型来配置。以 DeepSeek 为例:

models:
  - name: deepseek-v3
    display_name: DeepSeek V3.2
    use: langchain_openai:ChatOpenAI
    model: deepseek-chat
    api_key: $DEEPSEEK_API_KEY
    base_url: https://api.deepseek.com/v1
    max_tokens: 4096
    temperature: 0.7

如果你想同时配置多个模型供切换使用,可以在 models 列表下添加多个条目。

第四步:编辑 .env 文件

.env 文件中设置你的 API 密钥:

DEEPSEEK_API_KEY=your-deepseek-api-key
TAVILY_API_KEY=your-tavily-api-key
# 如果使用 OpenAI
OPENAI_API_KEY=your-openai-api-key

第五步:初始化并启动

# 拉取沙箱镜像(仅首次运行或镜像更新时需要)
make docker-init

# 启动所有服务
make docker-start

make docker-start 会根据 config.yaml 中的沙箱模式自动决定启动哪些服务。如果你配置的是 Local 或 Docker 沙箱模式,Provisioner 服务不会被启动。

第六步:访问 Web 界面

打开浏览器,访问 http://localhost:2026,你应该能看到 DeerFlow 的 Web 操作界面了。

5.3 本地开发部署

如果你更偏向于直接在本地跑开发环境,可以使用以下步骤:

# 同样先生成配置文件
make config

# 编辑 config.yaml 和 .env(同上)

# 启动开发服务
make dev

make dev 需要一个有效的 config.yaml 文件(默认在项目根目录,可通过 DEER_FLOW_CONFIG_PATH 环境变量覆盖)。

5.4 使用桌面安装器(适合非技术用户)

DeerFlow 还提供了图形化的桌面安装器,适合不想折腾命令行的用户:

  • macOS:下载 deer-flow_macOS.dmg,拖拽到 Applications 文件夹即可。如果遇到安全警告,右键点击应用选择"打开"。
  • Windows:下载 deer-flow_x64.exe,运行安装程序后打开 Deer-Flow。

安装完成后,deer-flow 命令也会自动注册到你的终端中。

5.5 使用 AI 编程助手一键部署

如果你正在使用 Claude Code、Cursor、Windsurf 等 AI 编程助手,DeerFlow 团队还贴心地提供了一个一句话部署命令。你只需要把以下指令发给你的编程助手:

Help me clone DeerFlow if needed, then bootstrap it for local development by following https://raw.githubusercontent.com/bytedance/deer-flow/main/Install.md

编程助手会自动完成克隆、环境检测、依赖安装、配置生成等全部步骤。


六、实战场景:DeerFlow 2.0 能帮你做什么?

了解了架构和部署之后,我们来看看 DeerFlow 2.0 在实际使用中能完成哪些类型的任务。以下是根据官方演示和社区反馈整理的典型场景(文/莫潇羽@源码七号站)。

6.1 深度研究与报告生成

这是 DeerFlow 最成熟的应用场景,毕竟它的前身就是一个深度研究工具。你可以给它一个研究课题,比如"调研 2026 年 Agent 技术的趋势与机遇",DeerFlow 会自动完成:

  • 通过多个搜索引擎搜集相关信息
  • 对不同来源的信息进行交叉验证
  • 对数据进行分析和可视化
  • 整合成一份结构完整的研究报告
  • 甚至可以进一步生成配套的 PPT 演示文稿

整个过程中,Researcher 子 Agent 负责信息搜集,Coder 子 Agent 负责数据处理,Reporter 子 Agent 负责文档撰写——它们并行工作,最终由 Lead Agent 整合输出。

让我们还原一下这个过程中 DeerFlow 内部实际发生了什么。当你输入"调研 2026 年 Agent 技术的趋势"这个指令后,Lead Agent 首先会对任务进行分解。它可能会把这个研究课题拆成十几个子任务:搜索最新的学术论文摘要、搜集各大科技公司在 Agent 方向的最新发布、统计 GitHub 上 Agent 相关项目的增长数据、分析风险投资在这个领域的流向等。每个子任务会被分配给一个独立的 Researcher Agent,它们在各自的沙箱环境中并行执行搜索和信息整理。当所有 Researcher 完成工作后,Lead Agent 会调度 Coder Agent 对搜集来的数据做进一步处理——比如用 Python 生成趋势图表,或者对比分析不同框架的功能矩阵。最后,Reporter Agent 会将所有研究成果和可视化图表整合成一份结构清晰的报告文档。

整个流程可能需要十几分钟到几十分钟不等,取决于研究课题的广度和深度。这正是 DeerFlow 所说的"长时间任务"(long-horizon task)——它不像普通的聊天机器人那样在几秒钟内给你一个回答,而是像一个真正的研究员一样,花时间去做扎实的调研工作。

6.2 网站搭建

DeerFlow 可以根据你的描述,从设计到代码全自动地生成一个可用的网页。这在制作落地页、产品展示页等场景中特别有用。Agent 会在沙箱中完成 HTML/CSS/JS 的编写、调试和预览,最终把成果输出到 /mnt/user-data/outputs/ 目录供你下载。

这个过程并不是简单地生成一段代码然后让你自己去跑。DeerFlow 会在沙箱中真实地运行生成的代码,检查页面是否能正常渲染,如果出现 CSS 布局问题或 JavaScript 报错,Coder Agent 会自动调试修复。最终交付给你的是一个已经验证过可以正常工作的完整网页项目。你可以直接将输出文件部署到任何静态托管服务上,比如 Nginx、Vercel 或者 GitHub Pages。

对于更复杂的网站需求,你还可以通过自定义 Skill 来定义特定的技术栈偏好——比如要求使用 Vue.js 而不是 React,或者指定使用 Tailwind CSS 进行样式开发。Skill 文件中的最佳实践指导会帮助 Agent 按照你期望的方式来编写代码。

6.3 数据分析与可视化

上传一个数据集(比如 CSV 文件),让 DeerFlow 帮你做探索性数据分析。Coder 子 Agent 会在沙箱中运行 Python 脚本,使用 pandas 和 matplotlib 等库来清洗数据、生成统计图表、发现数据中的规律,并将分析结论整理成报告。

DeerFlow 官方演示中有一个非常经典的案例:分析泰坦尼克号数据集,识别影响生存率的关键因素。Agent 会自动安装必要的 Python 库、读取数据、执行统计分析、生成可视化图表,最后输出一份包含洞察和图表的完整分析报告。整个过程不需要你写一行代码——你只需要告诉它"分析这份数据并找出关键规律",剩下的事情 Agent 会全部搞定。

在实际工作中,这个能力对于需要频繁处理数据报表的人来说是一个很大的效率提升。比如每周需要从业务数据库导出数据并生成周报,或者需要定期对比多个维度的经营指标,都可以通过 DeerFlow 来自动化完成。

6.4 内容创作工作流

DeerFlow 支持一些更有创意的工作流,比如:

  • 根据小说场景描述生成参考图片和视频
  • 将技术概念转化为易懂的漫画形式(官方演示中有一个用漫画形式解释 MOE 混合专家架构的案例,非常直观)
  • 搜集某个公众人物的近期播客访谈,整合成一份综合摘要
  • 观看指定的视频内容并基于其中的要点进行深度研究

这些工作流的共同特点是"多步骤、多工具、多格式"——需要先搜索、再分析、再创作、再整合,涉及文字、图片、视频等多种输出格式。在没有 DeerFlow 这类工具之前,完成这样的工作通常需要在多个工具之间反复切换,手动搬运中间结果。DeerFlow 通过 Agent 编排把这些步骤串联起来,一次性完成整个工作流。

6.5 代码开发辅助

虽然 DeerFlow 的定位不是纯粹的编程工具(这方面有 Claude Code、Cursor 等更专注的选择),但它的沙箱执行能力让它在涉及编程的复合任务中表现不俗。特别是当一个任务既需要搜索调研、又需要写代码、还需要生成文档时

🔒
🔒 该内容仅对更高等级用户组开放,请升级您的账户等级以查看完整内容。
您当前:游客 · 可见 60% 内容 · 升级至 注册用户 可见 70%
👀
游客
可见 60%
✓ 当前
注册用户
注册用户
可见 70%
社区精英
社区精英
可见 100%
社区守护
社区守护
可见 100%
仅解锁本文,永久有效。如需PDF珍藏版,请联系站长获取。 当前单篇价格 ¥9.9
✏️ 发表评论

请先登录后发表评论

前往登录
📊 站点统计
今日发布0 篇
文章总数1247 篇
昨日发布3 篇
本月发布22 篇
建站时间383 天
🔍 搜索
📅 日历
« 2026 » « 08 »
     12
3456789
10111213141516
17181920212223
24252627282930
31      
站长微语

联系站长

微信:165255185
AIGC 技术社区
致力于解码 AI前沿技术 与经验分享
纯粹的技术交流社区

💡 欢迎您的建议与反馈,让社区变得更好

快速通道
联系站长
站长微信二维码
AI交流群
AI交流群二维码
友情推荐