DeerFlow 项目笔记

DeerFlow 项目笔记

基本信息

属性 内容
全称 Deep Exploration and Efficient Research Flow
开发方 字节跳动 (ByteDance)
开源协议 MIT License
当前版本 2.0(2026年2月28日发布,当日登顶 GitHub Trending #1)
星标数 27.4k
分支数 3.3k
关注者 132
技术栈 Python 49.7%, TypeScript 30.4%, HTML 9.7%, CSS 4.3%, JavaScript 3.6%, Shell 1.8%

核心定位演进

从 v1 到 v2 的根本转变:

维度 v1.x (旧版) v2.0 (当前)
本质 Deep Research 框架 Super Agent Harness(超级智能体运行时)
架构 可组合框架 电池内置、完全可扩展的运行时
代码关系 原始代码基 完全重写,与 v1 无共享代码
维护状态 社区维护(main-1.x 分支) 活跃开发主线

关键洞察:社区将 DeerFlow 用于数据管道、幻灯片生成、仪表盘、内容工作流等超出研究范畴的场景,促使团队重新定义为"Harness"------给智能体提供实际完成工作的基础设施。


核心架构组件

复制代码
┌─────────────────────────────────────────┐
│           DeerFlow Super Agent          │
│              (Lead Agent)               │
├─────────────────────────────────────────┤
│  技能系统 (Skills)  │  工具系统 (Tools)   │
│  • 研究技能         │  • 网页搜索         │
│  • 报告生成         │  • 网页抓取         │
│  • 幻灯片创建       │  • 文件操作         │
│  • 网页构建         │  • Bash 执行        │
│  • 图像/视频生成    │  • MCP 服务器扩展   │
│  • 自定义技能       │  • Python 函数      │
├─────────────────────────────────────────┤
│  子智能体系统 (Sub-Agents)              │
│  • 动态生成、并行执行、独立上下文         │
│  • 结构化结果汇总至主智能体               │
├─────────────────────────────────────────┤
│  沙箱执行环境 (Sandbox)                  │
│  • 隔离 Docker 容器                      │
│  • 完整文件系统:/mnt/user-data/          │
│    - uploads/    ← 用户上传文件          │
│    - workspace/  ← 智能体工作目录        │
│    - outputs/    ← 最终交付物            │
├─────────────────────────────────────────┤
│  记忆系统 (Memory)                        │
│  • 会话内:主动摘要、上下文压缩            │
│  • 跨会话:持久化用户画像、偏好、知识积累   │
└─────────────────────────────────────────┘

三种沙箱执行模式

模式 适用场景 配置要点
Local Execution 开发测试、快速迭代 代码直接在宿主机运行
Docker Execution 生产环境、隔离需求 独立 Docker 容器
Docker + Kubernetes 大规模部署、云原生 通过 provisioner 服务在 K8s pods 中执行

Docker 开发时,make docker-start 会根据 config.yaml 自动检测是否启动 provisioner。


即时通讯通道 (IM Channels)

通道 传输方式 难度 特点
Telegram Bot API (长轮询) 简单 无需公网 IP
Slack Socket Mode 中等 需配置 OAuth 权限
Feishu/Lark WebSocket 中等 字节生态原生支持

核心命令:

  • /new - 开启新对话
  • /status - 查看当前线程信息
  • /models - 列出可用模型
  • /memory - 查看记忆
  • /help - 显示帮助

关键集成:Claude Code

claude-to-deerflow 技能 允许在 Claude Code 终端中直接操作 DeerFlow:

bash 复制代码
npx skills add https://github.com/bytedance/deer-flow --skill claude-to-deerflow

功能:

  • 发送消息并获取流式响应
  • 选择执行模式:flash(快速)/ standard / pro(规划)/ ultra(子智能体)
  • 健康检查、模型/技能/智能体列表查询
  • 线程管理与对话历史
  • 文件上传分析

快速启动路径

推荐方式:Docker(3步)

bash 复制代码
git clone https://github.com/bytedance/deer-flow.git && cd deer-flow
make config          # 生成本地配置
make docker-init     # 拉取沙箱镜像(首次)
make docker-start    # 启动服务
# 访问 http://localhost:2026

本地开发(5步)

bash 复制代码
make check      # 检查 Node.js 22+, pnpm, uv, nginx
make install    # 安装前后端依赖
make setup-sandbox  # 可选:预拉沙箱镜像
make dev        # 启动服务

模型配置示例

yaml 复制代码
models:
  - name: gpt-4
    display_name: GPT-4
    use: langchain_openai:ChatOpenAI
    model: gpt-4
    api_key: $OPENAI_API_KEY      # 推荐环境变量
    max_tokens: 4096
    temperature: 0.7
    reasoning_effort: medium      # Doubao/GPT-5 支持

推荐模型特性: 长上下文(100k+)、推理能力、多模态、强工具调用。


嵌入式 Python 客户端

无需启动完整 HTTP 服务,直接内嵌使用:

python 复制代码
from src.client import DeerFlowClient

client = DeerFlowClient()

# 同步调用
response = client.chat("分析这篇论文", thread_id="my-thread")

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

# 管理接口(返回与 Gateway API 一致的 Schema)
client.list_models()
client.list_skills()
client.update_skill("web-search", enabled=True)
client.upload_files("thread-1", ["./report.pdf"])

关键文档索引

文档 内容
CONTRIBUTING.md 开发环境、工作流、贡献指南
backend/docs/CONFIGURATION.md 配置详解(含沙箱模式)
backend/CLAUDE.md 技术架构总览
backend/README.md 后端架构与 API 参考
backend/docs/MCP_SERVER.md MCP 服务器配置(含 OAuth)
skills/public/claude-to-deerflow/SKILL.md Claude Code 技能完整 API

技术依赖与致谢

核心依赖:

  • LangChain --- LLM 交互与链式调用
  • LangGraph --- 多智能体编排与工作流

关键贡献者:

  • Daniel Walnut (hetaoBackend)
  • Henry Li (magiccube)

版本 2.0 的关键设计决策

决策 说明
渐进式技能加载 按需加载,非全量注入,保护上下文窗口
子智能体上下文隔离 防止注意力分散,确保任务专注
文件系统卸载中间结果 长任务中主动将结果写入文件,压缩上下文
本地优先的记忆存储 数据可控,隐私安全
模型无关设计 任何 OpenAI 兼容 API 均可接入

项目状态(截至 2026-03-10)

  • 最新提交0409f8c --- 修复子智能体后台任务清理问题
  • 提交总数:1,575 commits
  • 未解决问题:208 issues
  • 待处理 PR:31 pull requests
  • 活跃分支:17 branches
相关推荐
不会编程的懒洋洋6 小时前
C# Task async/await CancellationToken
笔记·c#·线程·面向对象·task·同步异步
zhangrelay10 小时前
蓝桥云课五分钟-通关自动控制-octave
笔记·学习
_李小白11 小时前
【AI大模型学习笔记之平台篇】第六篇:安卓开发AI工具介绍(Android CLI、Android Skill和Android Knowledge Base)
人工智能·笔记·学习
YaBingSec11 小时前
玄机靶场:供应链安全-供应链应急-Part2 通关笔记
java·笔记·安全
qeen8711 小时前
【算法笔记】双指针及其经典例题解析
c++·笔记·算法·双指针
China_Yanhy13 小时前
生产笔记:AI 集群的极致成本与数据保命指南
人工智能·笔记
云起SAAS13 小时前
小智笔记APP源码 | 8大广告联盟聚合(穿山甲/优量汇/快手/百度) | 应用市场过审极速版 | uni-app全栈商用项目
笔记·uni-app·广告联盟·笔记app
ouliten13 小时前
cuda编程笔记(41)--异步数据拷贝
笔记·cuda
chudonghao14 小时前
[UE学习笔记][基于源码] 运行时网格 PMC / DMC / RMC
笔记·学习·ue5
智者知已应修善业14 小时前
【51单片机调用__TIME__无法实时时间】2023-7-10
c++·经验分享·笔记·算法·51单片机