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
相关推荐
常驻客栈7 小时前
B-深入理解计算机系统第3版之第8章:异常控制流
笔记·学习·常驻客栈·深入理解计算机系统·学习笔记‘’
Seraphina368 小时前
记一次实验:利用路径分隔符进行网页缓存欺骗
经验分享·笔记·安全·网络安全·缓存
AOwhisky8 小时前
Linux 网络服务架设学习笔记(第五期)——Web 服务(上篇):Apache HTTP Server——从静态到动态
linux·运维·服务器·笔记·学习·云计算·apache
摇滚侠9 小时前
《SpringBoot 3:入门与应用实战》第 9 章 使用 WebMvc 开发应用 阅读笔记 1
spring boot·笔记·后端
丰锋ff11 小时前
设计模式学习笔记
笔记·学习·设计模式
罗西的思考11 小时前
【OpenClaw具身硬件】ZeroClaw 源码阅读笔记(1)— 总体
人工智能·笔记·深度学习·机器学习
loopne12 小时前
AI网文写作实验笔记(十三):系列总结——12 篇实验、8 条核心结论,把“AI 写小说“每一步拆开验证
人工智能·经验分享·笔记·ai写作·智能写作
M78佐菲12 小时前
Linux多线程:创建、回收与互斥同步
linux·笔记·学习·算法
sunoo-22913 小时前
【Linux 系统编程】学习第七天:线程属性 | 互斥锁 | 死锁 | 信号量 核心知识点 + 踩坑实战
linux·c语言·笔记·vscode·学习
LccKyI13 小时前
C#基础编程 面试题汇总(三)
笔记·c#