DeerFlow 接入 OpenViking:通过 MCP Server 打通 Agent 记忆与知识检索

发布时间:2026/9/10 14:59:53
DeerFlow 接入 OpenViking:通过 MCP Server 打通 Agent 记忆与知识检索 DeerFlow 接入 OpenViking通过 MCP Server 打通 Agent 记忆与知识检索【免费下载链接】OpenVikingSelf-evolving Context Database for AI Agents. Unify Agent Memory, Knowledge RAG and Skills.项目地址: https://gitcode.com/GitHub_Trending/op/OpenVikingOpenViking 为 AI Agent 提供统一的长效记忆与知识库能力而 DeerFlow 这类深度智能体框架则需要在任务执行过程中随时检索和读取这些记忆。本文以 docs/images/agents/zh/deerflow-mcp.md 为主线完整讲解如何在 DeerFlow 中通过 MCPModel Context Protocol接入 OpenViking从.env鉴权配置、extensions_config.json的 MCP Server 声明到重启验证与故障排查并结合仓库源码说明/mcp端点背后提供的工具能力与鉴权机制。读完本文你将掌握一条零插件、纯标准协议的 DeerFlow ↔ OpenViking 接入路径并理解 MCP 工具与 MemoryManager 自动召回两种接入方式的本质区别。DeerFlow 为什么需要 MCP 接入 OpenVikingDeerFlow 是一个由多智能体组成的深度推理框架任务执行过程中需要的事实往往散落在长期记忆与已入库的知识资源中。OpenViking 的核心价值正是打通这一层知识检索能力把 Agent 的记忆会话、消息和知识资源、文档统一管理起来并通过检索接口按需取用。在 DeerFlow 中接入 OpenViking 有两条主线路径MCP Server 接入本文主题DeerFlow 通过标准 MCP 协议把 OpenViking 的工具加载为自身可调用的工具集Agent 在推理时按需调用find、search、read、remember等工具主动搜索、读取和使用 OpenViking 中的记忆与知识MemoryManager 接入见 deerflow-memory-manager.md把 OpenViking 配置为 DeerFlow 的长期记忆后端manager_class: openviking实现写入与模型调用前的自动记忆召回。两者定位不同MCP 工具由模型按需调用是主动搜索MemoryManager 是自动召回会在每次模型调用前自动注入记忆。本文聚焦前者。步骤 1配置 OpenViking 鉴权信息在 DeerFlow 项目根目录下编辑.env文件把 API Key 填进去OPENVIKING_API_KEYyour-openviking-api-key如果 OpenViking 服务不在默认地址还需要一并配置 Base URL下文 MCP 配置中的{{OPENVIKING_BASE_URL}}即对应此变量OPENVIKING_BASE_URLhttp://localhost:1933鉴权前提OpenViking 的 MCP 端点与 REST API 复用同一套 API-Key 认证系统详见 MCP 集成指南。服务端在ov.conf中配置了root_api_key时客户端必须携带有效 Key 才能访问本地开发模式未配置root_api_key下无需认证。鉴权模式是自动检测的配置了root_api_key则进入api_key模式否则进入dev模式见 config.py 的get_effective_auth_mode实现。步骤 2创建 MCP 配置文件DeerFlow 通过项目根目录下的extensions_config.json声明可加载的 MCP Server。复制示例文件cp extensions_config.example.json extensions_config.json这一步只是为了得到一个可编辑的起点实际生效的是extensions_config.json中的mcpServers段。步骤 3配置 OpenViking MCP Server打开项目根目录下的extensions_config.json在mcpServers中添加 OpenViking 配置{ mcpServers: { openviking: { enabled: true, type: http, url: {{OPENVIKING_BASE_URL}}/mcp, headers: { X-API-Key: $OPENVIKING_API_KEY } } } }各字段说明字段取值说明enabledtrue必须显式开启否则 DeerFlow 不会加载该 ServertypehttpMCP 传输类型。OpenViking 提供的是 streamable HTTP 端点必须使用httpurl{{OPENVIKING_BASE_URL}}/mcpMCP 端点地址。默认本地服务为http://localhost:1933/mcpheaders.X-API-Key$OPENVIKING_API_KEY引用.env中配置的 Key。服务端同时接受Authorization: Bearer key形式X-API-Key头部是 OpenViking 服务端官方支持的两种鉴权 Header 之一由服务端在请求上下文中显式解析见 auth/init.py 中x_api_key_ctx Header(None, aliasX-API-Key)的声明另一种是标准的Authorization: Bearer。二者与 REST API 完全一致详见 MCP 集成指南 的鉴权章节。步骤 4重启 DeerFlow保存.env和extensions_config.json后重新启动 DeerFlowmake devMCP 配置只在 DeerFlow Gateway 启动时加载因此任何配置变更都必须重启才生效。若不方便重启可尝试调用 DeerFlow 的/api/mcp/cache/reset接口刷新 MCP 配置缓存见下方故障排查表。OpenViking MCP 端点为 DeerFlow 提供哪些工具接入后DeerFlow Agent 获得的并非空壳连接而是 OpenViking 服务端通过 mcp_endpoint.py 中mcp.tool()注册的完整工具集该文件顶部注释明确指出这些注册就是权威工具清单。从源码结构看至少包括以下几类检索类find与search支持query、target_uri、limit等参数并可选择读取命中内容read_content是 DeerFlow 打通知识检索的核心入口文件系统类read、ls、tree、grep、glob用于浏览和读取 OpenViking 资源库中的文档内容记忆类remember、write、edit支持把消息写入记忆与编辑既有内容资源管理类add_resource用于把新资源摄入 OpenVikinglist_watches、cancel_watch管理 watch 订阅forget删除资源健康检查health可用于验证 DeerFlow ↔ OpenViking 连通性。这意味着 DeerFlow Agent 在任务中既能搜find/search也能读read/ls/tree还能写remember/write从而把 OpenViking 作为任务执行期的实时知识后端。故障排查现象原因修复DeerFlow 启动后未加载 OpenViking MCP Serverextensions_config.json未配置、配置格式错误或enabled未设置为true检查mcpServers.openviking配置并确认 JSON 格式正确OpenViking MCP 工具未出现在 Agent 可用工具中MCP 配置未生效或服务未重启保存配置后重启 DeerFlow或刷新 MCP 配置缓存调用 OpenViking MCP 工具失败返回 401 或 403API Key 缺失、错误或无权限检查.env中的OPENVIKING_API_KEY是否正确并确认 Header 使用X-API-KeyMCP Server 连接失败url配置错误或 DeerFlow Gateway 无法访问 OpenViking MCP Server检查 OpenViking MCP Server 地址、网络连通性和 Docker 网络配置修改.env后仍然使用旧鉴权信息环境变量未重新加载或 MCP 配置缓存未刷新重启 DeerFlow或调用/api/mcp/cache/reset刷新缓存Agent 没有主动调用 OpenViking 工具MCP 工具由模型按需调用不是自动记忆后端在提示词中明确要求使用 OpenViking 工具或改用 MemoryManager 接入 实现自动召回其中最后一条最容易误解MCP 工具是按需调用的模型不主动用就不会触发检索。如果目标是每次对话前自动注入记忆应当选择 MemoryManager 接入方案memory.manager_class: openviking、mode: middleware它会通过injection_enabled在模型调用前自动执行记忆召回并注入上下文。从 MCP 到自动召回两条接入路径如何选一句话总结两种方式的适用场景需要 Agent 主动探索知识库如查询资源、读取文档、按需写记忆→ 用本文的 MCP Server 接入配合提示词引导模型调用工具需要无感、自动的长期记忆对话自动落库、模型调用前自动注入召回结果→ 用 MemoryManager 接入将manager_class切换为openviking。两者可以理解为互补关系MCP 解决会搜MemoryManager 解决记得住、用得上。DeerFlow 项目中甚至可以两者并用——以 MemoryManager 保证记忆的自动写入与召回以 MCP 工具补足任务执行中对具体文档的深度检索。更多 Agent 运行时接入方式可参考 Agent 集成概览 与 MCP 客户端。【免费下载链接】OpenVikingSelf-evolving Context Database for AI Agents. Unify Agent Memory, Knowledge RAG and Skills.项目地址: https://gitcode.com/GitHub_Trending/op/OpenViking创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考