bytedance/deer-flow
摘要
DeerFlow 2.0 是 ByteDance 开源的一个超级代理框架,它通过可扩展的技能编排子代理、记忆和沙盒。它于2026年2月28日取得了 GitHub Trending 第一名。
查看缓存全文
缓存时间: 2026/06/22 01:31
bytedance/deer-flow 源码:https://github.com/bytedance/deer-flow
🦌 DeerFlow - 2.0
English | 中文 | 日本語 | Français | Русский
2026年2月28日,DeerFlow凭借2.0版本登上了GitHub Trending的🏆第一名。衷心感谢我们了不起的社区——是你们让这一切成为现实!💪🔥
DeerFlow(Deep Exploration and Efficient Research Flow,深度探索与高效研究流)是一个开源超级Agent框架,它编排子Agent、记忆和沙箱,依托可扩展技能几乎可以完成任何任务。
https://github.com/user-attachments/assets/a8bcadc4-e040-4cf2-8fda-dd768b999c18
DeerFlow 2.0 是完全重写的版本。 它与v1没有共享代码。如果您在寻找原始的Deep Research框架,它维护在
1.x分支上(https://github.com/bytedance/deer-flow/tree/main-1.x)——那里仍然欢迎贡献。活跃开发已迁移至2.0。
官方网站
在我们的官方网站(https://deerflow.tech)了解更多并查看真实演示。
字节跳动火山引擎编程计划
- 我们强烈建议使用豆包Seed-2.0-Code、DeepSeek v3.2和Kimi 2.5来运行DeerFlow
- 了解更多(https://www.byteplus.com/en/activity/codingplan?utm_campaign=deer_flow&utm_content=deer_flow&utm_medium=devrel&utm_source=OWO&utm_term=deer_flow)
- 中国大陆地区的开发者请点击这里(https://www.volcengine.com/activity/codingplan?utm_campaign=deer_flow&utm_content=deer_flow&utm_medium=devrel&utm_source=OWO&utm_term=deer_flow)
InfoQuest
DeerFlow新集成了字节跳动旗下的智能搜索与抓取工具集——InfoQuest(支持免费在线体验)(https://docs.byteplus.com/en/docs/InfoQuest/What_is_Info_Quest)
目录
- 🦌 DeerFlow - 2.0
- 官方网站
- 字节跳动火山引擎编程计划
- InfoQuest
- 目录
- 一行命令设置Agent
- 快速开始
- 从Deep Research到超级Agent框架
- 核心特性
- ⚠️ 安全注意事项
- 参与贡献
- 许可证
- 致谢
一行命令设置Agent
如果您使用Claude Code、Codex、Cursor、Windsurf或其他代码Agent,可以用一句话将设置说明交给它:
Help me clone DeerFlow if needed, then bootstrap it for local development by following https://raw.githubusercontent.com/bytedance/deer-flow/main/Install.md
该提示面向代码Agent。它告诉Agent:如果需要则克隆仓库,在可用时选择Docker,并在下一个命令以及用户仍需提供的任何缺失配置处停止。
快速开始
配置
- 克隆DeerFlow仓库
git clone https://github.com/bytedance/deer-flow.git
cd deer-flow
- 运行设置向导
在项目根目录(deer-flow/)下运行:
make setup
这将启动一个交互式向导,引导您选择LLM提供商、可选网络搜索以及执行/安全偏好(如沙箱模式、bash访问和文件写入工具)。它会生成一个最小的 config.yaml 并将密钥写入 .env。大约需要2分钟。
向导还可让您配置可选的网络搜索提供商,或者暂时跳过。随时运行 make doctor 以验证您的设置并获得可操作的修复提示。
高级/手动配置:如果您更倾向于直接编辑
config.yaml,请运行make config来复制完整模板。参见config.example.yaml获取完整参考,包括CLI支持的提供商(Codex CLI、Claude Code OAuth)、OpenRouter、Responses API等。
手动模型配置示例:
models:
- name: gpt-4o
display_name: GPT-4o
use: langchain_openai:ChatOpenAI
model: gpt-4o
api_key: $OPENAI_API_KEY
- name: openrouter-gemini-2.5-flash
display_name: Gemini 2.5 Flash (OpenRouter)
use: langchain_openai:ChatOpenAI
model: google/gemini-2.5-flash-preview
api_key: $OPENROUTER_API_KEY
base_url: https://openrouter.ai/api/v1
- name: gpt-5-responses
display_name: GPT-5 (Responses API)
use: langchain_openai:ChatOpenAI
model: gpt-5
api_key: $OPENAI_API_KEY
use_responses_api: true
output_version: responses/v1
- name: qwen3-32b-vllm
display_name: Qwen3 32B (vLLM)
use: deerflow.models.vllm_provider:VllmChatModel
model: Qwen/Qwen3-32B
api_key: $VLLM_API_KEY
base_url: http://localhost:8000/v1
supports_thinking: true
when_thinking_enabled:
extra_body:
chat_template_kwargs:
enable_thinking: true
OpenRouter和类似的OpenAI兼容网关应使用 langchain_openai:ChatOpenAI 配合 base_url 进行配置。如果您希望使用提供商的特定环境变量名,请显式地将 api_key 指向该变量(例如 api_key: $OPENROUTER_API_KEY)。
要通过 /v1/responses 路由OpenAI模型,请继续使用 langchain_openai:ChatOpenAI,并设置 use_responses_api: true 以及 output_version: responses/v1。
对于vLLM 0.19.0,请使用 deerflow.models.vllm_provider:VllmChatModel。对于Qwen风格的推理模型,DeerFlow通过 extra_body.chat_template_kwargs.enable_thinking 切换推理,并在多轮工具调用对话中保留vLLM的非标准 reasoning 字段。为向后兼容,会自动规范化旧的 thinking 配置。推理模型可能还需要服务器以 --reasoning-parser ... 启动。如果您的本地vLLM部署接受任何非空的API密钥,您仍然可以将 VLLM_API_KEY 设置为占位符。
CLI支持的提供商示例:
models:
- name: gpt-5.4
display_name: GPT-5.4 (Codex CLI)
use: deerflow.models.openai_codex_provider:CodexChatModel
model: gpt-5.4
supports_thinking: true
supports_reasoning_effort: true
- name: claude-sonnet-4.6
display_name: Claude Sonnet 4.6 (Claude Code OAuth)
use: deerflow.models.claude_provider:ClaudeChatModel
model: claude-sonnet-4-6
max_tokens: 4096
supports_thinking: true
- Codex CLI 读取
~/.codex/auth.json - Claude Code 接受
CLAUDE_CODE_OAUTH_TOKEN、ANTHROPIC_AUTH_TOKEN、CLAUDE_CODE_CREDENTIALS_PATH或~/.claude/.credentials.json - ACP Agent条目与模型提供商是分开的——如果您配置了
acp_agents.codex,请将其指向一个Codex ACP适配器,例如npx -y @zed-industries/codex-acp - 在macOS上,如有必要请显式导出Claude Code的认证信息:
eval "$(python3 scripts/export_claude_code_oauth.py --print-export)"
API密钥也可以在 .env 中手动设置(推荐),或在Shell中导出:
OPENAI_API_KEY=your-openai-api-key
TAVILY_API_KEY=your-tavily-api-key
运行应用
部署规模参考
请使用下表作为选择如何运行DeerFlow的实用起点:
| 部署目标 | 起点配置 | 推荐配置 | 备注 |
|---|---|---|---|
本地评估 / make dev | 4 vCPU, 8 GB RAM, 20 GB 可用SSD | 8 vCPU, 16 GB RAM | 适合一位开发者或一个使用托管模型API的轻量会话。2 vCPU / 4 GB 通常不够用。 |
Docker开发 / make docker-start | 4 vCPU, 8 GB RAM, 25 GB 可用SSD | 8 vCPU, 16 GB RAM | 镜像构建、绑定挂载和沙箱容器需要比纯本地开发更多的余量。 |
长期运行服务器 / make up | 8 vCPU, 16 GB RAM, 40 GB 可用SSD | 16 vCPU, 32 GB RAM | 推荐用于共享使用、多Agent运行、报告生成或较重的沙箱工作负载。 |
- 这些数字仅涵盖DeerFlow自身。如果您还托管本地LLM,请单独为该服务确定规模。
- Linux加上Docker是持久化服务器的推荐部署目标。macOS和Windows最好作为开发或评估环境使用。
- 如果CPU或内存使用率一直居高不下,请先减少并发运行数量,然后迁移到下一个规模层。
选项1:Docker(推荐)
开发(热重载、源码挂载):
make docker-init # 拉取沙箱镜像(仅在第一次或镜像更新时执行)
make docker-start # 启动服务(从config.yaml自动检测沙箱模式)
make docker-start 仅当 config.yaml 使用provisioner模式时(sandbox.use: deerflow.community.aio_sandbox:AioSandboxProvider 配合 provisioner_url)才会启动 provisioner。
Docker构建默认使用上游的 uv 注册表。如果您在受限网络中需要更快的镜像,在运行 make docker-init 或 make docker-start 之前请导出 UV_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple 和 NPM_REGISTRY=https://registry.npmmirror.com。
后端进程会在下一次配置访问时自动拾取 config.yaml 的更改,因此在开发期间更新模型元数据不需要手动重启。
在Linux上,如果基于Docker的命令因
permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock而失败,请将您的用户添加到docker组并重新登录,然后再重试。请参阅 CONTRIBUTING.md 获取完整修复方案。
生产(本地构建镜像,挂载运行时配置和数据):
make up # 构建镜像并启动所有生产服务
make down # 停止并移除容器
访问:http://localhost:2026
统一的nginx端点默认是同源的,不会发出浏览器CORS头部。如果您运行的是分离源或端口转发的浏览器客户端,请将 GATEWAY_CORS_ORIGINS 设置为逗号分隔的精确源,例如 http://localhost:3000;然后Gateway将应用CORS白名单和匹配的CSRF源检查。
Gateway将运行状态(RunManager和流桥)保存在进程中,因此生产环境默认使用单个Gateway工作进程(
GATEWAY_WORKERS=1)。在没有共享跨工作进程流桥(目前尚不可用)的情况下增加工作进程数量,会破坏运行取消、SSE重连、请求去重和IM渠道,因为nginx不使用粘性会话,且每个工作进程维护自己的运行状态。请通过增加CPU/RAM来扩展单个工作进程(或将数据库和沙箱移至专用层),而不是增加GATEWAY_WORKERS。
请参阅 CONTRIBUTING.md 获取详细的Docker开发指南。
选项2:本地开发
如果您更倾向于在本地运行服务:
先决条件:先完成上述“配置”步骤(make setup)。make dev 要求项目根目录中存在有效的 config.yaml。设置 DEER_FLOW_PROJECT_ROOT 来显式定义该根目录,或设置 DEER_FLOW_CONFIG_PATH 来指向特定的配置文件。运行时状态默认位于项目根目录下的 .deer-flow,可通过 DEER_FLOW_HOME 移动;技能默认位于项目根目录下的 skills/,可通过 DEER_FLOW_SKILLS_PATH 移动。
在启动前运行 make doctor 验证您的设置。
在Windows上,请从Git Bash运行本地开发流程。原生的 cmd.exe 和PowerShell shell不支持基于bash的服务脚本,也不保证WSL兼容,因为某些脚本依赖于Git for Windows的实用程序,如 cygpath。
- 检查先决条件:
make check # 验证 Node.js 22+、pnpm、uv、nginx
- 安装依赖:
make install # 安装后端 + 前端依赖 + pre-commit hooks
- (可选)预拉取沙箱镜像:
# 如果使用Docker/基于容器的沙箱,建议执行此操作
make setup-sandbox
- (可选)加载示例记忆数据以供本地审查:
python scripts/load_memory_sample.py
这将示例夹具复制到默认的本地运行时记忆文件中,以便审查者可以立即测试 设置 > 记忆。有关最短的审查流程,请参阅 backend/docs/MEMORY_SETTINGS_REVIEW.md。
- 启动服务:
make dev
- 访问:http://localhost:2026
启动模式
DeerFlow在Gateway API中运行Agent运行时。开发模式启用热重载;生产模式使用预先构建的前端。
| 本地前台 | 本地守护进程 | Docker开发 | Docker生产 | |
|---|---|---|---|---|
| 开发 | ./scripts/serve.sh --dev / make dev | ./scripts/serve.sh --dev --daemon / make dev-daemon | ./scripts/docker.sh start / make docker-start | — |
| 生产 | ./scripts/serve.sh --prod / make start | ./scripts/serve.sh --prod --daemon / make start-daemon | — | ./scripts/deploy.sh / make up |
| 操作 | 本地 | Docker开发 | Docker生产 |
|---|---|---|---|
| 停止 | ./scripts/serve.sh --stop / make stop | ./scripts/docker.sh stop / make docker-stop | ./scripts/deploy.sh down / make down |
| 重启 | ./scripts/serve.sh --restart [flags] | ./scripts/docker.sh restart | — |
Gateway拥有 /api/langgraph/* 路由,并将这些公共的LangGraph兼容路径转换为nginx后原生的 /api/* 路由器。
Docker生产部署
deploy.sh 支持分别构建和启动:
# 一步完成(构建+启动)
deploy.sh
# 两步完成(先构建,后启动)
deploy.sh build # 构建所有镜像
deploy.sh start # 启动预先构建的镜像
# 停止
deploy.sh down
高级
沙箱模式
DeerFlow支持多种沙箱执行模式:
- 本地执行(直接在主机上运行沙箱代码)
- Docker执行(在隔离的Docker容器中运行沙箱代码)
- Docker执行 + Kubernetes(通过provisioner服务在Kubernetes Pod中运行沙箱代码)
对于Docker开发,服务启动遵循 config.yaml 的沙箱模式。在本地/Docker模式下,不会启动 provisioner。请参阅沙箱配置指南来配置您偏好的模式。
MCP服务器
DeerFlow支持可配置的MCP服务器和技能来扩展其能力。对于HTTP/SSE MCP服务器,支持OAuth token流程(client_credentials、refresh_token)。请参阅MCP服务器指南获取详细说明。
IM渠道
DeerFlow支持从即时通讯应用接收任务。渠道在配置后自动启动——其中任何一个都不需要公网IP。DeerFlow还可以在工作区UI中公开用户拥有的IM渠道连接。当启用 channel_connections 时,登录用户可以从侧边栏/设置 > 渠道绑定Telegram、Slack、Discord、飞书/Lark、钉钉、微信或企业微信。它复用现有的出站 channels.* 传输,因此不需要公网IP或提供商回调URL。传入的IM消息随后在关联的DeerFlow用户账户下运行。请参阅[IM渠道连接](backend/docs/IM_CHANNEL_CONNECTIONS.m
相似文章
@seclink: DeerFlow(全称 Deep Exploration and Efficient Research Flow)是由字节跳动(ByteDance)开源的一个 长时程 SuperAgent 框架(SuperAgent harness)。
DeerFlow是由字节跳动开源的用于长时程SuperAgent的框架,旨在提升AI代理的探索与研究效率。
@Radha_AI:中国刚刚推出了一位永不休眠的 AI 员工。它能做研究、写代码、建网站、做幻灯片,还能生成……
ByteDance 发布 DeerFlow 2.0,这是一个开源 AI Agent 框架,支持在本地执行编程、研究和内容生成等任务,无需依赖云端或订阅服务。
@QingQ77: 在 DeerFlow 基础上增加多工作空间隔离、多角色权限管理,实现空间级别的 MCP 工具和技能隔离。 https://github.com/gaoyakunsan/deer-flow… 每个空间有自己独立的聊天记录、记忆、MCP 工具…
DeerFlow 2.0 在原有开源项目基础上新增多工作空间隔离、多角色权限管理及空间级 MCP 工具与技能隔离,支持独立聊天记录、记忆和工具集,后端采用 FastAPI + LangGraph,前端 Next.js 16。
将 Seedance 2.0 接入智能体管道。字节跳动仅限企业使用。智能体循环该选哪家 API 提供商?
开发者尝试将字节跳动的 Seedance 2.0 视频模型集成到自动化智能体管道中,但遇到字节跳动火山引擎 API 的企业限制;寻求社区对 Fal 等替代 API 提供商的反馈,重点关注每秒定价、API 兼容性和延迟基准。
@neil_xbt: 字节跳动刚刚发布了 GitHub 全站排名第一的热门仓库!31,400 颗星。仍在攀升。Agent TARS。一款免费……
字节跳动发布了 Agent TARS,这是一个免费开源的多模态 AI 智能体框架,以 31,400 颗星的佳绩荣登 GitHub 热门榜首。该工具支持跨终端和桌面环境的 GUI 控制、计算机视觉和浏览器自动化。