前言¶
在 DeepSeek Harness(DSH)里接入 OpenViking 时,记忆同步、提交和召回由官方 @openviking/dsh-memory-plugin 完成,但连接地址、用户 Key、~/.openviking/ovcli.conf 以及「某条会话要不要读写记忆」往往仍要手改文件或记环境变量。社区插件 dsh-openviking-manager(维护者 xbzbing,分类:记忆)提供 Web UI,只负责客户端配置、本机诊断和会话级开关;不替代官方记忆插件,也不运维 OpenViking 服务端。下面介绍它的定位、能力与安装用法。
这是什么¶
dsh-openviking-manager 是 DSH Web profile 下的 UI 插件,用于管理已有 OpenViking 服务的客户端连接、用户 Key 和本机配置诊断,并在对话侧提供会话级 OpenViking 记忆开关。OpenViking 是火山引擎开源、面向 AI Agent 的上下文数据库;服务端需自行部署,官方 DSH 集成说明见 DeepSeek Harness 记忆插件。
- 目录页:skillhub.cn/plugins/xbzbing/dsh-openviking-manager
- 源码:github.com/xbzbing/dsh-openviking-manager(MIT,当前 package 版本 0.4.2)
核心功能¶
连接与用户 Key¶
- 读取、导入并原子更新
~/.openviking/ovcli.conf;已有user_key在页面只显示掩码,不回传明文。 - 检查 OpenViking 的
/health、/ready与用户身份;校验ovcli.conf的 JSON 与文件权限,经确认后可修复权限。 - 读取
~/.openviking/ov.conf的非敏感状态(如认证模式、是否存在 root key);ovcli.conf始终优先。 - 表单中临时使用
root_api_key调用官方 Admin API:列账号/用户、创建账号或用户、重新生成用户 Key;root_api_key不写入配置文件。 - 由当前 endpoint 推导 Studio 地址(
<endpoint>/studio),可手工改为反向代理地址。
会话级记忆开关¶
对话输入框左侧有按钮(默认开启)。关闭某会话后,本插件会拦截官方插件在该会话的上下文注入、记忆写入/提交,并拒绝 mcp__openviking__* 工具调用。开关状态仅在插件进程内存中,重启 DSH 后恢复默认开启;关闭只对之后的 agent step 生效,历史中已注入的上下文在被压缩前仍会保留。
记忆隔离与召回调优¶
在同一配置页写入官方 ovcli.conf 的 plugin 段(保留其他键),保存后通过宿主机制自动重载官方记忆插件:
| 能力 | 说明 |
|---|---|
| 记忆隔离 | plugin.recallPeerScope:默认开启「不允许跨主题共享记忆」(未定义时写入 actor);关闭则写回官方默认 all。用户级画像与共享资源不受该开关影响。 |
| 召回分数与条数 | scoreThreshold(本插件产品默认 0.5,官方默认 0.35)、recallLimit(默认 10) |
| 查询扩写 | recallQueryExpansion(本插件默认关闭,官方默认 auto) |
| 排除 URI | recallExcludeUris(可排除 skills、resources 等子树;OpenViking v0.5.0 起目录 URI 排除整棵子树) |
| 超时 | timeoutMs(本插件默认 15000 ms)、recallContextTimeoutMs |
| Actor peer id(高级) | plugin.peerId:多仓库场景推荐留空,由官方按 workspace git 身份推导 peer;单仓或有意共享主题时可填写。「填入当前仓库」按官方 workspace 逻辑推导。 |
对应 OPENVIKING_* 环境变量优先级更高时,页面字段只读并显示警告。UI 跟随 DSH 系统语言(简体中文 / 英文)。
安装与启用¶
环境要求(来自仓库说明):
- Node.js
>= 22 - DSH
>= 0.1.6-alpha.2 < 0.3.0-0 - 可访问的 OpenViking 服务
- 官方
@openviking/dsh-memory-plugin>= 0.3.2
先做记忆插件,再做配置管理器:
# 安装 openviking 的官方插件
dsh plugin --profile web add @openviking/dsh-memory-plugin
# 安装配置管理器
dsh plugin --profile web add dsh-openviking-manager
# 也可以直接从 GitHub 仓库安装或者从 file 安装
dsh plugin --profile web add github:xbzbing/dsh-openviking-manager
安装后可能需要重启对应 DSH profile;在 DSH 插件页面可进入 openviking-manager 配置页。
典型用法¶
- 在配置页填写 OpenViking endpoint 与用户 Key,执行连接验证;若尚未有用户,可用临时
root_api_key走「恢复与初始化」流程创建用户并轮换 Key。 - 按需调整记忆隔离与召回调优,保存后等待状态行报告重载结果;若官方记忆插件未加载,按提示手动重启 DSH。
- 某次对话不想读写 OpenViking 时,在输入框左侧关闭会话开关,无需改全局配置。
本地向量引擎在 OpenViking 服务端 v0.4.22 起 cosine 分数域由 [-1,1] 映射为 [0,1],阈值不会自动调整。若升级后与旧版过滤强度要对齐,可将 scoreThreshold 调到 0.75;仅用远端向量库或不受映射影响的分数类型时无需调整。细节见仓库 README「服务端兼容性」一节。
适用场景与注意¶
适合谁: 已在 DSH Web 中使用 @openviking/dsh-memory-plugin,希望用图形界面维护 ovcli.conf、做连通性诊断,并在单会话粒度关闭 OpenViking,同时微调召回隔离与参数的团队或个人。
安全与边界: 插件以当前 DSH 进程权限运行,安装前应阅读源码与 MIT 许可证。多数管理路由仅接受同源请求;本插件不启动、停止或修改 OpenViking 服务端。.openviking/config.json 等 workspace 配置需用户自行管理,本插件不读写。
DSH 生态采用「一切皆插件」;SkillHub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。
结尾¶
dsh-openviking-manager 把 OpenViking 的客户端配置、诊断、会话开关和 plugin 段召回调优集中到 DSH Web UI,与官方记忆插件分工明确:官方插件负责记忆数据面,本插件负责「怎么连、怎么配、这条会话要不要用」。进一步了解可访问 目录页 与 GitHub 仓库。