mrkeyoor.com_
Fri 18 Sept 02:53 UTC
AI Toolsevaluationupdated 27 Aug 2026

deer-flow review

DeerFlow is an open-source agent application that can research, write code, create files, remember user context, and split work among sub-agents. It combines a web interface, model providers, tools, skills, MCP connections, and isolated execution so longer tasks can run with more structure than a single chat response.

+309stars / 7d
Verdict

Our DeerFlow backend installed 33 packages and built in 16 seconds, but pytest ran 0 tests and stopped after 200 collection or setup errors, so commit 13f0a7f is a trial candidate rather than a verified deployment. Use DeerFlow when you need a full agent application with model choice, memory, skills, sub-agents, and sandboxes, and you have an operator who understands its privilege. Keep it on localhost until authentication, network isolation, sandbox policy, storage, and recovery have been tested together.

We ran it

Lab card: what happened when we ran deer-flowScreenshot of deer-flow (deerflow.tech)
Install✓ · 32s33 packages · 36 MB
Build✓ · 16s
Tests✗ · 22s0 passed · 0 failed · 4 skipped · 200 errors of 200 (pytest)
Known vulns0(pip-audit)
Repo2337 files~503,895 lines of source · 44 MB · 14 CI workflows · Dockerfile · tests dir

Answers from our run

Does deer-flow build from source?

Dependencies installed in 32 seconds (33 packages), and the build succeeded in 16 seconds. We cloned commit 13f0a7f into a clean Debian container with 3 CPUs and no project-specific setup.

Do deer-flow's tests pass?

Yes: 0 of 200 passed when we ran the project's own test command (pytest), with 200 collection errors. Some failures need services or credentials a bare container does not have.

Does deer-flow have known vulnerabilities in its dependencies?

pip-audit found none in the dependency tree at the time of our run.

Who should not use deer-flow?

Anyone planning to expose the default instance directly to a LAN or the internet: the README says it is designed for a trusted localhost environment and warns that unauthorized users could trigger commands or file operations.

What are the alternatives to deer-flow?

OpenHands, LangGraph, AutoGen. Our DeerFlow backend installed 33 packages and built in 16 seconds, but pytest ran 0 tests and stopped after 200 collection or setup errors, so commit 13f0a7f is a trial candidate rather than a verified deployment.

Setup2/5Build passed, but all 200 collected test paths errored
Docs4/5Setup, sizing, models, sandboxes, scaling, and security are explicit
Community5/580,969 stars with active issue and pull request work
Maturity3/5Version 2 is a rewrite with complex runtime and security boundaries

Discussed on

  1. hnHas Anyone Tried Deerflow?4 points
  2. hnDeerFlow, a community-driven Deep Research framework4 points
  3. hnDeer-Flow Installing Line3 points

Who it’s for

AI platform teams that want a deployable agent shell rather than building memory, tools, sandboxes, and streaming from scratch.
Developers comparing hosted models, local vLLM endpoints, or CLI-backed coding agents through one configuration.
Researchers who need multi-step web work and file outputs inside an isolated workspace.
Operators prepared to secure a command-running service and monitor model, search, and sandbox costs.
MCP and Claude Code users who want those integrations inside a broader agent application.

Who it’s NOT for

Anyone planning to expose the default instance directly to a LAN or the internet: the README says it is designed for a trusted localhost environment and warns that unauthorized users could trigger commands or file operations.
Teams that cannot treat administrators as code-level operators: DeerFlow says a Gateway admin can register stdio MCP servers and is equivalent to code execution.
Buyers who expect a clean backend suite from a fresh checkout: our run stopped after 200 collection or setup errors and executed no tests.
Small servers: the README says 2 vCPU and 4 GB is usually insufficient even for local evaluation, before adding a local model.
Users seeking a settled multi-week project abstraction: issue 1114 asks for named projects, project-scoped context, history, and milestones because current work is organized around sessions.

Setup reality

Our backend install succeeded in 32 seconds with 33 packages and 36 MB on disk, and the build passed in 16 seconds. Tests failed after 22 seconds: 0 passed, 0 failed, 4 skipped, and pytest stopped after 200 collection or setup errors out of 200. Pip-audit found 0 known vulnerabilities.

A working deployment needs at least one model provider or authenticated CLI, plus optional search credentials. Local development also needs Python 3.12+, Node 22+, pnpm, uv, and nginx. Docker is the recommended server path, with Compose v2.24+ and a sandbox image.

The application can execute commands and write files, so sandbox choice and network exposure are security decisions. Persistent shared use adds SQLite or PostgreSQL, reverse-proxy trust, login setup, and possibly Redis for multiple Gateway workers. The README recommends Linux and Docker for a long-running server.

One application joins agents, memory, tools, and sandboxes

DeerFlow 2.0 is a full agent product rather than a small orchestration library. A lead agent can call tools, use skills, delegate to sub-agents, compact context, remember information across sessions, and work with files in a sandbox. Users interact through a web application, terminal workbench, embedded Python client, scheduled tasks, or messaging channels. That saves a platform team from assembling a chat UI, runtime, persistence, and execution layer separately.

Version 2 shares no code with the original deep-research framework, which remains on the main-1.x branch. The new scope covers research, coding, report generation, slides, media skills, and other file-producing work. Breadth is useful when one internal service must support several task types. It also makes evaluation harder, because a successful research demo does not validate command execution, memory isolation, messaging identities, or multi-worker recovery.

The 36 MB backend environment built, then collection failed

Our harness targeted the Python project under backend/ at commit 13f0a7f. The full checkout contained 2,337 files, about 503,895 source lines, and occupied 44 MB. Installing 33 packages took 32 seconds and left a 36 MB environment. The build succeeded in 16 seconds, and pip-audit found 0 known vulnerabilities in those installed Python dependencies.

That modest backend measurement excludes the frontend packages, Docker images, sandbox image, model weights, databases, and optional integrations needed for a complete service. The repository has a Dockerfile, a tests directory, and 14 CI workflow files. DeerFlow's own sizing table starts local evaluation at 4 vCPU, 8 GB RAM, and 20 GB of free SSD, then recommends more for Docker or shared use. A local model needs separate capacity.

What happened when we ran it

Our test step failed after 22 seconds with exit code 1. Pytest reported 0 passed, 0 failed, 4 skipped, and 200 collection or setup errors out of 200 before stopping at its failure limit. The log tail named MCP interceptor, migration, OAuth, routing, session-pool, timeout, and sync-wrapper test modules. No test body completed in the reported result.

Those filenames identify where collection or setup stopped, not why. The tail contains no missing-package message, stack trace, service error, or assertion that would support a cause. We therefore cannot say whether the fresh Debian container lacked configuration, a service, a fixture, or something else. The bounded finding is that installation and build passed, while the backend suite did not reach executable tests in our 3-CPU, 8 GB environment.

Model choice still means provider-specific configuration

The setup wizard asks for a model provider, optional web search, and execution permissions, then writes config.yaml and .env. DeerFlow documents OpenAI-compatible endpoints, the Responses API, OpenRouter, vLLM, Codex CLI, and Claude Code OAuth among its choices. Each path has different keys, base URLs, reasoning fields, and streaming usage behavior. A shared configuration format reduces switching cost but cannot make provider semantics identical.

Local development requires Python 3.12 or newer, Node 22 or newer, pnpm, uv, and nginx. Docker Compose v2.24+ is required for the recommended container route. The production command builds the images and waits for a health endpoint. Persistent deployments can use SQLite or PostgreSQL for checkpoints and application data. PostgreSQL plus Redis-backed coordination enters the picture when several Gateway workers must share runs and stream delivery.

Command execution makes localhost the correct default

DeerFlow can execute system commands, read and write files, call business tools, and launch MCP servers. Its Docker entry point binds to 127.0.0.1 by default, and the security notice describes a local trusted environment as the intended deployment. Changing BIND_HOST to 0.0.0.0 should happen only after account setup, an IP allowlist or isolated network, and a pre-authenticating reverse proxy are in place.

Gateway administrators deserve even tighter control. They can register stdio MCP servers that launch commands inside the container. An allowlist limits launchers such as npx and uvx, but the documentation says this is defense in depth because those tools fetch and execute packages. Treat an admin session as code execution, keep provider secrets out of agent-readable paths, and test what the selected sandbox can reach on the network and host filesystem.

A single worker is simpler than distributed run ownership

Production defaults to 1 Gateway worker because active tasks belong to the process running them. DeerFlow documents a multi-worker design using PostgreSQL, a Redis stream bridge, heartbeat leases, database-backed events, reconnect replay, and orphan recovery. Cancellation can arrive at a worker that does not own the run, so the owner must observe a persisted request during lease renewal. These are serious distributed-systems concerns, not a toggle for extra throughput.

Start with one worker and measure concurrent sessions before adding that machinery. The README suggests reducing concurrent runs first when CPU or memory remains pinned. A long task may also have a remote tool side effect already in flight when local cancellation occurs. Operators need limits for sub-agents, tool calls, runtime, tokens, and sandbox resources, plus a recovery drill for a Gateway restart during active work.

August activity is intense, while version 2 is still settling

GitHub showed 80,969 stars, 910 open issues and pull requests, and a last push on August 27, 2026. Release v2.0.0 arrived June 25 after 182 merged milestone pull requests. Current work touches memory cleanup, sandbox hardening, runtime eviction, scheduling, frontend retries, messaging, and MCP cancellation. The combined open count includes pull requests and is not a 910-bug tally.

The repository is moving fast enough to merit pinned revisions and staged upgrades. Open macOS and Ubuntu reports describe local nginx startup failing on permission to its compiled log path, even after prerequisite checks passed in one case. DeerFlow is worth evaluating when its complete shell saves months of integration work. Our 200 setup or collection errors and the product's privilege level mean evaluation should happen in an isolated environment with real failure and recovery tests.

Alternatives

ProjectWhat it isPick it when
OpenHands gh↗A software-development agent platform with sandboxed workspaces and a web interface.pick this instead when coding inside repositories is the main job rather than general research and content creation.
LangGraph gh↗A lower-level framework for building stateful agent workflows and runtimes.pick this instead when you want to design the agent graph and user experience yourself.
AutoGen gh↗A framework and studio for building applications with collaborating agents.pick this instead when experimenting with agent conversation patterns matters more than adopting DeerFlow's complete application.

What people are saying

  1. [github-trending] bytedance/deer-flow

Sources

  1. DeerFlow README
  2. DeerFlow v2.0.0 release
  3. DeerFlow macOS nginx issue 2568
  4. DeerFlow Ubuntu nginx issue 2649
  5. DeerFlow project-workflow request 1114

More ai tools reviews

OpenBitFun · rowboat · skills · superpowers-zh · yolov5 · eve · the whole board →