DeepSeek Harness 精选长期记忆插件

前言

DeepSeek Harness (DSH) 采用插件化架构。在开发智能体时,对话历史会随轮次增长,且难以从中提取持久化的关键事实。本插件旨在为 DSH 提供结构化的长期记忆能力,通过纯文本存储和动态注入机制,使智能体能够维护关于用户或项目的长期状态。

插件介绍

deepseek-memory 是 DeepSeek Harness 的精选长期记忆插件。它提供两级纯文本事实存储、记忆工具及回合后整合功能。存储内容为有界的精选事实,而非对话记录索引,通过每次请求的动态注入来保持上下文的时效性。

核心功能

两级存储

插件支持两级目录存储,分别用于不同维度的记忆:
* 用户级:存储于 $DSH_HOME/memory/,记录关于人的身份信息。
* 项目级:存储于 <cwd>/.dsh-memory/,记录项目约定与决策。

记忆工具

插件提供以下记忆管理工具:
* memory_add:添加记忆
* memory_update:更新记忆
* memory_delete:删除记忆
* memory_list:列出记忆
* memory_search:搜索记忆
* memory_status:查看状态

请求注入

通过 systemPrompt 服务,插件会在每次请求中动态注入记忆内容。这一过程发生在请求组装阶段,不会将记忆写入会话历史。

回合后整合

插件使用受限子代理执行记忆整合。默认为 gated 模式,仅在特定条件触发时运行;也可配置为 always 模式。

安装与启用

在终端执行以下命令安装插件:

dsh plugin --profile <name> add deepseek-memory

安装完成后,必须重启配置文件以使插件生效。

配置

在 cordis.patch.yml 中覆盖 memory.config 即可调整行为:

- id: memory
  config:
    maxEntries: 80
    consolidation: always

关键配置项说明:
* maxEntries:默认 50,每级存储的最大条目数。
* consolidation:默认 gated,可选 off、gated、always。控制整合触发时机。
* injectChars:默认 4000,单次请求注入的最大字符数。

存储格式

存储文件为 JSON 格式,版本为 1。ID 基于文本生成,因此重复添加相同文本视为无操作。

{
  "format": 1,
  "tier": "project",
  "revision": 3,
  "updatedAt": 1790000000000,
  "entries": [
    {
      "id": "m1a2b3c4",
      "text": "The build uses tsc, not a bundler.",
      "tags": ["build"],
      "createdAt": 1789990000000,
      "updatedAt": 1790000000000,
      "origin": "consolidator"
    }
  ]
}

注意事项

  • 依赖注入:插件依赖 inject 字段注册 systemPrompt 服务,缺少该字段会导致服务不可用。
  • 编译产物:仓库包含编译后的 lib/ 目录,无需构建步骤或 allowlist。
  • 整合模式:整合功能默认为 gated,避免每轮对话都消耗模型资源。

总结

该插件通过两级纯文本存储和动态注入机制,解决了 DSH 中长期记忆的持久化问题。如需使用,请确保安装后重启配置,并检查源码许可证。

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

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

小夜