bytedance/deer-flowView GitHub Homepage for Latest Official Releases
基於大語言模型的社群驅動深度研究框架,整合網路搜尋、爬蟲和 Python 執行等專業工具
MITPythondeer-flowbytedance 16.5k Last Updated: August 22, 2025
DeerFlow - 深度研究自動化框架
項目概述
DeerFlow(Deep Exploration and Efficient Research Flow)是由字節跳動開源的社群驅動深度研究框架。該項目建立在開源社群的傑出工作基礎之上,旨在將大語言模型與專業工具相結合,包括網路搜尋、爬蟲和Python代碼執行等功能,同時回饋開源社群。
項目地址: https://github.com/bytedance/deer-flow
核心特性
🤖 LLM集成
- 通過 litellm 支持大多數模型的集成
- 支持Qwen等開源模型
- OpenAI兼容的API接口
- 針對不同任務複雜度的多層LLM系統
🔍 搜索與檢索
- 通過Tavily、Brave Search等進行網路搜尋
- 使用Jina進行爬蟲
- 高級內容提取功能
🔗 MCP無縫集成
- 擴展私有域訪問、知識圖譜、網路瀏覽等功能
- 促進多樣化研究工具和方法論的集成
🧠 人機交互循環
- 支持使用自然語言交互式修改研究計劃
- 支持研究計劃的自動接受
📝 報告後期編輯
- 支持類似Notion的塊編輯
- 允許AI精煉,包括AI輔助潤色、句子縮短和擴展
- 基於 tiptap 構建
🎙️ 播客和演示文稿生成
- AI驅動的播客腳本生成和音訊合成
- 自動創建簡單的PowerPoint演示文稿
- 可定制的模板用於個性化內容
技術架構
DeerFlow實現了模塊化多智能體系統架構,專為自動化研究和代碼分析而設計。系統基於LangGraph構建,通過明確定義的消息傳遞系統實現靈活的基於狀態的工作流,其中組件之間進行通信。
工作流組件
系統採用簡化的工作流,包含以下組件:
協調器(Coordinator)
- 管理工作流生命週期的入口點
- 基於用戶輸入啟動研究過程
- 在適當時將任務委託給規劃器
- 充當用戶與系統之間的主要接口
規劃器(Planner)
- 任務分解和規劃的戰略組件
- 分析研究目標並創建結構化執行計劃
- 確定是否有足夠的上下文或需要更多研究
- 管理研究流程並決定何時生成最終報告
研究團隊(Research Team)
執行計劃的專業智能體集合:
- 研究員(Researcher): 使用網路搜索引擎、爬蟲甚至MCP服務等工具進行網路搜尋和信息收集
- 編碼員(Coder): 使用Python REPL工具處理代碼分析、執行和技術任務
每個智能體都可以訪問針對其角色優化的特定工具,並在LangGraph框架內運行。
報告員(Reporter)
- 研究輸出的最終階段處理器
- 匯總研究團隊的發現
- 處理和結構化收集的信息
- 生成綜合研究報告
安裝和快速開始
系統要求
- Python 3.12+
- Node.js(用於Web UI)
- 推薦使用
uv
、nvm
和pnpm
安裝步驟
# 克隆倉庫
git clone https://github.com/bytedance/deer-flow.git
cd deer-flow
# 安裝依賴,uv會處理Python解釋器和虛擬環境創建,並安裝所需包
uv sync
# 配置環境變量
cp .env.example .env
# 配置您的API密鑰:
# - Tavily: https://app.tavily.com/home
# - Brave Search: https://brave.com/search/api/
# - volcengine TTS: 如果有的話添加您的TTS憑證
# 配置LLM模型和API密鑰
cp conf.yaml.example conf.yaml
# 安裝marp用於PPT生成
brew install marp-cli
運行項目
控制台UI(最快方式)
uv run main.py
Web UI
# 首先安裝Web UI依賴
cd deer-flow/web
pnpm install
# 運行後端和前端服務器(開發模式)
# macOS/Linux
./bootstrap.sh -d
# Windows
bootstrap.bat -d
然後訪問 http://localhost:3000 體驗Web UI。
支持的搜索引擎
DeerFlow支持多種搜索引擎,可在 .env
文件中使用 SEARCH_API
變量進行配置:
- Tavily(默認): 專為AI應用設計的搜索API
- DuckDuckGo: 注重隱私的搜索引擎,無需API密鑰
- Brave Search: 具有高級功能的注重隱私的搜索引擎
- Arxiv: 專門用於學術研究的科學論文搜索
配置示例:
# 選擇一個: tavily, duckduckgo, brave_search, arxiv
SEARCH_API=tavily
文本轉語音集成
DeerFlow包含文本轉語音(TTS)功能,允許您將研究報告轉換為語音。此功能使用volcengine TTS API生成高質量音訊,支持自定義速度、音量和音調。
API調用示例
curl --location 'http://localhost:8000/api/tts' \
--header 'Content-Type: application/json' \
--data '{
"text": "這是文本轉語音功能的測試。",
"speed_ratio": 1.0,
"volume_ratio": 1.0,
"pitch_ratio": 1.0
}' \
--output speech.mp3
開發和調試
運行測試
# 運行所有測試
make test
# 運行特定測試文件
pytest tests/integration/test_workflow.py
# 運行覆蓋率測試
make coverage
# 運行代碼檢查
make lint
# 格式化代碼
make format
LangGraph Studio調試
DeerFlow使用LangGraph作為其工作流架構。您可以使用LangGraph Studio實時調試和可視化工作流。
# 安裝uv包管理器(如果沒有的話)
curl -LsSf https://astral.sh/uv/install.sh | sh
# 安裝依賴並啟動LangGraph服務器
uvx --refresh --from "langgraph-cli[inmem]" --with-editable . --python 3.12 langgraph dev --allow-blocking
啟動服務器後,您可以訪問:
- API: http://127.0.0.1:2024
- Studio UI: https://smith.langchain.com/studio/?baseUrl=http://127.0.0.1:2024
- API文檔: http://127.0.0.1:2024/docs
使用示例
命令行參數
# 運行特定查詢
uv run main.py "影響醫療保健AI採用的因素有哪些?"
# 使用自定義規劃參數運行
uv run main.py --max_plan_iterations 3 "量子計算如何影響密碼學?"
# 交互模式運行
uv run main.py --interactive
# 查看所有可用選項
uv run main.py --help
人機交互循環
DeerFlow包含人機交互機制,允許您在執行前審查、編輯和批准研究計劃:
- 計劃審查: 啟用人機交互時,系統會在執行前展示生成的研究計劃供您審查
- 提供反饋: 您可以:
- 通過回復
[ACCEPTED]
接受計劃 - 通過提供反饋編輯計劃(例如:
[EDIT PLAN] 添加更多關於技術實現的步驟
)
- 通過回復
- 自動接受: 您可以啟用自動接受來跳過審查過程
示例報告
項目包含多個示例報告,展示DeerFlow的功能:
- OpenAI Sora分析報告
- Google的智能體到智能體協議報告
- MCP(模型上下文協議)綜合分析
- 比特幣價格波動分析
- 大語言模型深度探索
- Claude深度研究最佳實踐
- 醫療保健AI採用影響因素
- 量子計算對密碼學的影響
- 克里斯蒂亞諾·羅納爾多表現亮點
致謝
DeerFlow建立在開源社群的傑出工作基礎之上,特別感謝:
- LangChain: 提供了出色的LLM交互和鏈框架
- LangGraph: 在多智能體編排方面的創新方法
這些項目體現了開源協作的變革力量,我們很榮幸能在他們的基礎上構建DeerFlow。