DeerFlow 工具集成实战:4 个配置让 AI 深度研究真正跑起来
【免费下载链接】deer-flowAn open-source long-horizon SuperAgent harness that researches, codes, and creates. With the help of sandboxes, memories, tools, skill, subagents and message gateway, it handles different levels of tasks that could take minutes to hours.项目地址: https://gitcode.com/GitHub_Trending/de/deer-flow
让 AI 做行业调研,很多人第一步就卡在"调不动搜索引擎"上:模型只会生成文字,却拿不到最新网页、查不到公司内部的资料库。DeerFlow 是一个开源的长任务 Agent 框架,能帮你做研究、写代码、产出报告,而它工具集成的意义就是——让 AI 从"会说"变成"会做"。本文带你用 4 组配置,把搜索引擎、私有知识库、MCP 扩展接口和 Python REPL 全部接起来。
信息从哪来:多搜索引擎与私有知识库的统一入口 🌐
先说你能拿到什么:一个web_search工具名,背后随便换引擎。你在配置文件里注释/取消注释某一段,AI 的检索来源就换了,上层 Agent 的提示词和调用逻辑一行都不用改。
这样做的好处是:调研初期用 DuckDuckGo 零成本起步,发现质量不够再切 Tavily;接了企业内部 RAGFlow 后,网络搜索和私有知识库可以并存,AI 按需选用。
切换方式就是在config.yaml(示例见仓库根目录的config.example.yaml)的 tools 列表里选一个web_search条目:
# config.yaml 节选:换引擎 = 换一行 use - name: web_search group: web use: deerflow.community.tavily.tools:web_search_tool max_results: 5底层原理很轻:每个引擎是一个独立的 community 工具实现(比如 brave 搜索工具、tavily 搜索工具),对外暴露统一的工具名和参数,切换时对上层完全透明。
常用搜索引擎怎么选
| 引擎 | 需要 Key | 特点 | 适合场景 |
|---|---|---|---|
| Tavily | 是(TAVILY_API_KEY) | AI 原生,支持域名过滤、原始网页内容、图片结果 | 深度调研首选 |
| Brave Search | 是(BRAVE_SEARCH_API_KEY) | 独立索引,隐私友好 | 想要中立结果源 |
| Arxiv | 否 | 学术库专用,带作者/机构元数据 | 论文综述、技术选型 |
| DuckDuckGo / SearXNG | 否 | 免费、自托管(SearXNG) | 零成本起步 |
| Serper / Exa / Firecrawl | 是 | Google 结果 API、神经搜索、抓取一体 | 按业务补齐 |
配置流程一眼看懂:
私有知识库:接入 RAGFlow 与 VikingDB
公司文档、产品手册这类"网上搜不到"的信息,靠私有知识库解决。DeerFlow 的 RAGFlow 检索工具 会把知识库查询包装成一个只读的knowledge_search工具挂给 Agent,你可以直接限制它只能访问哪些数据集,ID 永远不会泄露给模型:
| 配置项 | 说明 |
|---|---|
RAGFLOW_API_URL/base_url | RAGFlow 服务地址,必填 |
RAGFLOW_API_KEY | 鉴权密钥,必填 |
page_size、similarity_threshold | 返回条数与相似度阈值,可按噪音大小调 |
datasets | 可选白名单,只允许检索指定数据集 |
VikingDB(火山引擎知识库)是另一条路:走 AK/SK 的 HMAC-SHA256 签名认证,支持稠密检索权重、重排序、块分组等高级参数,适合已经在火山引擎生态里的团队。两者都遵循统一的资源 URI 约定rag://dataset/{id}[#{doc_id}],换引擎时引用方式不变。
给 AI 装上扩展接口:MCP 协议配置实战 🔌
前面解决的是"查信息",MCP(Model Context Protocol)解决的是"用工具"——数据库、工单系统、内部 API,只要对方提供 MCP Server,DeerFlow 就能把它的工具直接装进 Agent。
接入分四步:把仓库根目录的extensions_config.example.json复制为extensions_config.json,给目标 Server 设"enabled": true,填好连接参数,重启应用。工具会在启动时自动发现并注册。完整说明见 MCP 配置文档。
MCP 三种传输模式怎么选
| 传输模式 | 配置要点 | 典型场景 |
|---|---|---|
stdio | command+args,本地起进程 | 本地 MCP Server、npx/uvx一键拉起的工具 |
sse | url指向/sse端点 | 需要服务端实时推送事件 |
streamable_http | url指向/mcp端点 | 官方 HTTP Server,如 OpenViking |
以接入 OpenViking 这类 HTTP Server 为例,配置长这样(注意$ENV_VAR写法可以避免把密钥明文写进配置):
{ "mcpServers": { "openviking": { "enabled": true, "type": "http", "url": "http://127.0.0.1:1933/mcp", "headers": { "X-API-Key": "$OPENVIKING_API_KEY" } } } }两个实用技巧:一是给 Server 配routing关键词提示,比如让"查订单"类问题优先走 Postgres MCP 工具而不是网页搜索;二是 MCP 工具很多时,可开启tool_search延迟加载——工具名先进系统提示词,模型需要时才取完整 schema,省上下文还提高选型准确率。
让 AI 自己跑代码:Python REPL 的启用与安全边界 💻
调研做到一半发现"这个转化率得算一下",理想情况是 AI 自己写段 Python 跑完把结果贴回来,而不是让你手动去算。DeerFlow 的 Python REPL 工具就是干这个的:执行代码、捕获标准输出、自动捕获异常并返回可读的错误信息,全程带执行日志。
怎么开启:设置环境变量即可,支持true/1/yes/on等写法:
export ENABLE_PYTHON_REPL=true为什么默认禁用:REPL 意味着执行任意代码,属于高危能力。DeerFlow 的策略是"默认关,显式开"——不开时工具会直接返回禁用提示而不是静默失败,这让你能在审查配置时明确知道风险边界。生产环境建议只在可信沙箱里开启,并配合访问控制、定期审查执行内容。
典型用法:统计计算(求均值、标准差)、算法验证(跑一遍排序/过滤逻辑)、数学建模(复利、财务测算)。提示词里记得让 AI 用print(...)输出结果——打印出来的内容才是用户可见的。
快速上手:环境变量与配置文件速查 ✅
所有配置项合并成一张表,直接抄:
| 配置项 | 类型 | 说明 |
|---|---|---|
TAVILY_API_KEY | 环境变量 | Tavily 搜索密钥 |
BRAVE_SEARCH_API_KEY | 环境变量 | Brave Search 密钥 |
RAGFLOW_API_URL、RAGFLOW_API_KEY | 环境变量 | RAGFlow 地址与密钥(必填) |
RAGFLOW_RETRIEVAL_SIZE | 环境变量 | 检索返回条数,默认 10 |
VIKINGDB_KNOWLEDGE_BASE_API_URL | 环境变量 | VikingDB 服务地址(必填) |
VIKINGDB_KNOWLEDGE_BASE_API_AK/_API_SK | 环境变量 | VikingDB 签名密钥对(必填) |
VIKINGDB_KNOWLEDGE_BASE_RETRIEVAL_SIZE | 环境变量 | 检索数量,默认 15 |
ENABLE_PYTHON_REPL | 环境变量 | 设为 true/1/yes/on 启用 REPL |
ENABLE_MCP_SERVER_CONFIGURATION | 环境变量 | 显式启用 MCP 配置加载 |
config.yaml→tools | 配置文件 | 选择web_search引擎与knowledge_search参数 |
extensions_config.json | 配置文件 | MCP Server 列表(从 example 复制而来) |
组合示例:
# 一套"调研全家桶" export TAVILY_API_KEY="tvly-xxx" export RAGFLOW_API_URL="http://localhost:9380" export RAGFLOW_API_KEY="ragflow-xxx" export ENABLE_PYTHON_REPL=true cp extensions_config.example.json extensions_config.json配置文件的位置:config.yaml(对照 config.example.yaml 填写)和根目录的extensions_config.json(MCP 专用)。改完统一重启 DeerFlow 生效;MCP 密钥只改了环境变量的话,还要重启或调用POST /api/mcp/cache/reset刷新工具缓存。
收尾
这套组合能支撑的场景很具体:接上 Tavily + RAGFlow,AI 能同时查全网和查公司知识库做竞品分析;挂一个 Postgres 的 MCP Server,它就能直接查订单数据;再打开 Python REPL,统计计算自己跑完。四个配置都指向同一件事——让 AI 的每一次回答都有真实信息兜底。
【免费下载链接】deer-flowAn open-source long-horizon SuperAgent harness that researches, codes, and creates. With the help of sandboxes, memories, tools, skill, subagents and message gateway, it handles different levels of tasks that could take minutes to hours.项目地址: https://gitcode.com/GitHub_Trending/de/deer-flow
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考