ðŠ DeerFlow 2.0 深床解æïŒåèè·³åšåŒæºç"è¶ çº§ Agent harness"æ¶ææç§
2026幎2æ28æ¥ïŒDeerFlow ç»é¡¶ GitHub Trending #1 ââ è¿äžªæ¥èªåèè·³åšçåŒæºé¡¹ç®åä»ä¹åŒçåŒåè 瀟åºïŒ
ð äžã项ç®å®äœïŒä» Deep Research å° Super Agent Harness
DeerFlow çå šç§°æ¯ Deep Exploration and Efficient Research FlowïŒäœå®å·²ç»è¿è¿è¶ åºäºäžäžª"深床ç ç©¶æ¡æ¶"çèçŽã
æ žå¿å®äœèœ¬åïŒ
- v1.x: 深床ç ç©¶æ¡æ¶ïŒDeep Research FrameworkïŒ
- v2.0: è¶ çº§ Agent Harness ââ äžäžªå®æŽçæºèœäœè¿è¡æ¶åºç¡è®Ÿæœ
宿¹èªè¿°ïŒ"DeerFlow äžåæ¯äžäžªéèŠäœ èªè¡ç»è£ çæ¡æ¶ïŒèæ¯äžäžªåŒç®±å³çšçè¶ çº§ Agent åºç¡è®Ÿæœââçµæ± å·²å å«ïŒå®å šå¯æ©å±ã"
ðïž äºãæŽäœæ¶æïŒåå±åŸ®æå¡è®Ÿè®¡
âââââââââââââââââââââââââââââââââââââââââââ
â Nginx (Port 2026) â
â ç»äžåå代çå
¥å£ â
âââââââââ¬âââââââââââââââââââ¬âââââââââââââââ
â â
⌠âŒ
âââââââââââââââââââ ââââââââââââââââââââââââ
â LangGraph Serverâ â Gateway API â
â (Port 2024) â â (Port 8001) â
â â â â
â âââââââââââââ â â Models / MCP / â
â âLead Agent â â â Skills / Memory â
â âMiddleware â â â Uploads / Artifacts â
â â Chain â â ââââââââââââââââââââââââ
â â (18å±) â â
â âââââââââââââ â
âââââââââââââââââââ
â
âŒ
âââââââââââââââââââ
â Frontend â
â (Next.js 3000) â
âââââââââââââââââââ
䞀ç§è¿è¡æš¡åŒïŒ
| æš¡åŒ | è¿çšæ° | ç¹ç¹ | éçšåºæ¯ |
|---|---|---|---|
| Standard | 4 | Gateway + LangGraph å犻 | ç产ç¯å¢ïŒéèŠ LangGraph Platform |
| Gateway | 3 | Gateway åµå ¥ Agent è¿è¡æ¶ | èµæºææïŒå¯åšæŽå¿« |
ð§ äžãæ žå¿ææ¯æ¶ææè§£
1. Agent ç³»ç»ïŒ18å±äžéŽä»¶æµæ°Žçº¿
DeerFlow ç Lead Agent éçšäºäž¥æ ŒçäžéŽä»¶éŸåŒæ¶æïŒå ± 18 䞪äžéŽä»¶æåºæ§è¡ïŒ
# äžéŽä»¶æ§è¡é¡ºåºïŒå
³é®éšåïŒ
1. ThreadDataMiddleware # å建线çšé犻ç®åœ
2. UploadsMiddleware # 泚å
¥äžäŒ æä»¶
3. SandboxMiddleware # è·åæ²ç®±ç¯å¢
4. DanglingToolCallMiddleware # å€çäžæå·¥å
·è°çš
5. LLMErrorHandlingMiddleware # é误è§èå
6. GuardrailMiddleware # å®å
šçç¥æ£æ¥
7. SandboxAuditMiddleware # æ²ç®±å®¡è®¡æ¥å¿
8. ToolErrorHandlingMiddleware # å·¥å
·é误æ¢å€
9. SummarizationMiddleware # äžäžææèŠ
10. TodoListMiddleware # ä»»å¡è¿œèžªïŒPlan ModeïŒ
11. TokenUsageMiddleware # Token çšéè®°åœ
12. TitleMiddleware # èªåšçææ é¢
13. MemoryMiddleware # è®°å¿æåéå
14. ViewImageMiddleware # åŸå泚å
¥ïŒå€æš¡æïŒ
15. DeferredToolFilterMiddleware # å»¶è¿å·¥å
·è¿æ»€
16. SubagentLimitMiddleware # å Agent å¹¶åéå¶
17. LoopDetectionMiddleware # åŸªç¯æ£æµ
18. ClarificationMiddleware # æŸæž
è¯·æ±æŠæª
讟计å²åŠïŒæ¯äžªäžéŽä»¶åªå€çäžäžªæšªåå
³æ³šç¹ïŒéè¿ before/after é©åå®ç° AOP åŒçŒçšã
2. æ²ç®±ç³»ç»ïŒäžå±éçŠ»æ¶æ
âââââââââââââââââââââââââââââââââââââââââââ
â Agent View (Virtual Paths) â
â /mnt/user-data/workspace â
â /mnt/user-data/uploads â
â /mnt/user-data/outputs â
â /mnt/skills â
âââââââââââââââââââ¬ââââââââââââââââââââââââ
â è·¯åŸæ å°
âŒ
âââââââââââââââââââââââââââââââââââââââââââ
â Sandbox Provider â
â ââ LocalSandboxProvider â
â ââ AioSandboxProvider (Docker/K8s) â
âââââââââââââââââââ¬ââââââââââââââââââââââââ
â ç©çååš
âŒ
âââââââââââââââââââââââââââââââââââââââââââ
â Host Filesystem â
â backend/.deer-flow/threads/{id}/ â
âââââââââââââââââââââââââââââââââââââââââââ
å®å šè®Ÿè®¡ïŒ
- èæè·¯åŸç³»ç»é犻 Agent äžå®¿äž»
str_replaceæäœæ(sandbox_id, path)åºååïŒé¿å å¹¶åå²çª- æ¯æ Docker/Kubernetes 容åšåæ²ç®±
3. è®°å¿ç³»ç»ïŒLLM 驱åšçé¿æè®°å¿
æ°æ®ç»æïŒååšäº memory.jsonïŒïŒ
{
"userContext": {
"workContext": "...",
"personalContext": "...",
"topOfMind": "1-3å¥è¯æèŠ"
},
"history": {
"recentMonths": [],
"earlierContext": [],
"longTermBackground": []
},
"facts": [
{
"id": "uuid",
"content": "çšæ·å奜...",
"category": "preference/knowledge/context/behavior/goal",
"confidence": 0.85,
"createdAt": "2026-01-01T00:00:00Z",
"source": "conversation"
}
]
}
å·¥äœæµçšïŒ
MemoryMiddlewareè¿æ»€æ¶æ¯ïŒçšæ·èŸå ¥ + AI åå€ïŒ- 鲿éåïŒé»è®€ 30sïŒæ¹éå€ç
- åå°çº¿çšè°çš LLM æåäºå®
- åååå ¥ïŒäžŽæ¶æä»¶ + renameïŒ
- äžæ¬¡å¯¹è¯æ³šå ¥ Top 15 äºå®
4. å Agent ç³»ç»ïŒå¹¶åä»»å¡åè§£
å¹¶åæš¡åïŒ
- åçº¿çšæ± 讟计ïŒè°åºŠæ± ïŒ3 workersïŒ+ æ§è¡æ± ïŒ3 workersïŒ
- æå€§å¹¶åïŒ3 䞪å Agent
- è¶ æ¶ïŒ15 åé
æ§è¡æµçšïŒ
Lead Agent è°çš task() å·¥å
·
â
SubagentExecutor è°åºŠ
â
åå°çº¿çšæ§è¡å Agent
â
5ç§èœ®è¯¢ + SSE äºä»¶æµ
â
è¿åç»æåç»æ
å 眮 Agent ç±»åïŒ
general-purpose: å šå·¥å ·éïŒé€ taskïŒbash: åœä»€è¡äžå®¶ïŒä» åšå¯çš shell æ¶å¯çšïŒ
5. å·¥å ·ç³»ç»ïŒåå±å·¥å ·çæ
âââââââââââââââââââââââââââââââââââââââââââ
â Config-defined Tools â
â (config.yaml äžé
眮) â
âââââââââââââââââââââââââââââââââââââââââââ€
â MCP Tools â
â (Model Context Protocol æå¡åš) â
âââââââââââââââââââââââââââââââââââââââââââ€
â Built-in Tools â
â present_files / ask_clarification â
â view_image / task (åAgent) â
âââââââââââââââââââââââââââââââââââââââââââ€
â Community Tools â
â Tavily / Jina AI / Firecrawl â
â DuckDuckGo / AioSandbox â
âââââââââââââââââââââââââââââââââââââââââââ
MCP éæäº®ç¹ïŒ
- æ¯æ stdio / SSE / HTTP äžç§äŒ èŸ
- OAuth èªåšå·æ°ïŒclient_credentials / refresh_tokenïŒ
- æå 蜜 + mtime çŒå倱æ
ð§ åãææ¯æ éåè§£æ
| å±çº§ | ææ¯ | éåçç± |
|---|---|---|
| Agent æ¡æ¶ | LangGraph 1.0.6+ | ç¶ææºé©±åšçå€ Agent çŒæ |
| LLM æœè±¡ | LangChain 1.2.3+ | ç»äžçå·¥å ·è°çšæ¥å£ |
| API å± | FastAPI 0.115+ | 髿§èœåŒæ¥ Python æ¡æ¶ |
| å端 | Next.js + Node.js 22+ | SSR + API è·¯ç± |
| å 管ç | uv (Python) / pnpm (Node) | æéäŸèµå®è£ |
| æ²ç®± | agent-sandbox / Docker | å®å šä»£ç æ§è¡ |
| ææ¡£èœ¬æ¢ | markitdown | PDF/PPT/Excel â Markdown |
ð äºãéšçœ²æ¶æå»ºè®®
èµæºé 眮ç©éµïŒ
| åºæ¯ | èµ·æ¥é 眮 | æšèé 眮 | 倿³š |
|---|---|---|---|
| æ¬å°åŒå | 4 vCPU / 8 GB | 8 vCPU / 16 GB | 2vCPU/4GB éåžžäžè¶³ |
| Docker åŒå | 4 vCPU / 8 GB / 25GB SSD | 8 vCPU / 16 GB | éåæå»ºéèŠé¢å€ç©ºéŽ |
| ç产æå¡åš | 8 vCPU / 16 GB / 40GB SSD | 16 vCPU / 32 GB | å€ Agent å¹¶ååºæ¯ |
çœç»ææïŒ
âââââââââââââââ âââââââââââââââ âââââââââââââââââââ
â Client ââââââ¶â Nginx ââââââ¶â Frontend â
âââââââââââââââ â (Port 2026)â âââââââââââââââââââ
ââââââââââââââ†âââââââââââââââââââ
â /api/langgraphâââââ¶â LangGraph â
â /api/* âââââ¶â Gateway API â
âââââââââââââââ âââââââââââââââââââ
ð¡ å ãæ¶æè®Ÿè®¡äº®ç¹
1. Harness / App å屿¶æ
âââââââââââââââââââââââââââââââââââââââââââ
â App Layer (app.*) â
â Gateway API / IM Channels â
â (FastAPI / Feishu / Slack / TG) â
âââââââââââââââââââââââââââââââââââââââââââ€
â Harness Layer (deerflow.*) â
â Agent / Sandbox / Tools / MCP â
â (å¯ç¬ç«ååžäžº deerflow-harness å
) â
âââââââââââââââââââââââââââââââââââââââââââ
å ³é®çºŠæïŒApp å¯ä»¥å¯Œå ¥ deerflowïŒäœ deerflow ç»äžèœå¯Œå ¥ appïŒCI åŒºå¶æ£æ¥ïŒ
2. é 眮çé蜜
config.yaml ä¿®æ¹åæ éé坿å¡ïŒéè¿ mtime æ£æµèªåšé蜜ïŒ
get_app_config() # çŒå + èªåšå€±æ
3. åµå ¥åŒå®¢æ·ç«¯
æ éå¯åš HTTP æå¡ïŒçŽæ¥åµå ¥ Python 代ç ïŒ
from deerflow.client import DeerFlowClient
client = DeerFlowClient()
response = client.chat("åæè¿ç¯è®ºæ", thread_id="my-thread")
4. Gateway äžèŽæ§æµè¯
TestGatewayConformance ç¡®ä¿åµå
¥åŒå®¢æ·ç«¯äž HTTP API è¿åæ ŒåŒå®å
šäžèŽïŒPydantic æš¡åååéªè¯ã
ð äžãäžå类项ç®å¯¹æ¯
| ç¹æ§ | DeerFlow 2.0 | AutoGPT | LangGraph Studio | Dify |
|---|---|---|---|---|
| å Agent çŒæ | â å 眮并å | â éèªè¡å®ç° | â å¯è§å | â å·¥äœæµ |
| æ²ç®±æ§è¡ | â 倿š¡åŒæ¯æ | â æé | â | â |
| é¿æè®°å¿ | â LLM é©±åš | â ïž åéååš | â | â ç®å |
| MCP æ¯æ | â å®æŽ OAuth | â | â | â ïž éšå |
| IM éæ | â 5 å€§å¹³å° | â | â | â éšå |
| æèœç³»ç» | â Markdown å®ä¹ | â | â | â ïž Prompt 管ç |
ð¯ å «ãéçšåºæ¯
- 深床ç ç©¶ïŒå€æºä¿¡æ¯èåãæ¥åçæãçœé¡µèœ¬ PPT/å¹»ç¯ç
- æ°æ®åæïŒæ²ç®±å æ§è¡ Python/R 代ç ãçæå¯è§å
- å 容çäº§ïŒæç« æ°åãè§é¢èæ¬ã倿š¡æå 容çæ
- èªåšåå·¥äœæµïŒå®æ¶ä»»å¡ãé®ä»¶å€çãIM æºåšäºº
- äŒäžç¥è¯åºïŒé¿æè®°å¿ + ææ¡£äžäŒ + ç»æåé®ç
ð ä¹ãå®å šèŠç€º
â ïž éèŠïŒDeerFlow é»è®€è®Ÿè®¡çšäºæ¬å°å¯ä¿¡ç¯å¢ïŒ127.0.0.1ïŒïŒå ·å€ç³»ç»åœä»€æ§è¡ãæä»¶è¯»åãäžå¡é»èŸè°çšç髿éèœåã
ç产éšçœ²å¿ é¡»ïŒ
- IP çœååïŒiptables / ACLïŒ
- åå代ç + 区讀è¯
- VLAN çœç»é犻
- çŠçš
LocalSandboxProviderç bash æ§è¡ïŒæ¹çš Docker æ²ç®±ïŒ
ð æ»ç»
DeerFlow 2.0 代衚äºåœååŒæº Agent æ¡æ¶çå·¥çšåå· å³°ïŒ
- â æ¶ææž æ°ïŒ18 å±äžéŽä»¶ãHarness/App åå±ãé 眮驱åš
- â ç产就绪ïŒå€æš¡åŒéšçœ²ãçé蜜ã宿Žçæ§ïŒLangSmith/LangfuseïŒ
- â çæåŒæŸïŒMCP åè®®ãSkills æ©å±ãå€ IM éæ
- â å®å šå¯æ§ïŒå€çº§æ²ç®±ãGuardrail äžéŽä»¶ã审计æ¥å¿
GitHub: github.com/bytedance/dâŠ
å®çœ: deerflow.tech
License: MIT
æ¬æåºäº DeerFlow 2.0 æºç å宿¹ææ¡£æ·±åºŠè§£æïŒåŠæéæŒæ¬¢è¿ææ£ã