dsh-memory-palace:为 DeepSeek Harness 增加 Markdown 文件式记忆

前言

DSH 插件生态强调「一切皆插件」,社区目录是独立站点,与 DeepSeek / 幻方无官方从属关系。对于需要在多个会话中保留项目约定、用户偏好和阶段性结论的场景,只依赖当前上下文并不方便。dsh-memory-palace 是一个 DeepSeek Harness 插件,把 WorkBuddy 的文件式记忆系统移植进 DeepSeek Harness,为 Harness 提供跨会话持久化、人类可直接编辑的 Markdown 记忆。

下面介绍它的能力、安装方式、典型用法,以及使用前需要注意的事项。

这是什么

dsh-memory-palacelovezi0 维护,许可证为 MIT

它把记忆存放在 Markdown 文件中:

  • MEMORY.md:长期记忆文件。
  • YYYY-MM-DD.md:每日日志文件。

它支持用户级和工作区级两层记忆,也支持在已有 .workbuddy/memory.codebuddy/memory 的项目中直接读写这些目录,桥接 WorkBuddy / CodeBuddy 记忆。

核心功能

Markdown 记忆文件

记忆全部存储在 Markdown 文件中,可以用编辑器直接修改。

常见文件包括:

  • MEMORY.md
  • YYYY-MM-DD.md

双层记忆

插件支持两层记忆:

  • 用户级记忆:默认路径为 ~/.deepseek-harness/MEMORY.md
  • 工作区级记忆:默认路径为 <cwd>/.deepseek-harness/memory/

用户级记忆适合保存跨项目个人偏好,工作区级记忆适合保存当前项目的约定和上下文。

每轮读取与写入

每轮对话会读取:

  • 用户级 MEMORY.md
  • 工作区 MEMORY.md
  • 今日日志 YYYY-MM-DD.md

并将相关内容注入 system prompt

每轮结束会监听 session/eventturn/end,经防闲聊闸门后,异步把轻量条目追加到当日日志 YYYY-MM-DD.md

日志迁移

超过保留天数(默认 30 天)的每日日志会自动迁移进 MEMORY.md,然后删除原日志。

WorkBuddy / CodeBuddy 桥接

当项目已存在以下目录之一时,插件会直接读写这些目录:

.workbuddy/memory
.codebuddy/memory

这样可以复用已有的 WorkBuddy / CodeBuddy 记忆目录,避免重复维护。

记忆工具

插件提供以下工具:

  • memory_note:把约定或偏好写入当前项目全部目标 MEMORY.md
  • memory_note_user:把跨项目偏好写入 ~/.deepseek-harness/MEMORY.md
  • memory_read:一次性读取用户级和项目级记忆、今日日志与最近 3 份历史日志。
  • memory_delete:按内容删除记忆条目,需要两阶段确认,删除动作经 harness 原生确认弹窗硬闸门。

上述工具内置去重,防止重复追加。

hybrid 模式

hybrid 模式自 v1.6.0 起引入,支持记忆子代理写今日工作日志,并保留日志作为证据层。

该模式提供以下章节化工具:

  • memory_write
  • memory_update_section
  • memory_reorganize

用于章节化写入、替换和重整记忆内容。

hybrid 模式下,日志永不过期,作为证据层保留。

主动记忆

在主动记忆路径(插件模式)下,插件可以引导 agent 在以下场景主动落档:

  • 修复
  • 验证
  • 里程碑
  • 偏好

智能模式

智能模式(LLM 智能会话摘要)可将会话新增对话增量提炼成摘要,并写入每日日志与 MEMORY.md

图形化设置

DSH 设置中内置「记忆」面板,路径为:

DSH 设置 →「记忆」

所有配置均可图形化调整。

项目说明还提到,配置项(基础 / 自动记录 / 开发 三张卡片的字段、默认值与说明)已整理至 CONFIG.md

手动蒸馏

会话标题栏提供「记忆」按钮,支持手动蒸馏:

  • 蒸馏会话
  • 蒸馏项目记忆

安装与启用

前置要求:已安装 DeepSeek Harness 及其 CLI,且 dsh 命令可用。

资料提供了多种安装方式,可按环境选择。

直接通过 GitHub 安装

这条命令会直接把仓库加入指定 profile:

dsh plugin --profile web add github:lovezi0/dsh-memory-palace

如果希望锁定版本,可以使用:

dsh plugin --profile web add github:lovezi0/dsh-memory-palace#v1.6.2-alpha.4

clone 后本地安装

适合开发或修改源码的场景:

git clone https://github.com/lovezi0/dsh-memory-palace.git

进入目录并构建:

cd dsh-memory-palace
npm install
npm run build

随后装入 profile:

dsh plugin --profile web add .

通过 npm 安装

可以直接由 dsh 从 npm 拉取并装入:

dsh plugin --profile web add dsh-memory-palace

也可以先手动用 npm 安装,再装入:

npm install dsh-memory-palace --registry=https://registry.npmmirror.com/
dsh plugin --profile web add dsh-memory-palace

卸载

dsh plugin --profile web remove dsh-memory-palace

典型用法

下面列出资料中可复现的读取和写入路径。

读取

每轮对话读取以下文件,并注入 system prompt

用户级 MEMORY.md
工作区 MEMORY.md
今日日志 YYYY-MM-DD.md

写入

监听 session/eventturn/end,经防闲聊闸门后,异步追加轻量条目到:

YYYY-MM-DD.md

工具调用

  • memory_note:把约定或偏好写入当前项目全部目标 MEMORY.md
  • memory_note_user:把跨项目偏好写入 ~/.deepseek-harness/MEMORY.md
  • memory_read:一次性读取用户级和项目级记忆、今日日志与最近 3 份历史日志。
  • memory_delete:按内容删除记忆条目,需两阶段确认。

设置

进入:

DSH 设置 →「记忆」

可在这里图形化调整相关配置。

版本与依赖

package.jsonversion 为:

1.6.2-alpha.4

peerDependencies 指定了以下依赖版本:

@deepseek-ai/dsh-settings ^0.1.2-alpha.2
@deepseek-ai/dsh-tools ^0.1.2-alpha.2

项目说明还提到:

mian分支已适配 deepseek harness 0.1.2-alpha.2+
旧版本已切换分支归档,见 dsh-v0.1.x

该插件是标准 npm 插件包,经 dsh plugin 装入 profile,cordis.patch.yml 声明 bundle patch。

适用场景与注意

这个插件适合以下场景:

  • 需要跨会话保留项目约定或个人偏好。
  • 希望记忆文件人类可读、可直接编辑。
  • 项目中已有 WorkBuddy / CodeBuddy 记忆目录,希望复用。
  • 希望用 DSH 设置面板图形化调整记忆相关配置。
  • 需要在 agent 修复、验证、里程碑、偏好等场景主动落档。

使用前需要注意:

  • 插件以当前 dsh 进程权限运行,安装前应检查源码与许可证。
  • memory_delete 需要两阶段确认,删除动作会经 harness 原生确认弹窗硬闸门。
  • hybrid 模式下日志永不过期,作为证据层保留。
  • 项目说明中写有参考 dsh-better-sidebardsh-sideband,但本插件实现为各自机制的简化落地,不含其完整功能。

结尾

dsh-memory-palace 的价值在于把 DSH 的记忆落到 Markdown 文件中:跨会话可保留,本地可直接编辑,也兼容 WorkBuddy / CodeBuddy 的目录结构。如果你需要在 DeepSeek Harness 中建立一套可检查、可修改、可迁移的记忆层,可以按上面步骤安装并启用。

项目仓库:

https://github.com/lovezi0/dsh-memory-palace
羽毛球分组比赛记分
小程序二维码

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

Xiaoye