DeepSeek Harness Plugin Hub

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

探索

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

社区

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

相关链接

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

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

Mem — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins

@gezi-wen/dsh-mem

Mem

DeepSeek Harness (dsh) 的跨会话记忆插件——使用透明的 Markdown 记忆文件,通过问题进行回忆,并在 Web UI 中提供记忆星图视图

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

npx -y @deepseek-ai/dsh plugin --profile web add @gezi-wen/dsh-mem@0.5.5
README兼容性版本

兼容性与来源证明

Mem 以 @gezi-wen/dsh-mem 发布,当前版本为 0.5.5。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
npm
Registry 更新时间
2026/9/26

版本

0.5.5stable
2026/9/26

相关插件

正在加载相关插件…

最新版
0.5.5
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
137.6 kB
文件数
8
Surface
web
许可证
Apache-2.0
发布源
npm
GitHub
★ 0
周下载
0
查看源码 ↗
README Badge

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

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

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

认领这个 Plugin →
报告问题

相关插件

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

Memory Plugin@openviking/dsh-memory-plugin适用于 DeepSeek Harness 的 OpenViking 记忆与上下文套件Contextdsh-context用于上下文洞察和管理的 DeepSeek Harness 插件,提供上下文仪表板和上下文命令,帮助了解上下文的构成及其演变过程。Weknora@wxg-prc-cpg/dsh-weknora适用于 DeepSeek Harness (dsh) 的 WeKnora 知识检索工具:通过自有知识库进行语义搜索、文档阅读以及 RAG/代理回答。Mnemondsh-mnemon适用于 DeepSeek Harness 的可组合、基于视图的记忆。支持可插拔的数据源和策略,并开箱即用地提供分层记忆。

README

dsh-mem · DSH 的文件式记忆插件

给 DeepSeek Harness(DSH)装上跨会话记忆——agent 今天记住的事,明天的新会话自动想起来。

记忆存在本地 markdown 文件里(frontmatter + 正文),不是数据库。透明、可检查、防膨胀。

包名变更(v0.5.5)

本插件原名 sage-mem,自 v0.5.5 起改名为 @gezi-wen/dsh-mem。

迁移只需改 profile:dependencies 与 dsh.profile.bundles 里把 sage-mem 换成 @gezi-wen/dsh-mem,pnpm install 后重启 DSH。 记忆数据原地不动 —— 目录仍是 ~/.sage-mem/memory(可用 SAGE_MEM_DIR 覆盖)。换名字不丢记忆。

DSH 版本兼容性(0.5.5 核对于 0.1.7-rc.2) session.deriveMessages()(仍是同步)、system-prompt/assemble 事件、以及 context.agent.session 这条链,在 0.1.6 → 0.1.7 之间均未改变,本插件在 0.1.7 上无需改动即可工作。 0.5.3 另加了一层防御:deriveMessages() 若哪天被改成异步,或 Session 上的历史读取接口被改名(0.1.7 起 snapshotEvents / eventAt / ownEvents 已标记弃用),插件会在日志里报警,而不是像以前那样静默地不再注入记忆。

从 Claude Code 无损迁移

你已经在 Claude Code(CC)里养了一个 agent,舍不得它的记忆和人格?dsh-mem 是「CC → DSH」迁移方案的一部分,记忆与人格都能无损搬过来:

  • 人格:CC 的 CLAUDE.md → DSH 的 AGENTS.md,DSH 原生加载,纯文本一字不改就能用。
  • 记忆:CC 沉淀的跨会话记忆 → dsh-mem 的 memory/ 目录(markdown + frontmatter,四类)。

没有数据库、没有私有格式——全都是 markdown 文本,直接拷文件就完成迁移。agent 换了身体,但依然记得你是谁、记得你们聊过什么、记得进行中的项目。

为什么用文件

DSH 原生没有记忆系统,每个会话都是白纸。市面上的记忆方案大多走 SQLite + 常驻 worker:

  • 记忆写进数据库,不透明——想检查存了什么得查表,想清理要连数据库
  • 事件自动捕获会膨胀——"用户打了个招呼"这种无实质内容也被存进去
  • 需要一个常驻 worker 进程 + 端口,多一份运维负担

dsh-mem 换成文件式:每条记忆一个 markdown 文件,直接用编辑器打开就能看、能改、能删。存不存由 agent 按规则判断,不是事件全捕获。没有 worker、没有 SQLite、没有端口。

功能

  • 按问题检索注入:每次提问,插件扫记忆目录,用 frontmatter 的 description 和文件名做匹配,把相关记忆注入上下文,agent 第一轮就「想起来」
  • 每次会话必读(v0.5):frontmatter 标了 baseline: true 的记忆,在新会话第一步无条件注入——给「待办清单」「你是谁」这类每次开场都该在场的记忆用(上限 5 条)
  • 四类记忆:user(用户是谁)/ feedback(工作方式指导)/ project(项目状态)/ reference(外部信息指针)
  • 文件透明:记忆就是 *.md 文件,frontmatter 存元数据,正文存内容
  • 防膨胀:写入靠规则引导 agent 判断「存不存」,无实质内容、能靠代码/git 推导的不存
  • Web 文件管理器(v0.4):DSH 设置页「记忆管理」,浏览/查看/编辑/删除记忆文件,添加新记忆
  • 记忆星图(v0.4.3 起并入):把记忆画成一片星空,按类型和大小分布

架构

DSH(Cordis 插件)
  └─ dsh-mem 插件(按问题检索 + 注入)← 本仓库
       │  Node fs 直读
       ▼
memory/ 目录(markdown 文件,4 类)
  ├── user_*.md
  ├── feedback_*.md
  ├── project_*.md
  ├── reference_*.md
  └── MEMORY.md          ← 索引

没有 worker、没有 SQLite、没有 HTTP 端口、没有常驻进程。

安装

从 npm:

{
  "dependencies": {
    "@gezi-wen/dsh-mem": "^0.5.5"
  },
  "dsh": {
    "profile": {
      "bundles": ["@gezi-wen/dsh-mem"]
    }
  }
}

或直接从 GitHub:

{
  "dependencies": {
    "@gezi-wen/dsh-mem": "github:gezi-wen/dsh-mem"
  },
  "dsh": {
    "profile": {
      "bundles": ["@gezi-wen/dsh-mem"]
    }
  }
}

或 clone 后本地 link:

{
  "dependencies": {
    "@gezi-wen/dsh-mem": "link:../dsh-mem"
  }
}

然后 pnpm install 重启 DSH。

DSH 兼容性

dsh-mem 是纯 DSH 插件,在 package.json 的 dsh.compatibility.dshReleases 里逐版本声明兼容状态:

DSH 版本状态
0.1.2-rc.1compatible
0.1.3-alpha.1compatible
0.1.3-alpha.2compatible
0.1.5-rc.1compatible
0.1.6-alpha.1compatible
0.1.6-alpha.2compatible
0.1.7-rc.1compatible
0.1.7-rc.2compatible

自 DSH 0.1.6-alpha.2 起,TypertCodec 契约从「读 schema」改为「读 create() 工厂」—— 仍只写 schema: 的插件会在注册阶段直接抛错,导致整棵插件树加载失败。自 0.5.2 起每个 codec 同时带 schema 与 create: () => schema,因此同一份构建同时兼容 alpha.1 及更早(读 schema)与 alpha.2 及以后(读 create),升级 DSH 时不需要换插件版本。

Node.js 要求 >= 18(见 engines.node)。

卸载

在 profile 的 package.json 里删掉 @gezi-wen/dsh-mem 依赖,并从 dsh.profile.bundles 移除 "@gezi-wen/dsh-mem";pnpm install 后重启 DSH 即可。记忆 markdown 文件留在原目录,不受影响。

配置

用环境变量 SAGE_MEM_DIR 指定记忆目录,默认 ~/.sage-mem/memory:

SAGE_MEM_DIR=/path/to/your/memory

变量名与默认目录沿用了旧包名,刻意不改:它们是既有用户的记忆所在路径,改名会导致记忆「消失」。

记忆文件格式:

---
name: 可选的短名
description: 一句话说清这条记忆是什么(检索靠它,务必写准)
metadata:
  type: user        # user / feedback / project / reference
baseline: true      # 可选:新会话第一步无条件注入(上限 5 条)
---

记忆正文。

feedback 类建议带 **Why:**(原因)和 **How to apply:**(何时生效)两行,方便判断边界。

验证

跨会话记忆链路(实测):

  1. 会话 A 说「记住:我的猫叫芝麻,它喜欢晒太阳」——agent 按规则写进 memory/
  2. 开新会话 B 问「我的猫叫什么」
  3. agent 第一轮直接答出「芝麻」——记忆自动注入,无需 agent 自己找

相关项目

  • DeepSeek Harness — DSH 本体,一切皆插件

旧版

本仓库早期是 SQLite + worker 架构,已归档到 sqlite-worker 分支。文件式是继任实现。 更早还用过 sage-mem 这个名字(0.1.0 – 0.5.4),v0.5.5 起改名为 @gezi-wen/dsh-mem。

License

Apache-2.0