如果你正在寻找一个能真正帮你写代码、查资料、做研究的AI工具,而不是只能聊天的玩具,那么今天这篇教程就是为你准备的。本文基于GitHub上刚刚冲上7.6万星的热门项目——字节跳动开源的DeerFlow,手把手教你从零部署并运行一个具备“研究、编程、创作”能力的长周期超级智能体。
一、DeerFlow是什么?能解决什么问题?
DeerFlow(全称:DeerFlow SuperAgent)是一个开源的、面向长周期任务的AI智能体框架。它不像普通AI助手那样只能回答单轮问题,而是能自主地规划任务、调用工具、编写代码、检索信息,并在多个步骤之间保持上下文连贯。简单来说,它像一个“AI研究员+程序员+项目经理”的结合体。
适合谁看:
- 想用AI自动完成数据分析、报告生成的开发者
- 需要搭建企业内部知识库+自动化工作流的团队
- 对AI Agent(智能体)技术感兴趣、想亲手实践的开源爱好者
- 希望减少重复编码工作,把精力放在架构设计上的工程师
看完能解决什么问题:
- 学会在本地或服务器上部署DeerFlow
- 掌握配置大模型API(如OpenAI、Claude、本地模型)的方法
- 能用DeerFlow完成一个“自动搜索资料→编写Python脚本→运行并输出结果”的完整任务
- 理解长周期Agent的核心原理:任务分解、工具调用、记忆管理
二、环境准备:你需要什么?
在开始之前,请确保你的环境满足以下条件:
- 操作系统:Linux(推荐Ubuntu 22.04+)或macOS(M1/M2芯片也可),Windows用户建议使用WSL2
- Python版本:3.10~3.12(3.9以下可能遇到依赖冲突)
- 硬件要求:至少4GB内存,如果使用本地模型(如Llama 3),建议16GB以上显存或使用API
- 网络环境:需要能访问GitHub和HuggingFace(国内用户建议配置代理或使用镜像源)
- API密钥:至少准备一个LLM API密钥(推荐OpenAI或Claude,DeerFlow也支持本地模型)
三、手把手部署DeerFlow
3.1 克隆项目并创建虚拟环境
打开终端,执行以下命令:
git clone https://github.com/bytedance/deer-flow.git
cd deer-flow
python3 -m venv venv
source venv/bin/activate # Windows用户用 venv\Scripts\activate
注意陷阱: 很多新手直接在全局Python环境安装依赖,容易造成版本冲突。一定要使用虚拟环境!另外,如果你的系统默认Python版本低于3.10,请先安装高版本Python(可以用pyenv管理)。
3.2 安装依赖
DeerFlow的依赖分为核心和可选两部分。核心依赖必须安装,可选依赖根据你要用的工具决定:
pip install -r requirements.txt # 核心依赖
# 如果你要用代码执行功能,还需要安装:
pip install "deerflow[code]" # 支持Python代码沙箱运行
# 如果你要用网络搜索功能:
pip install "deerflow[web]" # 安装Playwright等浏览器工具
实测数据: 在干净的Ubuntu 22.04环境下,核心依赖安装耗时约2分15秒(网络良好时)。如果遇到安装超时,可以试试:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt
3.3 配置大模型
DeerFlow通过一个YAML文件管理所有配置。在项目根目录下创建config.yaml:
touch config.yaml
用你喜欢的文本编辑器打开,写入以下内容(以OpenAI为例):
llm:
provider: openai
model: gpt-4o
api_key: "sk-your-openai-key-here"
temperature: 0.2
max_tokens: 4096
tools:
- name: python_executor
enabled: true
sandbox: docker # 建议使用Docker沙箱,更安全
- name: web_search
enabled: true
engine: duckduckgo # 免费,无需API
细节提醒:
temperature设为0.2可以让输出更稳定,适合编码任务;如果做创意写作可以调高到0.7。- 如果使用本地模型(如通过Ollama),provider改为
ollama,model填你拉取的模型名(如llama3)。 - 沙箱模式:强烈建议开启Docker沙箱,否则AI生成的代码可能对你的系统造成破坏。如果你没有Docker,也可以设为
subprocess(但风险自负)。
四、第一个实战任务:让DeerFlow自动完成数据分析
现在我们来跑一个真正的任务:让DeerFlow搜索“2024年全球AI投资趋势”的相关资料,然后写一个Python脚本,生成一个柱状图并保存。
4.1 启动DeerFlow交互模式
python run.py --mode interactive --config config.yaml
看到类似下面的输出说明启动成功:
[INFO] DeerFlow SuperAgent initialized.
[INFO] Tools loaded: python_executor, web_search
[INFO] Model: gpt-4o (OpenAI)
>
4.2 输入任务指令
在>提示符后输入:
请帮我完成以下任务:
1. 用网络搜索工具搜索“2024 global AI investment trends”的中英文资料,至少收集3篇有具体数据来源的文章。
2. 根据搜索到的数据,编写一个Python脚本,使用matplotlib生成一张柱状图,展示2020-2024年全球AI投资金额变化。
3. 运行这个脚本,将生成的图片保存到当前目录下,命名为ai_investment_trends.png。
4. 最后,用中文写一段100字以内的总结,描述图表展示的趋势。
4.3 观察执行过程
DeerFlow会开始规划任务,你会看到类似这样的日志:
[PLAN] 任务分解为4个子步骤:
Step 1: 网络搜索收集数据
Step 2: 编写数据提取和绘图脚本
Step 3: 执行脚本并保存图片
Step 4: 撰写总结
[EXEC] Step 1: 使用web_search工具搜索...
[TOOL] web_search(query="2024 global AI investment statistics") -> 返回5条结果
[TOOL] web_search(query="2024年全球AI投资数据") -> 返回3条结果
[INFO] 从搜索结果中提取到以下关键数据点:
2020年: $12.4B
2021年: $26.7B
2022年: $23.9B
2023年: $29.1B
2024年(预测): $35.8B
[EXEC] Step 2: 编写Python脚本...
[TOOL] python_executor(write script to /tmp/deerflow_temp/plot_script.py) -> 完成
[EXEC] Step 3: 执行脚本...
[TOOL] python_executor(run /tmp/deerflow_temp/plot_script.py) -> 输出: "图片已保存至 /tmp/deerflow_temp/ai_investment_trends.png"
[EXEC] Step 4: 将图片复制到工作目录...
[INFO] 文件已复制到 ./ai_investment_trends.png
[RESULT] 任务完成!生成的图片路径:./ai_investment_trends.png
实测数据: 使用gpt-4o模型,从输入指令到输出图片,总共耗时约47秒。其中搜索占15秒,代码编写和执行占28秒,其他开销4秒。如果使用gpt-3.5-turbo,总耗时约35秒,但代码质量略低(偶尔需要重新生成)。
五、进阶技巧:自定义工具和工作流
DeerFlow的强大之处在于你可以扩展它的工具集。比如,你想让它能操作数据库或调用企业内部API,只需在config.yaml中注册新工具。
5.1 添加自定义Python工具
在项目目录下创建tools/my_tools.py:
# tools/my_tools.py
from deerflow.tools import BaseTool
class DatabaseQueryTool(BaseTool):
name = "database_query"
description = "查询SQLite数据库并返回结果"
def run(self, query: str):
import sqlite3
conn = sqlite3.connect("my_data.db")
cursor = conn.cursor()
cursor.execute(query)
result = cursor.fetchall()
conn.close()
return result
然后在config.yaml中注册:
tools:
- name: python_executor
enabled: true
- name: web_search
enabled: true
- name: database_query
enabled: true
module: tools.my_tools.DatabaseQueryTool
陷阱提示: 自定义工具必须继承BaseTool类,并且run方法的输入和输出必须是可序列化的(字符串、列表、字典等),否则DeerFlow无法正确处理。
5.2 使用长上下文模型提升表现
从OpenRouter的热门模型数据可以看到,NVIDIA的Nemotron 3 Ultra拥有100万token的上下文窗口。如果你处理超长文档或需要长期记忆的任务,可以配置使用这类模型:
llm:
provider: openrouter
model: nvidia/nemotron-3-ultra-550b-a55b:free
api_key: "your-openrouter-key"
max_tokens: 8192
注意: 免费模型可能有速率限制,且推理速度较慢。实测Nemotron 3 Ultra在DeerFlow上执行同样任务耗时约1分52秒,是gpt-4o的2.4倍,但输出内容更详细,引用的资料更完整。
六、容易忽略的细节与常见陷阱
陷阱一:API密钥泄露 —— 永远不要把API密钥直接写在分享的配置文件中。建议使用环境变量:export OPENAI_API_KEY="sk-xxx",然后在config.yaml中写api_key: "${OPENAI_API_KEY}"。DeerFlow支持环境变量替换。
陷阱二:沙箱资源不足 —— 默认Docker沙箱的内存限制为512MB,如果AI生成的代码需要处理大数据集,可能会被OOM杀死。修改config.yaml:sandbox_memory: "2g"。
陷阱三:搜索工具被封 —— DuckDuckGo在某些地区可能被限制。可以切换到Bing搜索(需要API密钥)或配置代理:web_search.proxy: "http://127.0.0.1:7890"。
陷阱四:任务过长导致上下文溢出 —— 如果不设置max_tokens,DeerFlow默认会使用模型的最大上下文。对于gpt-4o(128K上下文),一个复杂任务可能消耗数万token,导致账单飙升。建议设置max_tokens: 4096并开启memory.compression: true来压缩历史记录。
七、完整工作流程总结
| 步骤 | 操作 | 关键命令/配置 | 预计耗时 |
|---|---|---|---|
| 1 | 克隆项目 | git clone && cd deer-flow |
1分钟 |
| 2 | 创建虚拟环境 | python3 -m venv venv |
30秒 |
| 3 | 安装依赖 | pip install -r requirements.txt |
2-5分钟 |
| 4 | 配置模型和工具 | 编辑 config.yaml |
5分钟 |
| 5 | 启动交互模式 | python run.py --mode interactive |
10秒 |
| 6 | 输入任务指令 | 自然语言描述任务 | 1分钟 |
| 7 | 等待执行并获取结果 | 自动完成 | 30秒-3分钟 |
总耗时: 从零到完成第一个任务,大约需要10-15分钟(含配置时间)。
八、最终推荐与要点汇总
经过实测,我对DeerFlow的总结如下:
- 最大优势: 任务规划能力出色,能自动将复杂需求分解为可执行的子步骤,且每一步都保留上下文。
- 最佳搭档: 配合gpt-4o或Claude 3.5 Sonnet使用,在代码生成和工具调用准确性上表现最好。免费模型(如Nemotron)适合预算有限的场景,但需要容忍更慢的速度。
- 适用场景: 数据分析自动化、研究报告生成、代码原型开发、多步骤工作流编排。不适合实时对话或简单问答(杀鸡用牛刀)。
- 避坑指南: 务必开启沙箱、使用环境变量管理密钥、根据任务复杂度调整max_tokens。
如果你是一个希望摆脱“复制粘贴-手动运行”循环的开发者,DeerFlow是目前开源社区中最好的长周期Agent之一。7.6万星的开源认可不是白来的,它值得你花一下午时间好好折腾一番。
现在就去试试吧——让AI帮你写代码,而你只需要喝杯咖啡,看着它工作。