DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
M

dsh-memory-system-prompt

Memory System Prompt

全局记忆:AI 主动写入与读取的记忆文件,每轮对话前自动注入索引,不占上下文,仅按需展开;支持本对话禁用。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:MCJF28/dsh-memory-system-prompt#a8b0d95ec4efffc7a0099c8109d6eb1043066cd9
README兼容性版本

兼容性与来源证明

Memory System Prompt 以 dsh-memory-system-prompt 发布,当前版本为 1.0.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/10/17

版本

1.0.0stable
2026/10/17

相关插件

正在加载相关插件…

最新版
1.0.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
MIT
发布源
github
GitHub
★ 0
周下载
0
最近提交
2026/10/18
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 memory-context 分类下经过校验的插件。

Experimental Session Search@deepseek-ai/dsh-experimental-session-search为 Agents 提供搜索和读取当前工作区早期会话的工具。Hindsight Coding Agents@vectorize-io/hindsight-coding-agents面向编程代理的仅反思式 Hindsight 长期记忆(可插拔支持多种运行框架:opencode、……),自动在后台导入(无需设置 CLI)。Contextdsh-context用于上下文洞察和管理的 DeepSeek Harness 插件,提供上下文仪表板和上下文命令,帮助了解上下文的构成及其演变过程。Memory Plugin@openviking/dsh-memory-plugin适用于 DeepSeek Harness 的 OpenViking 记忆与上下文套件

README

dsh-memory-system-prompt

中文 | English

全局记忆插件:AI 可以主动把事实写进记忆文件,并在后续对话里按需读取。记忆索引每轮自动注入系统提示,不占用对话上下文。

同时包含用户级系统提示词功能(原先独立的 dsh-system-prompt 已并入本包),两部分共用同一个设置页。

它解决什么

模型本身没有跨会话记忆。这个插件给出一份可持久、可检索的记忆区:

  • AI 主动写:对话中发现的稳定事实(偏好、约定、环境细节)由模型调用工具写入;
  • 索引常驻:每轮把「标题 + 一句话摘要」注入系统提示,模型知道有什么;
  • 正文按需:需要细节时再调工具读全文,不把整个记忆库塞进上下文;
  • 可按对话关:某个对话不想带记忆时,单独关掉。

工具

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

用户级系统提示词

写一次,对所有对话生效;也可以按对话单独禁用。

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

档位默认都是「默认」,全部保持默认时不产生任何额外内容。

界面

  • 输入框左侧开关:三态(关 / 部分 / 开),按对话生效;
  • 设置 → 记忆与提示词:管理全局开关、单条记忆、系统提示词与风格档位、首次使用引导。

存储

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

安装

推荐用 DSH 内置插件安装程序。 打开「设置 → 内置插件」,在安装输入框里粘贴下面这一串(就是 pnpm add 后面的地址),点安装,再重启应用:

github:MCJF28/dsh-memory-system-prompt

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

习惯命令行的话:先完全退出应用,再在 profile 目录执行

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

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

注意

  • 记忆索引通过 systemPrompt.context 注入,不是 agent.inject——后者会排队成一条用户消息,导致模型在回答完再自问自答一轮。
  • 索引刷新挂在 agent/created 和 turn/start 上,因为在 assemble 之后才拿得到最新内容。
  • 系统提示词部分不把 systemPrompt 写进 inject,而是运行时用 agent.ctx.get('systemPrompt') 取。硬注入会让 fiber 在服务未就绪时被挂起,表现是插件静默不加载、设置里一片空白。

English | 中文

Global memory for DeepSeek Harness: the model can write facts into a persistent store and read them back later. The index is injected into the system prompt every turn, without consuming conversation context.

The package also carries the user-level system prompt feature (the former standalone dsh-system-prompt is merged in). Both halves share one settings page.

What it solves

Models have no cross-session memory. This plugin provides a persistent, searchable memory area:

  • The model writes: stable facts discovered in conversation (preferences, conventions, environment details) are saved through tools;
  • The index is always present: each turn injects "title + one-line summary" into the system prompt, so the model knows what exists;
  • Bodies are on demand: the full text is read only when needed, so the whole store never floods the context;
  • Per-conversation opt-out: a conversation that should not carry memory can turn it off.

Tools

ToolPurpose
memory_saveSave or update one memory (same slug overwrites)
memory_readRead one memory body by slug
memory_listList memories (index only by default)
memory_deleteDelete one memory

User-level system prompt

Written once, applied to every conversation; can also be disabled per conversation.

  • Custom body: anything you want to impose on the model long-term (tone, format, prohibitions);
  • Nine style dials: build a behavior instruction from dials instead of prose — base tone, warmth, enthusiasm, emoji, visual answers, headings and lists, quick answers, suggestions, verbosity;
  • Two injection positions: part of the system prompt, or a context fragment.

Every dial defaults to "default"; keeping all of them default produces no extra content.

UI

  • Composer toggle (left side): three states (off / partial / on), per conversation;
  • Settings → Memory & Prompt: global switch, individual memories, system prompt and style dials, first-run guide.

Storage

PathContents
~/.dsh/memory/One file per memory
~/.dsh/memory-settings.jsonGlobal switch and preferences for memory
~/.dsh/system-prompt/settings.jsonSystem prompt and style dials

Install

The built-in plugin installer is the recommended way. Open Settings → Built-in Plugins, paste the string below into the install box — it is exactly what follows pnpm add — then press install and restart the app:

github:MCJF28/dsh-memory-system-prompt

The installer writes the package into dsh.profile.bundles for you; no manual file edits.

Prefer the command line? Quit the app completely first, then from the profile directory:

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

Add the package name to dsh.profile.bundles yourself and restart the app.

Notes

  • The memory index is injected through systemPrompt.context, not agent.inject. The latter queues a user message, which makes the model answer its own question for another turn.
  • The index refreshes on agent/created and turn/start, because the content is only current after assembly.
  • The system-prompt half deliberately does not list systemPrompt in inject; it resolves the service at runtime via agent.ctx.get('systemPrompt'). A hard injection parks the fiber while the service is not ready, which shows up as a silently unloaded plugin and an empty settings page.