前言¶
在 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 倉庫。