DeerFlow 2.0 深度调研报告

DeerFlow 2.0 深度调研报告

一、项目概述

1.1 基本信息

属性 内容
项目名称 DeerFlow
全称 Deep Exploration and Efficient Research Flow
维护者 ByteDance(字节跳动)
GitHub https://github.com/bytedance/deer-flow
官网 https://deerflow.tech
License MIT
主要语言 Python + TypeScript
Stars 33,679+
创建时间 2025年5月7日
当前版本 DeerFlow 2.0

1.2 项目定位

DeerFlow 是字节跳动开源的 SuperAgent Harness(超级智能体运行时),核心理念是:

Harness(运行时)而非 Framework(框架)

关键区别

维度 Framework(框架) Harness(运行时)
设计理念 提供构建块,自行组装 开箱即用,电池内置
执行环境 开发者自行处理 内置沙箱、文件系统、进程隔离
决策权 开发者定义工作流 Agent 自主规划、分解、执行
扩展方式 插件/中间件 Skills + MCP Server + Sub-agents
开发成本 高(需要大量胶水代码) 低(约定优于配置)

1.3 核心特性

特性 说明
🤖 Sub-Agent 编排 Lead Agent + Sub-Agent 架构,自主任务分解
🧠 长期记忆 三层记忆结构,跨会话持久化
📦 内置沙箱 Local / Docker / K8s 三种执行环境
🔧 Skills 系统 Markdown 定义,渐进式加载
🔌 MCP 支持 原生支持 MCP Server,OAuth 认证
📱 IM 集成 Telegram / Slack / 飞书多渠道
🔍 Deep Research 系统化多角度网络研究能力

二、核心架构

2.1 系统架构图

┌─────────────────────────────────────────────────────────────────┐
│                    DeerFlow 2.0 架构                            │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│   ┌─────────────────────────────────────────────────────────┐  │
│   │                    User Interface                        │  │
│   │   Web UI (Next.js)  │  Telegram  │  Slack  │  Feishu   │  │
│   └─────────────────────────┬───────────────────────────────┘  │
│                             │                                   │
│                             ▼                                   │
│   ┌─────────────────────────────────────────────────────────┐  │
│   │                    nginx (Port 2026)                     │  │
│   │          反向代理 + 负载均衡                              │  │
│   └──────────┬────────────────────────┬──────────────────────┘  │
│              │                        │                          │
│              ▼                        ▼                          │
│   ┌──────────────────┐    ┌──────────────────┐                 │
│   │   Gateway API    │    │  LangGraph Server │                 │
│   │   (Port 8001)    │    │   (Port 2024)     │                 │
│   │   FastAPI 管理    │    │   Agent 运行时    │                 │
│   └────────┬─────────┘    └────────┬─────────┘                 │
│            │                       │                            │
│            └───────────┬───────────┘                            │
│                        │                                        │
│                        ▼                                        │
│   ┌─────────────────────────────────────────────────────────┐  │
│   │                    Lead Agent                            │  │
│   │  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐     │  │
│   │  │   Memory    │  │   Skills    │  │   Tools     │     │  │
│   │  │   System    │  │   Loader    │  │   Manager   │     │  │
│   │  └─────────────┘  └─────────────┘  └─────────────┘     │  │
│   └─────────────────────────┬───────────────────────────────┘  │
│                             │                                   │
│              ┌──────────────┼──────────────┐                   │
│              ▼              ▼              ▼                   │
│   ┌──────────────┐ ┌──────────────┐ ┌──────────────┐          │
│   │ Sub-Agent 1  │ │ Sub-Agent 2  │ │ Sub-Agent 3  │          │
│   │ (隔离上下文)  │ │ (隔离上下文)  │ │ (隔离上下文)  │          │
│   └──────┬───────┘ └──────┬───────┘ └──────┬───────┘          │
│          │                │                │                   │
│          └────────────────┼────────────────┘                   │
│                           │                                    │
│                           ▼                                    │
│   ┌─────────────────────────────────────────────────────────┐  │
│   │                    Sandbox Layer                         │  │
│   │   ┌─────────┐   ┌─────────┐   ┌─────────┐              │  │
│   │   │  Local  │   │ Docker  │   │   K8s   │              │  │
│   │   └─────────┘   └─────────┘   └─────────┘              │  │
│   └─────────────────────────────────────────────────────────┘  │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

2.2 目录结构

deer-flow/
├── backend/                  # Python 后端核心
│   ├── src/
│   │   ├── agents/           # Lead Agent、Middlewares
│   │   ├── channels/         # IM 集成(Telegram, Slack, 飞书)
│   │   ├── community/        # 社区工具和沙箱实现
│   │   ├── config/           # 配置加载
│   │   ├── gateway/          # FastAPI 网关
│   │   ├── mcp/              # MCP Server 集成
│   │   ├── models/           # 模型适配器
│   │   ├── sandbox/          # 沙箱执行引擎
│   │   ├── skills/           # Skills 加载器
│   │   ├── subagents/        # Sub-agent 管理
│   │   └── tools/            # 内置工具
│   └── docs/
│       ├── ARCHITECTURE.md   # 架构文档
│       ├── CONFIGURATION.md  # 配置指南
│       └── API.md            # API 文档
├── frontend/                 # Next.js + React 前端
├── skills/                   # Markdown Skill 定义
│   └── public/               # 内置 Skills
└── docker/                   # Docker 配置

2.3 技术栈

层级 技术
前端 Next.js 15, React 19, TypeScript
后端 Python 3.12+, FastAPI
Agent 运行时 LangGraph, LangChain
沙箱 Docker, Kubernetes
数据库 SQLite / PostgreSQL
反向代理 nginx

三、核心组件详解

3.1 Lead Agent + Sub-Agent 架构

DeerFlow 采用 Lead Agent(主智能体) + Sub-Agent(子智能体) 的编排架构:

┌─────────────────────────────────────────────────────────────────┐
│                    Agent 编排模式                                │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│   用户任务: "帮我研究 AI Agent 框架并写一份报告"                  │
│                                                                 │
│   ┌─────────────────────────────────────────────────────────┐  │
│   │                    Lead Agent                            │  │
│   │  1. 理解任务                                              │  │
│   │  2. 分解为子任务                                          │  │
│   │  3. 分配给 Sub-Agents                                     │  │
│   │  4. 综合结果                                              │  │
│   └─────────────────────────┬───────────────────────────────┘  │
│                             │                                   │
│           ┌─────────────────┼─────────────────┐                │
│           ▼                 ▼                 ▼                │
│   ┌───────────────┐ ┌───────────────┐ ┌───────────────┐       │
│   │ Sub-Agent 1   │ │ Sub-Agent 2   │ │ Sub-Agent 3   │       │
│   │ 研究 CrewAI   │ │ 研究 AutoGen  │ │ 研究 MetaGPT  │       │
│   │ (隔离上下文)   │ │ (隔离上下文)   │ │ (隔离上下文)   │       │
│   └───────┬───────┘ └───────┬───────┘ └───────┬───────┘       │
│           │                 │                 │                │
│           └─────────────────┼─────────────────┘                │
│                             │                                   │
│                             ▼                                   │
│   ┌─────────────────────────────────────────────────────────┐  │
│   │                    结果综合                              │  │
│   │  合并三个 Sub-Agent 的研究结果                           │  │
│   │  生成完整的对比报告                                      │  │
│   └─────────────────────────────────────────────────────────┘  │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

Sub-Agent 状态机

PENDING ──> RUNNING ──> COMPLETED
                  │
                  ├──> FAILED
                  │
                  └──> TIMED_OUT

并发控制

MIN_SUBAGENT_LIMIT = 2
MAX_SUBAGENT_LIMIT = 4

3.2 三层记忆系统

DeerFlow 的记忆系统采用三层结构:

{
    "version": "1.0",

    # 第一层:用户画像
    "user": {
        "workContext": {...},       # 角色、公司、技术栈
        "personalContext": {...},   # 语言、偏好、兴趣
        "topOfMind": {...}          # 当前关注点(最频繁更新)
    },

    # 第二层:时间线
    "history": {
        "recentMonths": {...},      # 1-3 月详细活动
        "earlierContext": {...},    # 3-12 月模式
        "longTermBackground": {...} # 长期背景
    },

    # 第三层:结构化事实
    "facts": [...]
}

Facts 分类

类别 含义 示例
preference 用户偏好 "偏好 Vim 胜过 VS Code"
knowledge 专业知识 "精通 Rust 和 WebAssembly"
context 背景事实 "字节跳动高级工程师"
behavior 行为模式 "测试先行开发"
goal 目标意图 "计划 Q2 发布 v2.0"

记忆更新流程

对话完成 → MemoryMiddleware.after_agent → MemoryUpdateQueue
    → 防抖 (30秒) → 去重 → LLM 提取 → 原子写入

3.3 沙箱执行系统

DeerFlow 内置三种沙箱实现:

实现 类名 使用场景
Local LocalSandbox 开发/调试,直接在主机执行
Docker AioSandbox 容器隔离,通过 HTTP API
K8s RemoteSandboxBackend 生产环境,Kubernetes Pods

虚拟文件系统

/mnt/user-data/
├── uploads/          # 用户上传文件(只读)
├── workspace/        # Agent 工作目录(读写)
└── outputs/          # 最终交付物(读写)

/mnt/skills/          # Skills 目录

沙箱抽象接口

class Sandbox(ABC):
    @abstractmethod
    def execute_command(self, command: str) -> str: ...

    @abstractmethod
    def read_file(self, path: str) -> str: ...

    @abstractmethod
    def write_file(self, path: str, content: str) -> None: ...

    @abstractmethod
    def list_dir(self, path: str, max_depth=2) -> list[str]: ...

3.4 Skills 系统

Skill 定义:一个目录 + 一个 SKILL.md 文件

---
name: deep-research
description: 用于需要网络研究的问题,比 WebSearch 更系统化...
---

# Deep Research Skill

## 概述
...

## 研究方法论

### 阶段 1: 广泛探索
...

渐进式加载(三层)

层级 内容 加载时机 大小限制
1 name + description 始终加载 ~100 词
2 SKILL.md 正文 任务匹配时 推荐 <500 行
3 脚本、引用、模板 执行时 无限制

内置 Skills

Skill 用途
deep-research 系统化多角度网络研究
data-analysis DuckDB 分析 Excel/CSV
chart-visualization 智能图表类型选择
frontend-design 高质量前端代码生成
image-generation 结构化提示词图像生成
video-generation 视频生成
ppt-generation 带图像的 PPT 生成
github-deep-research GitHub 仓库分析

四、MCP Server 集成

4.1 三种传输模式

传输方式 机制 使用场景
stdio 子进程 stdin/stdout 本地工具(文件系统、DB CLI)
sse HTTP Server-Sent Events 有服务端推送的远程服务
http HTTP 请求/响应 无状态远程 API

4.2 配置格式

{
  "mcpServers": {
    "filesystem": {
      "enabled": true,
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/path"],
      "env": {"GITHUB_TOKEN": "$GITHUB_TOKEN"}
    },
    "remote-api": {
      "enabled": true,
      "type": "http",
      "url": "https://api.example.com/mcp",
      "oauth": {
        "type": "refresh_token",
        "client_id": "...",
        "refresh_token": "..."
      }
    }
  }
}

4.3 OAuth 支持

  • client_credentials: 服务间调用
  • refresh_token: 用户委托操作
  • 自动 Token 刷新(默认 60 秒提前刷新)

五、IM 渠道集成

5.1 支持的渠道

渠道 传输方式 难度
Telegram Bot API (long-polling) 简单
Slack Socket Mode 中等
飞书/Lark WebSocket 中等

5.2 配置示例

channels:
  langgraph_url: http://localhost:2024
  gateway_url: http://localhost:8001

  telegram:
    enabled: true
    bot_token: $TELEGRAM_BOT_TOKEN

  slack:
    enabled: true
    bot_token: $SLACK_BOT_TOKEN
    app_token: $SLACK_APP_TOKEN

  feishu:
    enabled: true
    app_id: $FEISHU_APP_ID
    app_secret: $FEISHU_APP_SECRET

5.3 命令列表

命令 说明
/new 开始新对话
/status 显示线程信息
/models 列出可用模型
/memory 查看记忆
/help 显示帮助

六、内置工具

6.1 核心工具

工具 用途 超时
bash 命令执行 600s
ls 目录列表(最大 2 层) -
read_file 文件读取(支持行范围) -
write_file 文件写入/追加 -
str_replace 精确字符串替换 -
task Sub-Agent 委托 -
ask_clarification 用户交互 -
present_files 文件展示 -
view_image 图像查看(多模态) -

6.2 社区工具

工具 来源 用途
web_search Tavily 网络搜索
web_fetch Tavily/Jina 网页抓取
image_search DuckDuckGo 图像搜索

七、与其他框架对比

7.1 vs AutoGen

维度 DeerFlow AutoGen
架构定位 Harness(运行时) Framework(框架)
执行环境 内置沙箱 开发者自行处理
记忆系统 跨会话持久化 会话级别
扩展方式 Skills (Markdown) + MCP 代码定义 Agent
状态管理 LangGraph Checkpointer 开发者选择

7.2 vs CrewAI

维度 DeerFlow CrewAI
任务编排 动态 LLM 驱动 预定义任务/角色
沙箱 内置(3 种模式) 外部
记忆 长期 + Facts 短期
协议支持 MCP 原生 自定义工具

7.3 vs MetaGPT

维度 DeerFlow MetaGPT
专注领域 通用 Agent 运行时 软件开发
角色定义 动态 Sub-Agents 预定义(PM、架构师等)
输出 文件、报告、网站 代码、文档
记忆 跨会话持久化 任务级别

7.4 vs LangGraph(独立使用)

维度 DeerFlow LangGraph
抽象层级 完整平台 图编排库
工具 预构建 + MCP 开发者提供
沙箱 集成 外部
记忆 内置系统 仅 Checkpointer
Skills Markdown 定义 代码定义

八、适用场景

8.1 最佳场景

  • 深度研究任务:需要系统化网络调研
  • 长期运行任务:分钟到小时级别的复杂任务
  • 多步骤工作流:需要自主规划和分解
  • 需要隔离执行:代码执行、文件操作
  • 多渠道部署:Web、Telegram、Slack、飞书

8.2 长时程 Agent 特征

  1. 长运行时间:分钟到小时(非简单 Q&A)
  2. 自主决策:动态任务分解
  3. 可交付输出:"初稿"质量的产物

8.3 推荐模型

  • Doubao-Seed-2.0-Code(字节/火山引擎)
  • DeepSeek v3.2
  • Kimi 2.5

模型要求: - 长上下文窗口(100k+ tokens) - 推理能力 - 多模态输入 - 可靠的工具调用


九、安装与部署

9.1 快速开始

# 克隆仓库
git clone https://github.com/bytedance/deer-flow.git
cd deer-flow

# 生成配置
make config

# Docker 开发模式(推荐)
make docker-init
make docker-start

# 或本地开发
make check
make install
make dev

# 访问: http://localhost:2026

9.2 部署模式

模式 命令 说明
Docker 开发 make docker-start 推荐,快速启动
本地开发 make dev 需要本地环境
生产部署 K8s Kubernetes 部署

十、总结

10.1 优势

  1. 开箱即用:Harness 设计,电池内置
  2. 生产就绪:内置沙箱、记忆、Skills
  3. 灵活扩展:MCP 协议、Markdown Skills
  4. 多渠道支持:Web、Telegram、Slack、飞书
  5. 企业级:字节跳动出品,MIT 开源
  6. 长时程优化:专为长时间任务设计

10.2 局限

  1. 学习曲线:概念较多,需要时间理解
  2. 资源需求:Docker/K8s 部署需要资源
  3. 模型依赖:需要支持长上下文的模型
  4. 中文文档:主要文档为英文

10.3 适用人群

  • 需要 AI Agent 平台的团队
  • 研究和分析型任务开发者
  • 企业级 Agent 应用构建者
  • 对 Agent 编排有深入需求的开发者

参考资源

  • GitHub 仓库:https://github.com/bytedance/deer-flow
  • 官方网站:https://deerflow.tech
  • 架构文档:backend/docs/ARCHITECTURE.md
  • 配置指南:backend/docs/CONFIGURATION.md
  • API 文档:backend/docs/API.md

报告生成时间:2026-03-22