
让多个 AI 工具访问同一套 OpenViking 记忆,关键是把客户端连接到同一个服务,再用正确的用户身份授权。下面以自建 OpenViking 服务为例,分别介绍 Codex 和 WorkBuddy 的接入方式。
开始前,先准备好三个东西
- 一个已经运行并能通过 HTTPS 访问的 OpenViking 服务。服务地址示例为
https://ov.example.com;下文所有示例地址都要替换成你自己的地址。 - 一个已注册的 OpenViking 用户及其用户 API Key。日常连接使用用户或账户管理员密钥,不要把系统 Root 管理密钥交给客户端。它也不是火山方舟的模型 API Key。
- 确认 OpenViking 服务所用的向量模型和理解模型已配置,
/health与/ready正常。服务能打开与实际检索可用是两回事。
Studio 的入口通常是 https://你的域名/studio,供人管理和查看;MCP 的入口通常是 https://你的域名/mcp,供 AI 客户端连接。两者用途不同。
先理解两种授权方式
API Key 方式:在客户端安全地配置已注册用户的密钥,客户端发起请求时携带凭据。不要将真实密钥写入公开文章、截图或共享配置文件。
OAuth 浏览器授权:客户端发起连接后,跳转到 OpenViking Studio,由已经登录的用户核对客户端和权限并授权;支持跨设备时,客户端会显示六位授权码。六位码不是自己编的,也不是 API Key。只有确认是自己发起的连接才同意。
自建服务要启用 OAuth,需先有 HTTPS、已注册用户和用户密钥,再在现有 ov.conf 中合并以下配置并重启服务:
"oauth": { "enabled": true }
这是配置片段,不能把原有模型、存储和认证配置覆盖掉。公网部署还需正确设置 OPENVIKING_PUBLIC_BASE_URL;服务管理员应先备份配置并核对代理与证书。是否已启用,以服务的 OAuth 发现端点和实际授权结果为准。详见 OpenViking OAuth 官方指南。
Codex:先接入 MCP,再完成身份授权
在终端将自己的 MCP 地址添加到 Codex:
codex mcp add openviking --url https://ov.example.com/mcp
codex mcp list
如果服务启用了 OAuth,运行:
codex mcp login openviking
按照终端或浏览器提示打开授权页,在 Studio 登录自己的 OpenViking 用户,核对客户端信息后点击授权。如果页面引导使用跨设备授权,就将发起连接的客户端显示的六位码输入 Studio。客户端是否支持该流程,以实际提示为准。
如果服务只使用 API Key,而没有开启 OAuth,可以用 Codex 的 --bearer-token-env-var 指定一个承载用户密钥的环境变量名称;具体配置与密钥注入应遵循当前客户端的安全方式。注意:从终端启动的进程与桌面应用可能不共享环境变量,配置后要在对应的实际运行环境测试,不把密钥直接写进命令历史。
添加后在 Codex 发起一个简单请求,例如:“使用 OpenViking 查看我有权限访问的资源目录。”能发现工具并返回实际结果,才说明连接和授权通过;codex mcp list 显示已配置不等于实际访问成功。
如果希望 Codex 在对话中自动召回和沉淀跨会话记忆,仅添加 MCP 还不够。OpenViking 官方另有 Codex 记忆插件和 hooks,需按官方安装说明配置,审阅并启用对应 hooks 后,再用新会话验证。直接 MCP 连接与自动记忆插件是两种能力,前者不会自动保证后者生效。

WorkBuddy:从自定义连接器添加
本文截图来自 WorkBuddy 5.9.2,不同版本名称与布局可能有差别。
- 打开 WorkBuddy,在左侧点击「专家·技能·连接器」。
- 进入顶部「连接器」,选择「自定义连接器」,打开 MCP 服务管理,点击「添加 MCP」。
- 服务地址填写
https://你的域名/mcp,传输方式按界面提供的选项选择 Streamable HTTP。 - 如果服务提供 OAuth 并且当前客户端支持,按界面提示发起连接,在浏览器的 OpenViking Studio 中核对身份和权限后授权;如果服务采用 API Key,则按客户端提供的安全方式填写用户 Key。不同版本界面及授权方式可能不同,以实际提示为准。
- 返回 MCP 服务管理,开启 OpenViking;确认状态显示正常,并展开工具列表。

截图中的绿色状态和“20/20 个工具已启用”表示该 WorkBuddy 安装展示了这些工具;不同版本、插件或服务器所提供的工具数量可能不同,不能把 20 个当成所有部署的标准数量。
随后在 WorkBuddy 新建任务,输入:“请调用 OpenViking,列出我有权限访问的资源。”工具返回结果后,再尝试搜索你已经导入的一条内容。如果知识库还是空的,空结果是正常现象,不等于检索出错。
不想手动配置?把这段指令交给 AI
如果你使用的 AI 工具能够操作本机、执行命令或协助配置连接器,可以把下面的指令直接发给它。将方括号里的地址改成自己的服务地址;不需要把密钥粘到对话里。
请帮我把当前 AI 工具接入我的 OpenViking 服务:
服务根地址:https://你的域名
MCP 地址:https://你的域名/mcp
请先识别当前工具、版本、操作系统以及已有 OpenViking 连接和记忆插件;读取对应官方文档,保留现有配置,不覆盖或切换其他服务。判断当前客户端支持远程 Streamable HTTP MCP、OAuth、用户 API Key 或专用记忆插件中的哪些方式,然后选择受支持的方式配置。
我希望这个工具能够按我授权的范围读取、搜索,以及在我明确要求时新增或修改记忆。请检查并启用完成这些操作所需的连接器、工具及用户权限,但不要启用所有权限、关闭确认、使用 Root 管理密钥或修改无关账号。涉及用户授权、验证码或系统安全弹窗时交给我本人操作;不要在聊天、日志、共享文件或命令历史中输出密钥。
如果只有 MCP 连接,请说明它不自动等于跨会话记忆;如果我明确需要自动召回和记录,请按照该工具官方支持的插件和 hooks 配置,说明会记录哪些对话和工具结果,并先让我确认范围。
完成后逐项验证:服务可达、连接器已启用、实际发现工具、以当前用户执行一次只读查询;如要验证记忆写入,先告诉我会写什么和保存在哪里。失败时报告具体错误、是否已修改配置和未完成的步骤,不把安装成功当作连接成功。
这是一份可执行的委托,而不是一条万能安装命令:AI 能做到哪一步,取决于当前工具能否访问本机、是否支持该连接方式及你的授权。不要让它把账号密钥粘进对话,也不要把“开启权限”理解为关闭所有操作确认。
针对 Codex 再补一句
请优先检查 Codex 现有 MCP 和 OpenViking 记忆插件。只添加本次指定的服务;若我要跨会话自动记忆,按官方插件文档检查 hooks,向我展示需要信任的 hooks 及其用途,再由我决定是否启用。最后新开会话验证工具调用和记忆召回,保留原有服务配置。
针对 WorkBuddy 再补一句
请引导或协助我在“专家·技能·连接器 → 连接器 → 自定义连接器 → MCP 服务管理”添加并开启 OpenViking。根据实际界面判断支持 OAuth 还是用户 API Key;浏览器授权和验证码交由我处理。请检查连接状态与工具列表,并执行一次只读查询。
针对豆包工作任务再补一句
请检查我当前使用的豆包客户端是否提供“工作任务”及自定义 MCP 连接器。若支持,请按实际界面帮助我添加我的 OpenViking MCP 地址并完成用户授权;如果当前版本或运行环境不支持,请说明限制,不要假装已经安装。最后尝试一次只读工具调用。
豆包的普通聊天、工作任务、网页版和本地电脑运行环境不应混为一谈。自定义连接器的可用入口和支持范围以当前版本界面为准;没有支持时,不要把提示词当成已经接入。
针对 DeepSeek Harness(DSH)再补一句
请检查我当前的 DeepSeek Harness(dsh)版本、实际使用的 profile 和现有 OpenViking 配置。按 OpenViking 官方 DSH 集成说明,使用我指定的服务和普通用户凭据安装或启用兼容的记忆插件;不要默认改写其他 profile。先说明自动捕获对话及工具结果的范围,确认后再启用同步。完成后检查 profile 配置、工具列表,并以一条只读查询及新会话召回验证结果。
DSH 官方提供专用记忆插件;它和普通 MCP 工具连接的区别在于,还可以按配置捕获、提交和召回会话内容。默认安装的 profile 及实际使用的 profile 不一定相同,接入前要核对。参见 OpenViking DSH 官方文档。
其他常见工具怎么套用
Claude Code、Cursor、TRAE、OpenCode 等可以使用上面的通用指令,再让 AI 核对该客户端的 OpenViking 官方集成;不同工具可能支持记忆插件、远程 MCP 或两者,步骤和授权界面并不完全一样。参见 OpenViking Agent 集成总览。
权限到底要开什么?
先确认 OpenViking 中的账号、用户及目标目录的访问权限,再在客户端启用连接器和需要的工具。只查询时优先开放读取、列表和搜索;需要写入或编辑记忆时,再使用有相应权限的用户,并按客户端提示确认操作。forget、删除、用户管理和共享权限不应默认全部放开。
用户 API Key 决定客户端以谁的身份访问;客户端显示工具开关并不自动改变服务端目录权限。OAuth 授权给客户端的身份也受当前用户权限约束。需要停止接入时,在客户端断开连接,并由服务管理员按实际认证方式撤销授权或轮换该用户密钥。
遇到问题时先看哪一层
- 显示 pending_initialization 或 503:先检查 OpenViking 配置文件、模型服务和
/ready。域名解析成功不等于服务已初始化。 - 401 / 未授权:核对地址末尾
/mcp、用户 Key 和客户端身份;不要把火山方舟模型 Key 或 Root Key 当成普通用户 Key。 - 始终不出现 OAuth 授权页:检查服务器是否启用
oauth.enabled、公网 HTTPS、/.well-known路由及客户端 OAuth 支持。当前部署未启用时可使用已支持的用户 Key 方式。 - 提示 user_id must be alpha_numeric:按实际版本规则尝试只含英文字母和数字的用户 ID,例如
user01;显示名称与用户 ID 是两回事。 - 启用了连接器却搜不到内容:先确认使用了同一服务、同一账号和有权限的资源,再确认目标内容已经导入且处理完成。
连接前确认工具及权限;写入、删除和共享资源时尤其要核对授权范围。完成连接后,从一次只读查询开始验证。