DeerFlow 2.0: ByteDance's Open-Source "Super Agent Harness" That Packs Sub-Agents, Memory and Sandboxes Into One Runtime
Version 2.0 of bytedance/deer-flow is a ground-up rewrite that shares no code with 1.x. It is no longer a deep-research framework but a "super agent harness" that orchestrates sub-agents, memory and sandboxes through extensible skills, built on LangGraph and LangChain. The repo has about 84k stars and an MIT license. The README repeats a warning: it is designed for local trusted environments by default, and gateway admin is equivalent to code execution on the host.
DeerFlow stands for Deep Exploration and Efficient Research Flow, and it began as a ByteDance open-source deep-research framework. The README explains how it changed: the community pushed it into data pipelines, slide decks, dashboards and content automation, uses the team never anticipated. That told the team DeerFlow was not just a research tool but a harness, a runtime that gives agents the infrastructure to get work done, so they rebuilt it from scratch. 2.0 shares no code with 1.x; the original deep-research framework lives on the 1.x branch, and active development has moved to 2.0. The README also says that after 2.0 launched, DeerFlow took the number one spot on GitHub Trending on February 28, 2026. As of October 13, 2026 the repository has about 83,766 stars and 11,654 forks, an MIT license, Python code, a creation date of May 7, 2025, and a last push on October 13.
In the README's definition, DeerFlow 2.0 is no longer a framework you wire together but a super agent harness, batteries included and fully extensible. It is built on LangGraph and LangChain and ships with a filesystem, memory, skills, sandbox-aware execution, and the ability to plan and spawn sub-agents for complex multi-step tasks. It is model-agnostic and works with any LLM that implements an OpenAI-compatible API, though it performs best with long context windows (100k+ tokens), reasoning, multimodal input and strong tool use, and the README strongly recommends Doubao-Seed-2.0-Code, DeepSeek v3.2 and Kimi 2.5. For search and crawling it integrates InfoQuest, a toolset ByteDance's BytePlus built itself, with a free online trial. The core features fall into several groups. Skills and tools: a Capability Center in the workspace sidebar manages plugins (MCP servers and Lark/Feishu integration) and skills, with built-in and user-created or imported skills listed separately, and a Community tab that imports .skill archives. Sub-agents: by default each runs in an isolated context that cannot see the main agent or other sub-agents, so it can focus on the task at hand; task calls accept isolated (default) and snapshot modes, and snapshot hands the sub-agent the parent's retained conversation and compaction summary as history, at the cost of more input tokens. Context engineering: within a session it summarizes completed sub-tasks, offloads intermediate results to the filesystem and compresses what is no longer relevant, so long multi-step tasks do not blow the window, and tool outputs get preview budgets and structured synopses. Long-term memory comes from a component called DeerMem, with debouncing per conversation, user and agent, a default quiet period of 30 seconds and a maximum wait of 300 seconds. There are also session goals, manual context compaction, a chat archive, projects with a document shelf, scheduled tasks (with previewable cron times, lifecycle and safety caps), an embedded Python client and a terminal workbench.
The README is detailed about how to run it. Quick Start configures a model first and then offers Docker (recommended) or local development, with optional LangGraph Studio for debugging; there are dedicated sections for upgrading an existing checkout, multiple providers, stream actions on existing runs and personal access tokens. The sandbox section is worth reading. AIO sandboxes recycle after an uncertain implicit-shell outcome or after session creation, and before recycling the gateway records the container ID or Pod UID under a quarantine directory, records that survive failed stops and gateway restarts. Old records are retired only after the backend confirms that no container or Pod remains; a delete acknowledgement or a failed health check is not sufficient. Such conservative handling of failure paths suggests it was written for long unattended use. The security chapter is what you should read first. The README says DeerFlow has high-privilege capabilities, system command execution, resource operations and business logic invocation, and is designed by default for a local trusted environment reachable only through the 127.0.0.1 loopback. Deployed on a LAN, a public cloud server or another multi-endpoint environment without strict measures, it risks unauthorized invocation, bulk triggering of high-risk operations once internet scanners find it, and compliance and legal exposure. The Docker stack publishes its entry port on 127.0.0.1 only, and local make dev and make start bind to loopback. To reach it from another machine, set BIND_HOST in .env, and only after putting measures in place: an IP allowlist with iptables or hardware firewalls, strong pre-authentication through a reverse proxy such as nginx, and a dedicated VLAN. A fresh instance has no accounts, so any deployment that is not loopback-only should create the admin account through /setup immediately after starting. The README adds that a gateway admin can register stdio MCP servers, which run commands inside the gateway container; the API restricts them to an allowlist (npx and uvx by default) and rejects arguments that would evaluate arbitrary code, but that is defense in depth, not a boundary, so treat gateway admin as equivalent to code execution on the host.
Our reading is that what is worth studying in DeerFlow 2.0 is its engineering trade-offs, not its star count. It documents details usually hidden inside, such as sub-agent isolation, context summarization, filesystem offloading and sandbox recycling, which makes it a rare reference for anyone building agent infrastructure. Three caveats. The README is very long and changes quickly, and many sections describe current source behavior, so check against your version before deploying. Its power and its risk come from the same thing, running commands and reading and writing files, so do not casually change the default loopback binding. And its model recommendations have a visible vendor lean; real results depend on the model and task you connect. Run it first in an isolated container against a directory with test data only, then decide whether to connect real data and external channels.
Sources
FAQ
How do DeerFlow 2.0 and 1.x relate?
The README states that 2.0 is a ground-up rewrite that shares no code with 1.x. The original deep-research framework lives on the 1.x branch, where contributions are still welcome, while active development has moved to 2.0. It also says 2.0 hit the number one spot on GitHub Trending on February 28, 2026.
How do sub-agents share context?
By default each sub-agent runs in its own isolated context and cannot see that of the main agent or other sub-agents. Ordinary task calls accept context_mode="isolated" (the default) or "snapshot". The latter hands the sub-agent the parent's retained conversation and compaction summary as historical background, at the cost of extra input tokens.
What is the main security concern when deploying it?
DeerFlow is designed by default for a local trusted environment (127.0.0.1) because it can execute system commands and operate on resources. The Docker stack publishes its port on 127.0.0.1 only; reaching it from another machine requires BIND_HOST and, first, an IP allowlist, an authentication gateway and network isolation. A gateway admin can register stdio MCP servers, so admin access equals code execution on the host.