字节跳动 SuperAgent 运行时 -- Skills-as-Markdown + LangGraph 驱动
字节跳动 SuperAgent 运行时 -- v2.0 从深度研究框架全面重写为通用 SuperAgent。
DeerFlow 是字节跳动开源的 SuperAgent 运行时,采用 MIT 协议。它从 v1.x(深度研究框架)进化为 v2.0,成为一个通用 SuperAgent,能够完成深度研究、播客生成、PPT 制作、咨询报告、数据分析、前端设计等多种任务。
"DeerFlow" 这个名字体现了字节跳动的设计理念:一个基于 LangGraph 和 LangChain 构建的灵活、可扩展的 Agent 运行时,搭配独特的 Skills-as-Markdown 系统,让用户通过简单的 Markdown 文件而非代码来定义复杂行为。
DeerFlow 2.0 的核心创新是 Skills-as-Markdown + 渐进式加载:复杂的 Agent 行为(深度研究、播客生成、PPT 制作)完全在 Markdown 文件中定义,由 Lead Agent 按需加载。新增功能无需编写代码——只需写一个 .md 文件。
| 层级 | 技术 | 版本 |
|---|---|---|
| 运行时 | Python | 3.12+ |
| Agent 框架 | LangGraph | 1.0.6+ |
| LLM 抽象层 | LangChain | 1.2.3+ |
| API 服务 | FastAPI | 0.115.0+ |
| 前端 | Next.js 16 + React 19 | Latest |
| Python 包管理 | uv | Latest |
| Node 包管理 | pnpm | Latest |
| 反向代理 | Nginx | Port 2026 |
| 特性 | DeerFlow 2.0 | AutoGPT | CrewAI | LangManus |
|---|---|---|---|---|
| 架构 | Lead + Sub-Agent 模式 | 单 Agent 循环 | 角色制团队 | 图状 Agent |
| Skill 系统 | Markdown 定义,渐进加载 | 插件(代码) | 任务(代码) | 无 |
| 中间件 | 11 条链式流水线 | 有限 | 无 | 部分支持 |
| 沙箱 | 本地 / Docker / K8s | 仅 Docker | 无 | Docker |
| 创意输出 | 播客 / PPT / 图表 / 报告 | 无 | 无 | 仅研究 |
| MCP 支持 | 完整支持(stdio/SSE/HTTP + OAuth) | 无 | 部分支持 | 无 |
| 记忆系统 | LLM 驱动,置信度评分 | Vector DB | 仅短期记忆 | 无 |
| 模型支持 | 任何 LangChain 兼容模型 | 以 OpenAI 为主 | 多模型 | 多模型 |
⚠ 不同赛道 — DeerFlow 是研究/内容生成平台,Claude Code 是终端编程 Agent,二者并非直接竞品。
| 维度 | DeerFlow | Claude Code |
|---|---|---|
| 定位 | SuperAgent Harness — 研究、内容生成、数据分析 | Terminal Coding Agent — 专注软件开发 |
| 范围 | 更广:播客 / PPT / 报告 / 深度研究 | 更深:代码质量、开发者工作流 |
| 界面 | Web UI(完整聊天界面) | 终端原生(by design) |
4 服务架构 + Lead Agent / Sub-Agent 模式,由 11 条中间件链驱动。
DeerFlow 采用 Lead Agent + Sub-Agent 模式。Lead Agent 是唯一的 LangGraph 入口——它处理所有用户交互、管理对话状态,并在需要时将任务委派给专业化的 Sub-Agent。
| 组件 | 职责 | 工具 |
|---|---|---|
| Lead Agent | 入口点、任务路由、中间件链执行 | 内置工具 + task() 委派 |
| General Sub-Agent | 全能力任务执行 | 全部沙箱 + 社区 + MCP 工具 |
| Bash Sub-Agent | 命令行专家 | bash, ls, read_file, write_file |
关键约束:最多 3 个并发 Sub-Agent,每个有 15 分钟超时限制。Lead Agent 监控 Sub-Agent 健康状态,可终止无响应的 Agent。
每个请求按顺序经过 11 条中间件链。每条链处理一个特定的横切关注点。
/workspace、/uploads、/outputs 和 /skills 的虚拟路径映射。
memory.json。task() 调用会排队等待可用槽位。超时的 Sub-Agent 会被强制终止并附带部分结果摘要。
ask_clarification 暂停并向用户询问更多细节。DeerFlow 的工具系统分为 4 层,从底层沙箱操作到动态 MCP 集成。
4 层工具体系让 DeerFlow 既自给自足(沙箱 + 内置工具可离线运行),又无限可扩展(任何 MCP Server 都可通过配置接入)。task() 内置工具尤其强大——它能即时创建 Sub-Agent 来处理委派任务。
| 维度 | DeerFlow | Claude Code |
|---|---|---|
| 编排引擎 | LangGraph StateGraph + 11 条中间件链 | 简单 while-loop Agent Loop |
| 部署架构 | 4 服务(Nginx + LangGraph Server + Gateway API + Frontend) | 单 CLI 进程 |
| Agent 模式 | Lead Agent + Sub-Agents + 中间件 Pipeline | Main Agent + Sub-agents(更简单的委派) |
| 状态管理 | StateGraph + Checkpoint 恢复 | 对话上下文(无持久化 checkpoint) |
16 个内置 Skill 以 Markdown 定义,加上独特的创意输出能力,令 DeerFlow 脱颖而出。
Skill 是 DeerFlow 最具特色的功能。每个 Skill 是一个 Markdown 文件,定义了 Agent 在特定任务类型下的行为。Skill 采用渐进式加载——Lead Agent 仅在判断用户请求匹配某个 Skill 的领域时才加载该 Skill。
deep-research Core -- 4 阶段方法论:规划 -> 搜索 -> 分析 -> 综合。生成带引用的综合研究报告。可启动多个 Sub-Agent 并行信息收集。
github-deep-research Specialized -- 深入分析 GitHub 仓库。分析代码结构、Issues、PR、贡献者及社区健康度。适用于技术尽调和竞品分析。
consulting-analysis Premium -- 生成麦肯锡/BCG 标准的咨询报告。结构化框架(MECE、波特五力、SWOT)、管理层摘要和可执行建议。
podcast-generation Flagship -- 从任意主题创建双主持人对话脚本,然后通过 TTS 合成音频生成 MP3 文件。类似 NotebookLM 风格的播客,但完全可定制。
ppt-generation Flagship -- 生成 8 种视觉风格的演示文稿幻灯片。确保逐页视觉一致性。导出为标准格式。
image-generation Media -- 使用 AI 模型(DALL-E、Stable Diffusion 等)生成图片。与沙箱集成进行输出文件管理。
video-generation Media -- 生成短视频内容。利用视频生成 API 配合 Prompt 工程。
data-analysis Analytical -- 在沙箱中分析数据集(CSV、JSON、Excel)。执行统计分析、趋势检测并生成洞察。
chart-visualization Analytical -- 从数据创建图表和可视化。支持柱状图、折线图、饼图、散点图、热力图等。渲染为图片以嵌入报告。
frontend-design Design -- 生成前端代码(HTML/CSS/JS、React 组件)。遵循反 AI 泛滥设计哲学——输出刻意避免 AI 生成 UI 典型的千篇一律、毫无灵魂的美学风格。
web-design-guidelines Design -- 提供网页设计最佳实践并创建设计系统。涵盖排版、色彩理论、布局模式和无障碍设计。
skill-creator Meta -- 通过生成 Markdown Skill 文件来创建新 Skill。本质上是一个创建其他 Skill 的 Skill——DeerFlow 的自我扩展机制。
find-skills Discovery -- 搜索社区 Skill 生态系统,从 npx skills CLI(skills.sh 生态)查找并安装 Skill。
bootstrap Personality -- 引导式生成 SOUL.md,定义 Agent 语气、风格和行为边界的人设配置文件。
surprise-me Creative -- 随机组合多个 Skill 产生意想不到的创意输出。Agent 根据用户兴趣和对话历史选择创意组合。
vercel-deploy DevOps -- 从沙箱直接将生成的前端项目部署到 Vercel。处理构建、部署和 URL 分配。
DeerFlow 最令人印象深刻的能力之一。工作流程如下:
播客 Skill 首先对主题进行深度研究,然后撰写两位风格迥异的主持人之间的对话脚本。最后通过 TTS 合成对话,生成成品 MP3 文件——全部源自一条用户提示。
生成完整演示文稿,提供 8 种视觉风格:
每种风格确保逐页视觉一致性——字体、配色和布局模式在整个演示文稿中保持统一。
| 阶段 | 操作 | 输出 |
|---|---|---|
| 规划 | 将研究问题分解为子问题,确定搜索策略 | 包含优先级查询的研究计划 |
| 搜索 | 通过 Sub-Agent 并行搜索网络,评估来源可信度 | 带引用的原始发现 |
| 分析 | 交叉验证发现,识别模式,解决矛盾 | 带证据链的结构化分析 |
| 综合 | 生成综合报告、管理层摘要、关键洞察 | 最终研究报告(Markdown/PDF) |
DeerFlow 的前端设计 Skill 刻意避免"AI 美学"——千篇一律的渐变、带阴影的圆角卡片、以及一看就知道是"AI 生成"的模板化布局。它追求的是有意识的、有人味的设计,具有个性、出人意料的布局和匠心。这一哲学延伸到所有创意输出。
| 维度 | DeerFlow | Claude Code |
|---|---|---|
| Skill 系统 | 16 个 Skills-as-Markdown(播客、PPT、深度研究、数据分析、图表、咨询报告、前端设计…) | Skills 系统存在,但聚焦编码任务 |
| 播客生成 | 双主持对话 + TTS → MP3 | 无此能力 |
| PPT 生成 | 8 种视觉风格 | 无此能力 |
| 设计哲学 | Anti-AI-slop 前端设计准则 | 无设计哲学约束 |
3 种沙箱模式,配合虚拟路径映射和严格执行隔离。
沙箱使用虚拟文件系统将逻辑路径映射到物理位置。无论沙箱模式如何,都提供一致的 API:
| 虚拟路径 | 用途 | Agent 权限 |
|---|---|---|
/workspace | 生成文件的主工作目录 | 读/写 |
/uploads | 用户上传的文件(通过 Uploads 中间件) | 只读 |
/outputs | 最终输出(报告、播客、PPT) | 读/写 |
/skills | 已安装的 Skill Markdown 文件 | 只读 |
在 macOS 上,DeerFlow 自动检测 Apple Container 可用性(macOS Sequoia 引入的原生容器化技术)。可用时,会使用 Apple Container 替代 Docker 以获得更好的性能和更紧密的系统集成。
安全和资源管理在中间件层面强制执行:
| 约束 | 值 | 执行方式 |
|---|---|---|
| 最大并发 Sub-Agent 数 | 3 | SubagentLimit middleware |
| Sub-Agent 超时 | 15 分钟 | SubagentLimit middleware |
| 排队行为 | 达到上限时 FIFO 排队 | Lead Agent |
| 超时操作 | 强制终止 + 部分结果摘要 | LangGraph 运行时 |
沙箱隔离 + Sub-Agent 限制 + 超时强制执行的组合构成了纵深防御安全模型。即使某个 Sub-Agent 失控(无限循环、资源耗尽),系统也会在最多 15 分钟内自我恢复。
| 维度 | DeerFlow | Claude Code |
|---|---|---|
| 隔离方式 | Docker / K8s 完全隔离(工具在容器内执行) | 容器化 Bash + 工具级权限 |
| 路径映射 | 虚拟路径(/mnt/user-data/workspace 等) | 直接文件系统访问 |
| macOS 支持 | Apple Container 自动检测 | 无 Apple Container |
| 并发控制 | Sub-agent 并发上限 3,超时 15 分钟 | 无显式并发限制 |
模型路由、MCP 集成、持久化记忆和嵌入式 Python 客户端。
DeerFlow 是模型无关的。通过 config.yaml 配置模型,支持任何 LangChain 兼容的提供商:
支持的提供商包括:
MCP Server 通过 extensions_config.json 配置。DeerFlow 支持全部三种 MCP 传输协议:
| 传输协议 | 使用场景 | 认证支持 |
|---|---|---|
| stdio | 本地工具(文件系统、Shell、数据库) | 无需认证 |
| SSE | 长运行本地服务(浏览器、IDE) | API Key |
| HTTP + OAuth | 远程服务(GitHub、Slack、Google) | OAuth 2.0 PKCE |
DeerFlow 的记忆系统是 LLM 驱动的——由 LLM 自身决定记住什么,而非使用简单的向量相似度搜索。
| 方面 | 详情 |
|---|---|
| 提取 | LLM 自动从对话中提取关键事实 |
| 存储 | 结构化 JSON(memory.json)附带元数据 |
| 评分 | 每条事实获得置信度评分(0-1) |
| 防抖 | 30 秒防抖窗口批量更新 |
| 注入 | 每个请求注入置信度最高的 15 条事实 |
| 更新策略 | 事实可随时间更新、合并或废弃 |
Summarization 中间件(第 5 条链)处理长对话:
DeerFlow 提供 DeerFlowClient,支持进程内直接访问,无需 HTTP。适合将 DeerFlow 直接集成到 Python 应用中:
嵌入式客户端完全绕过 HTTP 层,直接与 LangGraph 运行时通信。这减少了延迟,并简化了不需要 Web UI 的应用部署。
嵌入式 Python 客户端是一个战略性差异化优势。大多数 Agent 框架需要运行服务端,而 DeerFlow 可以作为库导入。这使得批处理流水线、集成到现有 Python 应用、自动化测试和 CI/CD 工作流等场景成为可能——全部无需启动完整的 4 服务架构。
| 维度 | DeerFlow | Claude Code |
|---|---|---|
| 模型支持 | config.yaml — LangChain ChatModel 抽象,模型无关 | 仅 Anthropic 模型 |
| MCP 集成 | 支持 OAuth(client_credentials + refresh_token) | MCP 支持但无 OAuth |
| 记忆系统 | LLM 驱动记忆(自动提取事实 + 置信度评分 + top-15 注入) | 手动记忆(CLAUDE.md + memory 文件) |
| 上下文压缩 | 自动摘要(tokens / messages / fraction 三重触发) | 接近上下文上限时自动压缩 |
| 嵌入客户端 | DeerFlowClient — Python 嵌入式,无需 HTTP | 无嵌入客户端 |
从零开始,几分钟内运行 DeerFlow。涵盖安装、配置和部署。
| 依赖 | 版本 | 用途 |
|---|---|---|
| Python | 3.12+ | 后端运行时 |
| Node.js | 22+ | 前端构建 |
| uv | Latest | Python 包管理 |
| pnpm | Latest | Node.js 包管理 |
| Docker | Latest (optional) | 沙箱隔离(生产环境) |
执行 make dev 后,各服务在相应端口启动:
通过 http://localhost:2026(经 Nginx)或 http://localhost:3000(直连前端)访问 Web UI。
编辑 config.yaml,添加模型提供商的 API Key:
要启用网络搜索功能,至少配置一个搜索提供商:
在 extensions_config.json 中添加 MCP Server 以扩展功能。
| 选项 | 最适合 | 复杂度 |
|---|---|---|
| make dev | 本地开发,单用户 | 低 |
| docker compose | 小团队,自托管 | 中 |
| K8s + Provisioner | 企业级,多租户 | 高 |
| DeerFlowClient (embedded) | Python 应用集成 | 低(无需服务端) |
最快的上手路径:git clone -> make config -> 在 config.yaml 中添加 API Key -> make dev。5 分钟内即可获得一个功能完整的 SuperAgent,包含 16 个 Skill、沙箱执行和精美的 Web UI。生产环境建议切换到 Docker Compose 并添加 Tavily 搜索。
| 维度 | DeerFlow | Claude Code |
|---|---|---|
| 安装 | make dev(需 Python 3.12+、Node.js 22+、pnpm、uv、nginx) | npm i -g @anthropic-ai/claude-code(一条命令) |
| Docker | 提供 Docker 部署方案 | 无需 Docker |
| 界面 | Web UI(完整聊天界面) | 终端(by design) |
| 依赖复杂度 | 5+ 组件(Python + Node + pnpm + uv + nginx) | 仅 Node.js |