dsh-renor:把 DSH 接到 Renor 托管记忆 MCP

前言

在 DSH 里跑智能体时,上下文往往只存在于当前会话。关掉终端或换一台机器,之前沉淀的偏好、结论和约定就带不过去。有人会在项目里自建向量库或 JSON 状态文件,但还要自己管鉴权、部署和检索接口。

下面介绍维护者 renorai 发布的 dsh-renor(分类:记忆)。它不实现业务逻辑,只在 DSH profile 里插入一行配置,让 @deepseek-ai/dsh-mcp-client 通过 Streamable HTTP 连到 Renor 托管的 MCP 端点 https://mcp.renor.cloud/mcp。模型在需要时调用 Renor 提供的工具读写记忆;插件本身不会自动保存或召回任何内容。

DSH 社区插件目录是独立站点,与 DeepSeek / 幻方无官方从属关系;安装第三方插件前宜自行查看仓库源码与许可证(本插件为 MIT)。

这是什么

dsh-renor 是 DeepSeek Harness (DSH) 的配置型插件:仓库里主要是 cordis.patch.yml 和说明文档,没有自研运行时代码。作用可以概括成一句话——把 DSH 接到 Renor 这家面向 AI Agent 的托管记忆服务上。

维护者标注的 peer 依赖为 @deepseek-ai/dsh-mcp-client(>=0.2.2-rc.1)。插件在 profile 补丁里注册名为 renor 的 MCP 客户端行,serverName 为 renor,传输方式为 streamable-http。

连接后能用到什么

DSH 启动并成功连上 Renor 后,服务端暴露的工具会以 mcp__renor__<tool> 的形式出现在智能体侧。README 举了两个例子:

  • mcp__renor__get_context:按请求读取 Renor 中与之相关的记忆;
  • mcp__renor__remember:保存一条陈述。

完整工具列表在连接时由服务器下发;当前全集见 Renor 工具参考。每个工具的描述与 schema 会随请求发给模型,官方文档注明全套工具大约会给每次请求增加约 10,000 tokens(数字出处同上文档)。

是否调用这些工具由模型决定,没有「每轮自动写入 Renor」的行为。

安装与启用

按仓库 README,建议顺序如下。

  1. 在 renor.cloud 注册 Renor 账号。
  2. 打开 app.renor.cloud 仪表盘,进入 API keys,选择 Create key。密钥只显示一次,有效期 365 天,可在同一页面撤销。
  3. 在运行 dsh 的进程环境中设置密钥(不要写进 cordis.patch.yml):
export RENOR_API_KEY="paste-your-key-here"
  1. 对指定 profile 安装插件并重启 DSH:
dsh plugin --profile <name> add github:renorai/dsh-renor
  1. 启动会话后,可让智能体列出 Renor 相关工具,或尝试调用 get_context 做连通性检查。

卸载时:从 profile 的 cordis.patch.yml 删除 renor 行,或用 dsh plugin 移除插件,然后重启 DSH。

鉴权方式说明

Renor 对部分 MCP 客户端支持 OAuth,但 README 写明撰写时使用的 @deepseek-ai/dsh-mcp-client(0.2.2-rc.1)在 streamable-http 配置下只接受 URL 与静态 headers,没有 OAuth 选项。因此本插件通过 header 发送 Authorization: Bearer <key>,密钥从环境变量 RENOR_API_KEY 在加载 profile 时读取。

若未设置 RENOR_API_KEY,插件会发送空的 Authorization;Renor 返回 401,Renor 工具不会出现,会记录错误,但 DSH 仍可正常启动。若未来 DSH 的 MCP 客户端支持 OAuth,README 建议本插件可改用 OAuth。

配置补丁内容

插件通过 cordis.patch.yml 向 profile 插入一行(节选结构与官方一致):

- insert:
    - id: renor
      name: '@deepseek-ai/dsh-mcp-client'
      config:
        serverName: renor
        transport: streamable-http
        url: https://mcp.renor.cloud/mcp
        headers:
          Authorization: !!js "process.env.RENOR_API_KEY ? `Bearer ${process.env.RENOR_API_KEY}` : ''"

补丁会整体替换某一行的 config;若要改 toolCallTimeoutMs 等字段,需把该行复制到你自己的 profile 补丁里再编辑。若使用自托管 Renor HTTP 服务,可改 url。

package.json 中版本为 0.1.0,通过 dsh.bundle.patch 指向上述文件。

数据去向与权限边界

README 对数据流做了明确划分,使用前宜知悉:

  • 发往 Renor(mcp.renor.cloud):API 密钥,以及模型在工具参数里填入的检索查询、remember 保存的陈述。工具结果会像其它 tool 结果一样回到对话,并随之下发给你配置的 DSH 模型提供方。
  • Renor 侧存储:记忆存放在 Google Cloud us-central1(美国);语义检索会把笔记与查询发往同区域的 Google Vertex AI。细节见 Renor 安全页。
  • 本插件不会主动发送:不读取你的文件或会话历史;只有模型发起的 tool call 会到达 Renor。
  • 用户侧控制:可在仪表盘导出全部记忆(Markdown)、删除记忆、撤销 API key。

插件以当前 dsh 进程的权限与环境变量运行;密钥应只授予你信任的运行环境。

典型用法

仓库未给出固定 prompt 模板,验证步骤是可复现的:

  1. 完成安装并设置 RENOR_API_KEY 后重启 DSH。
  2. 在会话中请智能体列出可用的 mcp__renor__* 工具。
  3. 先让智能体调用 remember 写入一条你希望长期保留的陈述,再在新会话或相关话题下调用 get_context 检索。

记忆是否持久、检索质量取决于 Renor 服务与模型是否选择调用工具,而不是 DSH 默认行为。

适用场景与注意

更适合:希望在多台机器或多会话间共享 Agent 记忆、又不想自建 MCP 记忆服务与检索后端的 DSH 用户;能接受 Renor 托管与美国区域基础设施的开发者。

需要注意:

  • 工具 schema 带来的 token 开销(约 10,000/请求)在长上下文或多工具场景下要计入成本。
  • README 写明仓库内的 npm test 校验补丁格式与 Authorization 表达式,不包含「安装到运行中的 DSH 并连接线上服务器」的集成测试;生产依赖前建议自行做一次端到端验证。
  • GitHub 星标为 0(以目录抓取信息为准),不代表功能不可用,但社区反馈样本较少,宜以官方文档与自测为准。

结尾

dsh-renor 把 DSH 的插件化配置与 Renor 托管记忆 MCP 接在一起:一行 patch、一个环境变量、官方给出的 dsh plugin --profile <name> add github:renorai/dsh-renor,即可让模型在需要时通过 mcp__renor__get_context 与 mcp__renor__remember 等工具操作外部记忆。

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

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

Xiaoye