DeepSeek Harness 插件介绍:dsh-shared-memory

前言

DeepSeek Harness(DSH)采用“一切皆插件”的架构,允许开发者通过插件扩展系统的核心能力。在使用 LLM 构建智能体时,最常见的问题是上下文丢失:新对话无法利用旧对话中沉淀的信息,导致智能体必须重复解释背景或重复执行任务。dsh-shared-memory 插件旨在解决这一痛点,它提供了一套跨对话记忆系统,通过持久化记忆注入和工具化管理,让智能体能够保持连贯性。

插件定位

这是一个为 DSH 提供跨对话记忆能力的插件。它采用类似 Hermes 的设计理念,将持久化记忆注入每个会话的系统提示词中,并提供 memory 工具和可视化面板来维护这些记忆。

核心功能

该插件主要包含以下能力:

  • 分层记忆管理:
    • 常驻注入:MEMORY.md(Agent 高频笔记)和 USER.md(用户画像)会常驻注入每个新会话的系统提示词中。
    • 按需加载:topics/ 目录下的主题文件(如 feishu.md)不常驻注入,仅在 MEMORY.md 末尾生成一行索引,Agent 需要时通过工具按需读取。
  • 记忆维护工具:
    • 提供 add、replace、remove、list 命令。
    • 支持 target 参数,可指定写入 memory、user 或 topic:<文件名>。
    • 内置写入自检规则,引导 Agent 仅记录原则、偏好、决策、纠正、工作数据和持久事实。
  • 可视化记忆面板:
    • 侧边栏提供“记忆”按钮,点击打开面板。
    • 面板包含“笔记”、“画像”、“主题库”三个标签页,支持浏览、编辑、增删条目,并实时显示容量使用情况。
  • 格式与限制:
    • 记忆条目使用 § 分隔符,推荐使用 [发现]/[决策]/[偏好]/[纠正] 作为前缀。
    • 容量可通过环境变量 DSH_MEMORY_CHAR_LIMIT、DSH_MEMORY_USER_CHAR_LIMIT、DSH_MEMORY_TOPIC_CHAR_LIMIT 进行控制。

安装与启用

安装该插件推荐使用官方插件命令。

dsh plugin --profile web add github:futongxu9-maker/dsh-shared-memory

如果命令行方式不可用,可执行手动安装:

  1. 将 dsh-shared-memory 目录复制到 ~/.dsh/profiles/web/node_modules/dsh-shared-memory/。
  2. 在 ~/.dsh/profiles/web/cordis.patch.yml 中追加以下内容:
    - insert:
        - id: shared-memory
          name: 'dsh-shared-memory'
  1. 刷新页面或重启服务。

使用方法

插件启用后,主要在模型侧和用户侧进行交互。

  • 模型侧(Agent 使用):
    系统提示词会自动注入 MEMORY.md、USER.md 和主题索引。Agent 可调用 memory 工具进行维护,例如添加新条目、替换旧条目、删除条目或查看当前用量。工具会根据内置规则拦截不符合要求的临时内容。

  • 用户侧(人工管理):
    点击侧边栏底部的“记忆”按钮,在打开的面板中切换三个标签页进行管理。面板支持增删改查操作,并显示字符占用情况。

  • 手动编辑:
    记忆文件存储在 ~/.dsh/memories/ 目录下。可以直接编辑 MEMORY.md、USER.md 或 topics/*.md 文件来修改内容。

环境要求

  • DeepSeek Harness:版本需为 rc.6 或更高(dsh web)。
  • 操作系统:支持 Windows、macOS 和 Linux。
  • 许可证:MIT。

总结

dsh-shared-memory 通过结构化的分层记忆和可视化面板,解决了智能体在跨对话中遗忘上下文的问题。安装该插件后,开发者可以更轻松地管理 Agent 的长期记忆。

更多文档和源代码请访问:
* GitHub 仓库
* 社区目录

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

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

小夜