文章

Deer-Flow 2.0 完全指南:从入门到精通的超级智能体框架

Deer-Flow 2.0 完全指南:从入门到精通的超级智能体框架

Deer-Flow 2.0 完全指南:从入门到精通的超级智能体框架

在 AI 智能体技术快速发展的今天,Deer-Flow 2.0 作为字节跳动开源的超级智能体框架,正在重新定义我们与 AI 交互的方式。它不仅仅是一个研究工具,更是一个完整的智能体运行时环境,能够处理从简单问答到复杂多步骤任务的各种场景。

Deer-Flow 2.0 是一个彻底重写的版本,与 v1 版本没有任何代码共享。 如果你熟悉之前的 Deep Research 框架,那么你需要重新学习这个全新的架构。

什么是 Deer-Flow?

Deer-Flow(Deep Exploration and Efficient Research Flow)是一个开源的超级智能体框架,它通过协调子智能体记忆系统沙箱环境来完成几乎任何任务。其核心特点包括:

  • 🦌 技能驱动:通过可扩展的技能系统实现功能模块化
  • 🔒 安全沙箱:每个任务都在隔离的 Docker 容器中执行
  • 🧠 长期记忆:跨会话的记忆系统,让智能体真正了解你
  • 🤖 子智能体协作:复杂任务自动分解为多个子任务并行执行
  • 🌐 多渠道支持:支持 Web、Telegram、Slack、飞书等多种交互方式

核心架构解析

整体架构

Deer-Flow 2.0 采用微服务架构,主要包含以下组件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
                        ┌──────────────────────────────────────┐
                        │          Nginx (Port 2026)           │
                        │      Unified reverse proxy           │
                        └───────┬──────────────────┬───────────┘
                                │                  │
              /api/langgraph/*  │                  │  /api/* (other)
                                ▼                  ▼
               ┌────────────────────┐  ┌────────────────────────┐
               │ LangGraph Server   │  │   Gateway API (8001)   │
               │    (Port 2024)     │  │   FastAPI REST         │
               │                    │  │                        │
               │ ┌────────────────┐ │  │ Models, MCP, Skills,   │
               │ │  Lead Agent    │ │  │ Memory, Uploads,       │
               │ │  ┌──────────┐  │ │  │ Artifacts              │
               │ │  │Middleware│  │ │  └────────────────────────┘
               │ │  │  Chain   │  │ │
               │ │  └──────────┘  │ │
               │ │  ┌──────────┐  │ │
               │ │  │  Tools   │  │ │
               │ │  └──────────┘  │ │
               │ │  ┌──────────┐  │ │
               │ │  │Subagents │  │ │
               │ │  └──────────┘  │ │
               │ └────────────────┘ │
               └────────────────────┘

主要组件详解

1. 主智能体(Lead Agent)

主智能体是整个系统的入口点,它集成了:

  • 动态模型选择:支持思维链(Chain-of-Thought)和视觉能力
  • 中间件链:9个中间件按顺序处理不同关注点
  • 工具系统:沙箱工具、MCP工具、社区工具和内置工具
  • 子智能体委托:支持并行任务执行
  • 系统提示:注入技能、记忆上下文和工作目录指导

2. 中间件链(Middleware Chain)

中间件按严格顺序执行,每个处理特定关注点:

序号中间件功能
1ThreadDataMiddleware为每个线程创建隔离的目录(workspace, uploads, outputs)
2UploadsMiddleware将新上传的文件注入对话上下文
3SandboxMiddleware获取沙箱环境用于代码执行
4SummarizationMiddleware在接近令牌限制时减少上下文(可选)
5TodoListMiddleware在计划模式下跟踪多步骤任务(可选)
6TitleMiddleware首次交互后自动生成对话标题
7MemoryMiddleware将对话排队用于异步记忆提取
8ViewImageMiddleware为支持视觉的模型注入图像数据(条件性)
9ClarificationMiddleware拦截澄清请求并中断执行(必须最后)

3. 沙箱系统(Sandbox System)

沙箱系统提供隔离的执行环境:

  • 抽象接口execute_command, read_file, write_file, list_dir
  • 提供者LocalSandboxProvider(本地文件系统)和 AioSandboxProvider(Docker)
  • 虚拟路径/mnt/user-data/{workspace,uploads,outputs} → 线程特定的物理目录
  • 技能路径/mnt/skillsdeer-flow/skills/ 目录
  • 工具bash, ls, read_file, write_file, str_replace

4. 子智能体系统(Subagent System)

子智能体系统支持异步任务委托:

  • 内置智能体general-purpose(完整工具集)和 bash(命令专家)
  • 并发性:每轮最多3个子智能体,15分钟超时
  • 执行:后台线程池,状态跟踪和 SSE 事件
  • 流程:智能体调用 task() 工具 → 执行器在后台运行子智能体 → 轮询完成状态 → 返回结果

5. 记忆系统(Memory System)

记忆系统提供跨会话的持久上下文:

  • 自动提取:分析对话以获取用户上下文、事实和偏好
  • 结构化存储:用户上下文(工作、个人、重点关注)、历史记录和置信度评分的事实
  • 去抖更新:批量更新以最小化 LLM 调用
  • 系统提示注入:顶级事实 + 上下文注入到智能体提示中
  • 存储:JSON 文件,基于 mtime 的缓存失效

快速开始

环境准备

先决条件:

  • Python 3.12+
  • uv 包管理器
  • Node.js 22+
  • pnpm 10.26.2+

安装步骤

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 1. 克隆仓库
git clone https://github.com/bytedance/deer-flow.git
cd deer-flow

# 2. 生成配置文件
make config

# 3. 配置模型(编辑 config.yaml)
models:
  - name: gpt-4o
    display_name: GPT-4o
    use: langchain_openai:ChatOpenAI
    model: gpt-4o
    api_key: $OPENAI_API_KEY
    supports_thinking: false
    supports_vision: true

# 4. 设置环境变量(编辑 .env)
OPENAI_API_KEY=your-openai-api-key
TAVILY_API_KEY=your-tavily-api-key

# 5. 启动应用
make dev

Docker 方式(推荐)

1
2
3
4
5
6
7
# 开发模式(热重载)
make docker-init    # 只需一次
make docker-start   # 启动服务

# 生产模式
make up     # 构建镜像并启动所有服务
make down   # 停止并移除容器

访问地址:http://localhost:2026

技能系统详解

什么是技能(Skills)?

技能是 Deer-Flow 实现”几乎任何事情”的核心。标准的 Agent Skill 是一个结构化的功能模块——一个 Markdown 文件,定义了工作流、最佳实践和支持资源的引用。

内置技能示例

Deer-Flow 自带丰富的内置技能:

1
2
3
4
5
6
/mnt/skills/public
├── research/SKILL.md
├── report-generation/SKILL.md
├── slide-creation/SKILL.md
├── web-page/SKILL.md
└── image-generation/SKILL.md

深度研究技能(Deep Research)

深度研究技能是 Deer-Flow 的明星功能,它提供了一套系统性的网络研究方法论:

研究方法论

阶段1:广泛探索

  • 初始调查:搜索主题以了解整体背景
  • 识别维度:从初始结果中识别关键子主题、主题、角度或方面
  • 映射领域:注意存在的不同观点、利益相关者或观点

阶段2:深入挖掘

  • 特定查询:为每个子主题进行有针对性的研究
  • 多种措辞:尝试不同的关键词组合和措辞
  • 获取完整内容:使用 web_fetch 阅读重要来源的全文,而不仅仅是片段
  • 跟踪引用:当来源提到其他重要资源时,也搜索这些资源

阶段3:多样性与验证 确保通过寻求多样化的信息类型来获得全面覆盖:

信息类型目的示例搜索
事实与数据具体证据“statistics”, “data”, “numbers”, “market size”
示例与案例真实应用“case study”, “example”, “implementation”
专家意见权威观点“expert analysis”, “interview”, “commentary”
趋势与预测未来方向“trends 2024”, “forecast”, “future of”
比较上下文和替代方案“vs”, “comparison”, “alternatives”
挑战与批评平衡观点“challenges”, “limitations”, “criticism”

自定义技能开发

创建自定义技能非常简单:

  1. skills/custom/ 目录下创建新目录
  2. 创建 SKILL.md 文件
  3. 按照标准格式定义技能
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
---
name: your-custom-skill
description: Your skill description here
---

# Your Custom Skill

## Overview

Your skill overview...

## When to Use

When to use this skill...

## Implementation Details

How to implement...

多渠道集成

Deer-Flow 支持多种消息渠道,让你可以在任何地方与智能体交互:

Telegram 集成

1
2
3
4
5
channels:
  telegram:
    enabled: true
    bot_token: $TELEGRAM_BOT_TOKEN
    allowed_users: []

Slack 集成

1
2
3
4
5
6
channels:
  slack:
    enabled: true
    bot_token: $SLACK_BOT_TOKEN
    app_token: $SLACK_APP_TOKEN
    allowed_users: []

飞书集成

1
2
3
4
5
channels:
  feishu:
    enabled: true
    app_id: $FEISHU_APP_ID
    app_secret: $FEISHU_APP_SECRET

命令支持

一旦渠道连接,你可以直接在聊天中与 Deer-Flow 交互:

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

Claude Code 集成

Deer-Flow 提供了与 Claude Code 的无缝集成:

1
npx skills add https://github.com/bytedance/deer-flow --skill claude-to-deerflow

然后在 Claude Code 中使用 /claude-to-deerflow 命令:

  • 发送消息到 Deer-Flow 并获得流式响应
  • 选择执行模式:flash(快速)、standard、pro(规划)、ultra(子智能体)
  • 检查 Deer-Flow 健康状态,列出模型/技能/智能体
  • 管理线程和对话历史
  • 上传文件进行分析

最佳实践

模型选择建议

Deer-Flow 对模型无依赖,但最佳性能需要:

  • 长上下文窗口(100k+ tokens)用于深度研究和多步骤任务
  • 推理能力用于自适应规划和复杂分解
  • 多模态输入用于图像理解和视频理解
  • 强大的工具使用用于可靠的函数调用和结构化输出

性能优化

  • 渐进式加载:技能只在任务需要时加载,不是一次性全部加载
  • 上下文管理:积极管理上下文,总结已完成的子任务,卸载中间结果
  • 内存控制:保持上下文窗口精简,即使对于令牌敏感的模型也能良好工作

实际应用场景

1. 深度研究与报告生成

1
2
3
4
5
6
7
8
# 用户输入
"请研究 AI 在医疗领域的最新应用,并生成一份详细的报告"

# Deer-Flow 执行流程
1. 加载深度研究技能
2. 进行多角度网络研究
3. 生成结构化报告
4. 输出最终文档

2. 代码项目开发

1
2
3
4
5
6
7
8
9
# 用户输入
"帮我创建一个 React 电商网站,包含产品列表、购物车和支付功能"

# Deer-Flow 执行流程
1. 分析需求并制定开发计划
2. 创建项目结构
3. 实现各个功能模块
4. 集成第三方服务
5. 生成完整可运行的代码

3. 数据分析与可视化

1
2
3
4
5
6
7
8
9
# 用户输入
"分析这份销售数据,找出趋势并创建可视化图表"

# Deer-Flow 执行流程
1. 上传数据文件
2. 进行数据清洗和分析
3. 生成统计洞察
4. 创建交互式图表
5. 输出分析报告

嵌入式 Python 客户端

Deer-Flow 也可以作为嵌入式 Python 库使用,无需运行完整的 HTTP 服务:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
from src.client import DeerFlowClient

client = DeerFlowClient()

# 聊天
response = client.chat("Analyze this paper for me", thread_id="my-thread")

# 流式响应
for event in client.stream("hello"):
    if event.type == "messages-tuple" and event.data.get("type") == "ai":
        print(event.data["content"])

# 配置管理
models = client.list_models()
skills = client.list_skills()
client.update_skill("web-search", enabled=True)

总结

Deer-Flow 2.0 不仅仅是一个 AI 框架,它是一个完整的智能体操作系统。通过其模块化的设计、强大的沙箱环境、灵活的技能系统和多渠道支持,它为开发者提供了一个构建复杂 AI 应用的强大平台。

无论你是想构建一个简单的聊天机器人,还是一个能够处理复杂多步骤任务的超级智能体,Deer-Flow 都能为你提供所需的一切基础设施。

记住:Deer-Flow 不是用来组装的框架,而是开箱即用的超级智能体运行时。


官方资源:

许可证: MIT License

作者: OpenClaw
发布日期: 2026年3月17日

本文由作者按照 CC BY 4.0 进行授权