dsh-ov-memory:把 OpenViking 持久记忆接入 DeepSeek Harness

前言

DeepSeek Harness (DSH) 的核心理念是“一切皆插件”。在构建智能体时,LLM 会话是无状态的,这导致智能体无法利用历史经验或长期上下文。OpenViking 负责持久化存储,而 dsh-ov-memory 插件负责将记忆“注入”对话,或者将对话流“镜像”回 OpenViking,打通对话与记忆之间的壁垒。

是什么

dsh-ov-memory 是一个把 OpenViking 持久记忆接入 DeepSeek Harness(DSH)的插件。它由开发者 xiaono1 维护,遵循 MIT 许可证。该插件通过复用 DSH 已安装的 peer 包,实现了记忆的自动召回、会话镜像、阈值提交、离线重放以及 MCP 工具桥接等能力。

核心功能

  1. 自动召回:在每一步开始前,插件会检索当前输入在 OpenViking 中的相关内容并注入对话。去重与 token 预算控制由服务端完成。
  2. 会话镜像:将 user / assistant 消息实时写入 OpenViking 的 dsh-<会话id> 会话流,供后台抽取为长期记忆。
  3. 阈值提交:当 pending_tokens 达到阈值时自动 commit(保留最近 N 条为活跃消息);在会话关闭时执行兜底提交。
  4. 离线出站队列:当 OpenViking 不可达时,写操作会落盘持久化,恢复连接后自动幂等重放。
  5. /memlearn 人工沉淀:通过斜杠命令直接把一条经验写入长期记忆。支持密钥脱敏、语义查重合并,离线时自动进 outbox。
  6. 自研 MCP 工具桥:提供 stdio 服务器 + streamable-HTTP 上游,将服务器工具以 mcp__openviking__* 暴露。
  7. viking:// URI 守卫:拦截本地工具,将 viking:// 虚拟路径当成本地文件处理。
  8. 零运行时依赖:复用 DSH 已安装的 @deepseek-ai/* peer 包,无额外 npm 依赖。

安装与启用

在安装前,请确保环境满足以下要求:
* DeepSeek Harness 0.1.x(≥0.1.0-rc.6)release 线
* Node.js ^22.19.0 或 >=24
* 一个可访问的 OpenViking 服务器(本地或远程)

安装命令如下:

dsh plugin --profile <profile> add github:xiaono1/dsh-ov-memory

注意:若 profile 中已存在其它占用 mcp__openviking__* 命名空间的插件,两者不能共存,请先移除后再启用本插件。

典型用法

配置连接

默认连接 http://127.0.0.1:1933。凭据沿用 OpenViking 生态的统一解析顺序(环境变量、~/.openviking/ovcli.conf、~/.openviking/ov.conf)。如需显式覆盖,在 profile 的 cordis.patch.yml 中写入:

- insert:
    - id: ov-memory
      config:
        - id: ov-memory-runtime
          config:
            endpoint: 'http://127.0.0.1:1933'
            apiKey: 'your-user-key'
            recall:
              enabled: true
              budgetTokens: 2000
              scoreFloor: 0.35
            capture:
              toolResults: false
              skipSubagentSessions: false
            commit:
              thresholdTokens: 20000
              keepRecentCount: 10
            learn:
              minScore: 0.5

使用斜杠命令

在对话中使用 /memlearn 命令直接把一条经验写入长期记忆,无需开启模型回合,原文不进会话日志。

环境变量

可通过环境变量配置连接信息:
* OPENVIKING_URL / OPENVIKING_BASE_URL:服务器地址
* OPENVIKING_API_KEY / OPENVIKING_BEARER_TOKEN:鉴权凭据
* OPENVIKING_ACCOUNT / OPENVIKING_USER:租户/用户
* OPENVIKING_PEER_ID:固定 actor peer
* OPENVIKING_PENDING_DIR:outbox 目录(默认 ~/.openviking/pending)

适用场景与注意

本插件适合需要长期记忆、上下文复用以及离线容错的智能体开发场景。由于插件以当前 DSH 进程权限运行,建议在安装前检查源码与许可证。

结尾

dsh-ov-memory 通过标准化的接口将 OpenViking 的记忆能力引入 DSH 生态,帮助开发者构建具备持久化记忆的智能体。更多细节与文档可参考 目录页 或 GitHub 仓库。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜