2026 年 2 月 28 日,ByteDance 旗下的开源项目 Deer-Flow 在 GitHub Trending 榜单中一举夺魁。这款定位于「长周期超级代理 harness」的框架,与传统的单轮对话式 Agent 有着本质区别 —— 它不仅具备独立执行环境,还能通过子代理并行处理复杂任务,并在多轮会话中保持长期记忆。从 Deep Research 框架演进为 SuperAgent Harness,Deer-Flow 的架构设计蕴含了哪些工程考量?本文将从沙箱隔离、记忆系统、工具编排与消息网关四个维度进行深度解析。
从深度研究到超级代理 harness
Deer-Flow 的发展轨迹值得玩味。项目最初定位为 Deep Research 框架,旨在帮助用户完成深度研究任务。然而,社区开发者将其应用场景不断拓展 —— 构建数据管道、生成幻灯片、搭建仪表板、自动化内容工作流 —— 这些需求远超研究范畴。项目团队意识到,Deer-Flow 的核心价值并非某个具体功能,而是一个提供基础设施的「harness」(马具 / 框架),让 Agent 能够在其中真正完成工作。
这一认知直接推动了 Deer-Flow 2.0 的彻底重写。新版本基于 LangGraph 和 LangChain 构建,不再是一个需要开发者自行拼装的框架,而是一个开箱即用的超级代理 harness,内置文件系统、记忆系统、技能模块、沙箱执行环境,并支持任务规划与子代理生成。开发者可以直接使用,也可以拆解定制。
沙箱执行环境:隔离与可审计的计算机
Deer-Flow 与大多数 Agent 框架的核心差异在于,它拥有「自己的计算机」。每个任务运行在独立的隔离 Docker 容器中,具备完整的文件系统 —— 包含技能、工作区、上传目录和输出目录。Agent 在其中读取、编写、编辑文件,执行 bash 命令,查看图像。这一切都是沙箱化的,会话之间零污染,且所有操作可审计。
项目支持三种沙箱模式。本地执行模式直接在宿主机上运行沙箱代码,适合快速开发调试。Docker 执行模式在隔离的 Docker 容器中运行代码,是生产环境的推荐选择。Kubernetes 执行模式则通过 provisioner 服务在 K8s Pod 中运行沙箱,适合大规模部署场景。配置方式在 config.yaml 中通过 sandbox.use 参数指定,本地开发模式下 provisioner 服务不会启动。
沙箱内部的目录结构经过精心设计:/mnt/user-data/uploads 存放用户上传文件,/mnt/user-data/workspace 是 Agent 的工作目录,/mnt/user-data/outputs 存放最终交付物。技能文件位于 /mnt/skills/public(内置技能如 research、report-generation、slide-creation、web-page、image-generation)和 /mnt/skills/custom(自定义技能)。这种目录隔离确保了不同任务、不同用户之间的资源不会相互干扰。
长期记忆:跨越会话的个性化知识
大多数 Agent 在对话结束的瞬间就会忘记一切。Deer-Flow 打破了这一限制,它能够在会话之间构建持久的记忆,涵盖用户画像、偏好设置以及累积的知识。用户使用时间越长,Deer-Flow 对其写作风格、技术栈、常见工作流的理解就越深入。记忆数据存储在本地,始终处于用户可控范围之内。
记忆系统的工程实现采用了去重策略。在应用记忆时,系统会自动跳过重复的事实条目,避免重复偏好和上下文在多个会话之间无限累积。这一细节体现了 Deer-Flow 对长周期运行场景的深刻理解 —— 当记忆数据随时间膨胀时,去重机制是维持系统可用性的关键。
在单会话内部,Deer-Flow 同样实施积极的上下文管理策略。已完成子任务的结果会被摘要并转移至文件系统存储,不再立即相关的内容会被压缩。这种「上下文工程」使得框架能够在长周期、多步骤任务中保持敏锐,而不至于是上下文窗口膨胀失控。
子代理分层调度:复杂任务的并行分解
复杂任务很少能在一轮交互中完成。Deer-Flow 的设计哲学是「分解」—— 主代理(Lead Agent)可以动态生成子代理,每个子代理拥有独立的作用域上下文、工具集合和终止条件。子代理在可能的情况下并行运行,随后将结构化结果反馈给主代理,由主代理综合为连贯的输出。
这种架构使得 Deer-Flow 能够处理耗时从分钟到小时不等的任务。以研究任务为例,一个主任务可能分叉为十几个子代理,每个子代理探索不同的角度,最终收敛为一份报告、一个网站,或带有生成视觉效果的幻灯片。一套 harness,多双手协作。
值得注意的是,子代理运行在完全隔离的上下文中。这意味着子代理无法看到主代理或其他子代理的上下文 —— 这一设计确保子代理能够专注于手头任务,而不被其他上下文中可能存在的信息所分散注意力。隔离与专注,是并行任务处理的工程基础。
技能与工具:可扩展的能力单元
技能(Skills)是 Deer-Flow 执行「几乎任何事情」的能力基础。一个标准的 Agent Skill 是一个结构化的能力模块,包含 Markdown 文件定义的 workflow、最佳实践和支持资源引用。Deer-Flow 内置了研究、报告生成、幻灯片创建、网页创建、图像和视频生成等技能。真正的力量在于可扩展性 —— 开发者可以添加自定义技能,替换内置技能,或将多个技能组合为复合工作流。
技能采用渐进式加载策略 —— 只有在任务需要时才会加载,而非一次性全部加载。这保持了上下文窗口的精简,使 Deer-Flow 即使在 token 敏感型模型上也能良好运行。工具(Tools)遵循相同的理念。Deer-Flow 附带核心工具集 —— 网络搜索、网络获取、文件操作、bash 执行 —— 并通过 MCP 服务器和 Python 函数支持自定义工具。开发者可以替换任何工具,也可以添加任何工具。
Gateway 生成的跟进建议现在能够同时处理纯字符串模型输出和块 / 列表风格的富内容,在解析 JSON 数组响应前进行规范化。这确保了特定提供商的内容包装器不会静默丢弃建议。
消息网关:多渠道任务接入
Deer-Flow 支持从即时通讯应用接收任务。配置后,渠道会自动启动,无需公网 IP。支持的渠道包括:Telegram(Bot API 长轮询)、Slack(Socket Mode)、飞书 / 钉钉(WebSocket)。各渠道配置难度不同 ——Telegram 最简单,Slack 和飞书需要更多应用配置。
每种渠道都支持会话级配置。开发者可以为全局设置默认助手 ID 和递归限制等参数,也可以为特定用户覆盖配置。连接渠道后,用户可以通过命令与 Deer-Flow 交互:/new 开始新对话、/status 显示当前线程信息、/models 列出可用模型、/memory 查看记忆、/help 显示帮助文档。没有命令前缀的消息则被视为常规聊天,Deer-Flow 会创建线程并进行对话式回复。
这一设计将 Deer-Flow 从一个 Web 应用扩展为可嵌入工作流的智能中枢。开发者可以在不改变现有通讯习惯的前提下,将 AI 能力接入日常协作场景。
推荐模型与部署参数
Deer-Flow 与实现 OpenAI 兼容 API 的任何 LLM 兼容,但在以下特性的模型上表现最佳:长上下文窗口(100k+ token)用于深度研究和多步骤任务、推理能力用于自适应规划和复杂分解、多模态输入用于图像理解和视频 comprehension、强大的工具调用能力用于可靠的函数调用和结构化输出。
项目方强烈推荐使用豆包 Seed-2.0-Code、DeepSeek v3.2 和 Kimi 2.5 来运行 Deer-Flow。配置模型需要在 config.yaml 中定义至少一个模型,指定名称、显示名称、LangChain 类路径、模型标识符、API 密钥、最大 token 数和采样温度。OpenRouter 等兼容网关需要额外配置 base_url 参数。
部署方面,项目推荐使用 Docker 进行开发(通过 make docker-init 拉取沙箱镜像,make docker-start 启动服务),使用 make up 构建镜像并启动生产服务。服务启动后通过 http://localhost:2026 访问。
安全考量:本地可信环境的定位
Deer-Flow 具备高权限能力,包括系统命令执行、资源操作和业务逻辑调用,默认设计部署在本地可信环境(仅可通过 127.0.0.1 环回接口访问)。如果在不受信任的环境(如局域网、公有云服务器或其他多端点可访问的环境)中部署,且未实施严格的安全措施,可能引入安全风险。
项目方明确建议在本地可信网络环境中部署 Deer-Flow。如需跨设备或跨网络部署,必须实施严格的安全措施:IP 白名单(通过 iptables 或硬件防火墙配置 ACL 规则)、认证网关(配置 nginx 反向代理并启用强预认证)、网络隔离(将 Agent 和可信设备置于同一专用 VLAN)。此外,应持续关注 Deer-Flow 的安全功能更新。
小结
Deer-Flow 2.0 代表了 ByteDance 对超级代理架构的完整思考。沙箱执行环境提供了隔离可审计的计算基础,长期记忆系统实现了跨会话的个性化累积,子代理分层调度赋予了复杂任务的并行分解能力,消息网关则打通了 AI 能力与日常协作的最后一公里。这套 harness 既能开箱即用,也能拆解定制,为长周期 AI Agent 的工程落地提供了可参考的架构范式。
资料来源:GitHub - bytedance/deer-flow (https://github.com/bytedance/deer-flow)