實戰手冊 · Field Manual 2026 春季號
github.com/bytedance/deer-flow · 68k ★
D
第 04 期 · 開源 AI Agent / 多代理骨架

DeerFlow:ByteDance
開源的長程
SuperAgent 骨架。

DeerFlow 是 ByteDance 開源的長程 SuperAgent harness,以 LangGraph 編排一個主代理,讓它自動把任務拆給多個隔離的子代理,在沙盒裡執行程式、查詢資料、寫出報告,並跨 session 保留結果。2.0 是從零重寫的版本,2026 年 2 月 28 日登上 GitHub Trending 第一名。本手冊涵蓋安裝步驟、能力地圖與完整任務流程示範。

68k
GitHub Stars
2.0
從零重寫版本
#1
GitHub Trending
MIT
永久免費授權
01
架構定位

以 LangGraph 編排主代理與子代理的調度骨架

DeerFlow 的官方定位:一套開源的 super agent harness,負責編排子代理、記憶與沙盒,靠可擴充的 skills 執行研究、程式撰寫與產出任務。核心概念是 harness(骨架)。它把「複雜任務如何拆開、分頭執行、再收斂成成品」這件事做成可重用的基礎建設。官方 README 的描述:一個會研究、會寫程式、會產出的長程 SuperAgent。

底層建在 LangGraphLangChain 上。主代理(lead agent)接到任務後,將其拆成可平行的子任務,生出多個各自隔離的子代理,每個子代理有獨立的上下文、受限的工具集與獨立的檔案系統,執行完畢後把結果收斂回主代理,合成一份連貫輸出。技能採漸進式載入,用到才進入上下文。

它真正解決的是長程任務的兩個老問題:上下文爆炸失憶。完成的子任務會被積極摘要、中間結果卸載到檔案系統;跨 session 的長期記憶存在本地、由你掌控,套用時會自動去除重複事實。2.0 是與 v1 完全不共用程式碼的重寫版本,v1 留在 1.x 分支;2026 年 2 月 28 日,2.0 發佈當天登上 GitHub Trending 第一名。

DeerFlow · 一次長程任務的生命週期
接收任務 主代理拆解 子代理平行執行 沙盒跑工具 摘要收斂 產出成品 寫入記憶
Use it as-is. Or tear it apart and make it yours.
— DeerFlow README
02
安裝步驟

make setup 生成設定,make dev 啟動服務。

DeerFlow 是一個有後端、前端、沙盒的服務,需要 clone 原始碼並啟動。設定透過互動精靈完成:make setup 詢問模型供應商與沙盒模式,自動生成最小可用的 .envconfig.yaml。執行三行指令後,在瀏覽器開啟 http://localhost:2026 即可使用。

# 1. 取得原始碼(2.0 在預設分支,v1 在 1.x) git clone https://github.com/bytedance/deer-flow.git cd deer-flow # 2. 互動精靈:選模型、選沙盒,自動生成 .env 與 config.yaml make setup # 3. 本機開發模式(熱重載),完成後開 http://localhost:2026 make dev

用 Docker 跑,或直接上生產

不想在本機裝一堆相依,改走容器化開發;要多服務一起部署,則用生產模式。三種模式共用同一份 make setup 產生的設定。

# 容器化開發模式 make docker-start # 多服務生產部署 make up
設定只有兩個檔案。.env 放 API key 與憑證,config.yaml 放模型供應商、沙盒模式、IM 頻道與追蹤設定。模型端支援 OpenAI、Anthropic Claude(走 Claude Code OAuth)、Doubao、DeepSeek、Kimi、Google Gemini(經 OpenRouter)、本地 vLLM,以及任何 OpenAI 相容 API。換模型只需修改 config.yaml。本機評估約需 4 vCPU / 8 GB RAM,生產建議 8 vCPU / 16 GB RAM。
03
能力地圖

八個系統構成完整代理能力。

DeerFlow 把代理能力拆成八個各司其職的子系統:技能、子代理、沙盒、記憶、上下文、模型、搜尋、頻道。每個子系統負責一類工作,組合後形成一條可自動拆任務、隔離執行、收斂輸出的流程。

Skills · 01
內建技能
研究 / 產出
開箱即有:深度研究、報告生成、簡報製作、網頁生成、圖片與影片生成。技能漸進式載入,用到才進上下文。
Skills · 02
.skill 封裝
自訂技能包
把你的工作流程封裝成 .skill 壓縮包,附選用 metadata,丟進去就能擴充代理能力,不必改核心。
Skills · 03
claude-to-deerflow
Claude Code 接橋
內建的 claude-to-deerflow 技能,把 Claude Code 的能力接進 DeerFlow 流程,Anthropic 模型走 OAuth。
Agents · 04
子代理拆派
平行分工
主代理把任務拆成可平行的子任務,生出多個有獨立上下文、被限縮工具的子代理,結果再收斂成連貫輸出。
Sandbox · 05
AioSandbox
Docker 隔離
AioSandboxProvider 把工具執行關進獨立 Docker 容器,bash、檔案操作、抓網頁都在隔離環境裡跑。
Sandbox · 06
LocalSandbox
本機沙盒
LocalSandboxProvider 用每個 thread 一個主機目錄,輕量但預設關閉 bash,持久保留 uploads/workspace/outputs。
Memory · 07
長期記憶
session
跨 session 的持久記憶,存在本地、由你掌控;套用時自動去除重複事實,不會越記越髒。
Context · 08
上下文管理
爆炸
完成的子任務積極摘要、中間結果卸載到檔案系統,並為推理模型做嚴格的 tool-call 復原。
Models · 09
模型供應商
一家
OpenAI、Anthropic Claude、Doubao、DeepSeek、Kimi、Gemini、本地 vLLM,以及任何 OpenAI 相容 API。
Search · 10
網路搜尋
查 /
內建 Tavily 與 InfoQuest(BytePlus 智慧搜尋與爬取)兩種搜尋供應商,搭配 web fetch 與檔案操作工具。
Channels · 11
IM 頻道
六個入口
Telegram、Slack、Feishu/Lark、WeChat、WeCom、DingTalk 自動接入,指令 /new /status /models /memory
Observe · 12
追蹤觀測
看得見每一步
LangSmith 與 Langfuse 雙支援,可同時開啟,完整追蹤 LLM、代理與工具呼叫的每一步。

該選哪種沙盒?一張表決定

你的情境 建議沙盒 關鍵取捨
要跑 bash、執行不可信程式碼 AioSandboxProvider 獨立 Docker 容器,完整隔離,需 Docker
本機快速試、不想起容器 LocalSandboxProvider 每 thread 一個主機目錄,bash 預設關閉
需要保留產出、上傳檔案 兩者皆可 uploads/workspace/outputs 持久保留
多服務、面向生產 make up + AioSandboxProvider,沙盒模式在 config.yaml 設定
04
配置建議 · 來自 README / docs

六條出自官方文件的配置重點

以下六條配置要點全部出自官方 README 與目錄結構。涵蓋初始設定、沙盒選擇、模型混搭、技能擴充、觀測接入與 IM 頻道,對應 DeerFlow 最常見的部署誤區。

TIP 01

先讓 make setup 幫你生設定

別急著手刻 .envconfig.yamlmake setup 是互動精靈,問完模型與沙盒就生出最小可用設定,跑得起來再回去調細節,比一開始就讀完整份 schema 快得多。

來源 · 官方 README · Quick Start
TIP 02

本機沙盒的 bash 預設是關的

LocalSandboxProvider 預設停用 bash 執行以確保安全。若代理無法執行指令,請確認沙盒模式是否正確。需要 bash 執行環境,請改用 AioSandboxProvider 的 Docker 隔離模式。

來源 · 官方 README · Sandbox
TIP 03

不綁一家模型,base_url 可覆寫

除了 OpenAI、Claude、Doubao、DeepSeek、Kimi、Gemini,只要是 OpenAI 相容 API,覆寫 base_url 就能接。要省成本可混搭:主代理用強模型,子代理掛便宜或本地 vLLM。

來源 · 官方 README · LLM Providers
TIP 04

用 .skill 壓縮包擴充,不要改核心

要加自己的能力,封裝成 .skill 壓縮包(附選用 metadata)放進去即可,核心程式碼不用動。技能漸進式載入,所以多放幾個不會一次撐爆上下文。

來源 · 官方 README · Skills & Tools
TIP 05

長任務先開 LangSmith / Langfuse

子代理數量增加後,用肉眼追蹤錯誤效率低。LangSmith 與 Langfuse 可同時啟用,完整記錄每個子代理步驟、每次工具呼叫與 token 用量,是長程任務除錯的主要手段。

來源 · 官方 README · Observability
TIP 06

不想開瀏覽器?走 IM 頻道

不必每次都開 localhost:2026。接上 Telegram/Slack/Feishu/WeChat/WeCom/DingTalk 後,直接在群裡用 /new/status/models/memory 操作同一個代理。

來源 · 官方 README · IM Channels
05
實戰流程

一個混合任務的拆派收斂過程。

以下是一段依官方架構描述改寫的情境:你在 http://localhost:2026 丟一個含研究、運算、產出的混合任務給 DeerFlow。看主代理怎麼拆派子代理、子代理怎麼在沙盒裡跑工具、結果怎麼被摘要收斂成一份報告,並寫進跨 session 記憶。畫面為示意,實際輸出依你的模型與設定而定。

localhost:2026 · deer-flow 2.0 · web ui
You › 幫我研究 2025–2026 開源多代理框架的現況, 把前五名整理成一份比較表,並附一段可跑的 Python 範例驗證其中一個的安裝步驟,最後輸出成報告。
[lead agent · 任務拆解中…] [plan: 3 個可平行子任務 + 1 個收斂步驟]
Lead Agent › 這是一個研究 + 驗證 + 產出的混合任務。 我會拆成三個隔離子代理平行跑,再由我收斂: · sub-1 網路研究(Tavily 搜尋 + web fetch) · sub-2 程式驗證(AioSandbox · Docker 隔離) · sub-3 報告生成(report skill)
[spawn sub-1 · scoped tools: web_search, web_fetch] [spawn sub-2 · scoped tools: bash (sandboxed), file] [每個子代理 = 獨立上下文 + 獨立檔案系統]
sub-1(研究)› 查 5 組關鍵字,讀 18 個來源,抽出框架清單、 star 數、定位與授權,落到 workspace/research.md。
sub-2(驗證)› 在 Docker 沙盒裡 git clone 其中一個框架、建立 venv、跑最小範例。bash 在隔離容器內執行。 exit 0 · 安裝步驟可重現,輸出已截錄
[sub-1 done · 摘要後回收,原始上下文卸載到檔案系統] [sub-2 done · 摘要後回收] [lead agent · 收斂 sub-1 + sub-2 → 派 sub-3]
sub-3(產出)› 套 report skill,合成比較表 + 可跑範例 + 結論。 寫出 outputs/multi-agent-frameworks-2026.md
Lead Agent › 完成。三個子代理各自隔離跑完,我已收斂: · outputs/multi-agent-frameworks-2026.md(報告) · 前五名比較表 + 一段已驗證可跑的安裝範例
[memory · 寫入長期記憶,重複事實已去重] [trace · 全程可在 LangSmith 逐步重播]
輸入一句混合任務描述,三個隔離子代理平行執行後,主代理收斂輸出一份成品。
— DeerFlow 任務流程:拆派、隔離、收斂

這段流程為什麼值得拆解

核心設計在於主代理把任務拆成三個可平行、各自隔離的子代理:研究子代理無法存取 bash,驗證子代理在 Docker 沙盒內執行,彼此上下文不互相污染。子代理完成後被摘要回收,原始內容卸載到檔案系統,這是長程任務控制上下文規模的主要機制。

最後成品落到 outputs/、結論寫進跨 session 記憶、全程可在 LangSmith 重播。這正是 harness 的意義:你維護的是任務描述與設定,不是一條手刻的 agent 流水線。

06
使用前提與限制

部署前需確認的八項限制與前提

  • 不是「貼一段話就裝好」。它是一個有後端、前端、沙盒的服務,不是一個 CLI 外掛。最低要 clone 原始碼、跑 make setup、起服務。把它當基礎建設部署,不是當瀏覽器擴充。
  • 多子代理 = 多次平行 LLM 呼叫。一個任務拆成數個子代理同時跑,API 成本與 token 用量會倍增,不是線性。先用便宜模型在小任務上估算單位成本,再放大。
  • 2.0 與 v1 完全不共用程式碼。2.0 是從零重寫,v1 的設定、流程、外掛不要假設能沿用;還在用舊版的請認明 1.x 分支,別把兩代文件混著看。
  • 本機沙盒預設停用 bash。LocalSandboxProvider 預設停用 bash,需要執行指令請改用 AioSandboxProvider,該模式依賴 Docker。環境中沒有 Docker 則無法使用 Docker 隔離沙盒。
  • 它不是無狀態小工具。本機評估約 4 vCPU / 8 GB RAM,生產建議 8 vCPU / 16 GB RAM / 40 GB SSD。子代理平行執行 + 沙盒容器會吃資源,別用太小的機器跑長任務。
  • 部分模型與搜尋有地區門檻。Doubao、InfoQuest(BytePlus)等供應商面向特定地區與帳號;接哪幾家、能不能用,先確認你的帳號與所在區域,別假設預設清單在你這邊都通。
  • 記憶在本地,由你管理。長期記憶存本地,沒有託管雲端。資料自主的代價是備份、遷移、清理皆需自行負責。記憶累積髒資料會影響後續任務品質。
  • 長任務務必先開觀測。子代理一多,出問題很難用肉眼追。LangSmith / Langfuse 雖然是選用,但長程任務若不先接,除錯成本會遠高於一開始就設定好。
07
進階路徑

五種擴充方式與延伸閱讀。

DeerFlow 的擴充點設計為開放式:加能力靠 .skill 技能包,換模型靠 config.yaml,接外部工具靠 MCP,核心程式碼大多不需修改。

進階玩法地圖

1. 封裝你的 .skill。把團隊重複的工作流程做成 .skill 壓縮包(附 metadata),丟進去就成為代理的新能力。漸進式載入,放多個也不會撐爆上下文。

2. 接 MCP 外部工具。內建 MCP server 整合(支援 OAuth token 流程),把你既有的 MCP 工具接進子代理的工具集,不必為每個整合改核心。

3. 用 claude-to-deerflow 接 Claude Code。內建這個技能,把 Claude Code 的能力接進 DeerFlow 流程,Anthropic 模型走 Claude Code OAuth,不必另開一條整合。

4. 把它變成團隊入口。接上 Telegram/Slack/Feishu/WeChat/WeCom/DingTalk,讓整個團隊在 IM 裡用同一個代理,用 /models/memory 即時切換與檢視。

5. 混搭模型省成本。config.yaml 讓主代理用強模型、子代理掛便宜或本地 vLLM;任何 OpenAI 相容 API 覆寫 base_url 就能接。

最該讀的三份延伸閱讀

README.md:完整能力清單、安裝模式、設定欄位與架構說明。
docs/:官方文件目錄,沙盒、頻道、觀測等細節均在此處。
skills/public:公開技能原始碼,撰寫自訂 .skill 前建議先讀此目錄作為範本。

Use it as-is. Or tear it apart and make it yours.
— DeerFlow README