dsh-memory-system-prompt:跨会话记忆与用户级系统提示词

前言

在 DeepSeek Harness(DSH)里做智能体或长期协作时,模型默认不会记住上一轮会话里的偏好、环境约定或项目细节。常见做法是每次手动粘贴背景,或把整份笔记塞进上下文——前者费事,后者占 token、还容易挤掉真正有用的对话内容。

dsh-memory-system-prompt 是社区维护者 MCJF28 发布的「记忆」类插件:让模型通过工具把稳定事实写入本地文件,并在后续对话里按需读取;同时把原独立包 dsh-system-prompt 的用户级系统提示词能力并入同一设置页。插件在 SkillHub 目录 与 GitHub 仓库 可查阅;社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。

这是什么

一句话定位:全局记忆 + 用户级系统提示词,面向 DSH 桌面端;记忆索引每轮自动注入系统提示,不占用对话上下文窗口。

它解决的核心问题是跨会话可持久、可检索的记忆区,以及一次配置、多对话生效的行为约束,且可按单条对话关闭记忆或提示词影响。

记忆:写入、索引与按需读取

模型在对话中发现的稳定事实(偏好、约定、环境细节等)可通过工具持久化,而不是依赖用户反复复述。

工具 作用
memory_save 保存或更新一条记忆(同名覆盖)
memory_read 按标识读取一条记忆的正文
memory_list 列出全部记忆(默认只返回索引)
memory_delete 删除一条记忆

机制要点如下:

  • AI 主动写:由模型调用上述工具写入或更新;
  • 索引常驻:每轮把「标题 + 一句话摘要」注入系统提示,模型知道库里有什么;
  • 正文按需:需要细节时再 memory_read,不把整个记忆库塞进上下文;
  • 可按对话关:某个对话不想带记忆时,可单独关闭。

实现上,记忆索引通过 systemPrompt.context 注入,而不是 agent.inject(后者会排队成一条用户消息,可能导致模型在回答后再自问自答一轮)。索引刷新挂在 agent/created 和 turn/start 上,因为在 assemble 之后才拿得到最新内容。

用户级系统提示词

写一次,对所有对话生效;也可以按对话单独禁用。与记忆部分共用「设置 → 记忆与提示词」页面。

  • 自定义正文:任何想长期强加给模型的要求(语气、格式、禁止事项);
  • 九维风格档位:不想写长文时,用档位拼出一段行为指令——基础语气、亲切程度、热情程度、表情符号、可视化回答、标题和列表、快速回答、提示词建议、回答长度;
  • 两种注入位置:作为系统提示的一部分,或作为上下文片段。

档位默认都是「默认」,全部保持默认时不产生任何额外内容。系统提示词部分不把 systemPrompt 写进 inject,而是运行时用 agent.ctx.get('systemPrompt') 取;硬注入会让 fiber 在服务未就绪时被挂起,表现是插件静默不加载、设置里一片空白。

界面与本地存储

输入框左侧开关:三态(关 / 部分 / 开),按对话生效。

设置 → 记忆与提示词:管理全局开关、单条记忆、系统提示词与风格档位、首次使用引导。

路径 内容
~/.dsh/memory/ 每条记忆一个文件
~/.dsh/memory-settings.json 记忆的全局开关与偏好
~/.dsh/system-prompt/settings.json 系统提示词与风格档位

安装与启用

推荐用 DSH 内置插件安装程序。打开「设置 → 内置插件」,粘贴包名,点安装,再重启应用:

dsh-memory-system-prompt

安装程序会自动写进 dsh.profile.bundles,不用手改任何文件。

命令行方式需先完全退出应用,再执行:

cd ~/.dsh/profiles/desktop
pnpm add dsh-memory-system-prompt

然后把包名加进 dsh.profile.bundles,重启应用。

典型用法(可复现流程)

下面步骤均来自官方 README 描述的能力,不涉及虚构案例。

  1. 安装并重启 DSH,在「设置 → 记忆与提示词」打开全局记忆,按需填写用户级系统提示词或调整九维档位。
  2. 在新对话中,用输入框左侧三态开关控制本条对话是否使用记忆(关 / 部分 / 开)。
  3. 在对话中让模型把需要长期保留的事实写入记忆,例如约定「回复用中文」「项目路径在某某目录」——模型应调用 memory_save。
  4. 后续对话中,模型从每轮注入的索引看到已有记忆标题与摘要;需要全文时调用 memory_read,需要清点条目时调用 memory_list。
  5. 某条记忆过时或错误时,由模型或你在设置页管理删除;也可用 memory_delete 按标识删除。

适用场景与注意

适合谁:长期在 DSH 里做同一类任务、希望模型记住偏好与环境的用户;需要统一语气与格式、又不想每条对话重复贴系统提示的用户。

权限与安全:插件以当前 DSH 进程权限读写 ~/.dsh/ 下文件。安装前建议阅读 源码与 MIT 许可证,确认记忆内容与提示词是否符合你的合规要求。

生态:DSH 理念是「一切皆插件」;本包当前在 GitHub 上星标为 0(以目录页展示为准),功能以 README 与 package.json(版本 1.0.0)为准。

结尾

dsh-memory-system-prompt 把跨会话事实存成本地文件,用每轮零上下文成本的索引让模型「知道有什么、按需读什么」,并与用户级系统提示词共用一套设置。需要进一步了解时,可打开 SkillHub 插件页 或 GitHub 仓库。

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

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

小夜