DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

Lmmarr — DSH Plugin for DeepSeek Harness
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins
L

dsh-lmmarr

Lmmarr

DeepSeek Harness plugin: hierarchical task memory + relationship graph + persistent hot-memory projection (lmmArr)

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add github:RaganaBloodedge/dsh-lmmarr#6a7eba492c755bc3d2150c14695614c6bf396433
READMECompatibilityVersions

Compatibility and provenance

Lmmarr is published as dsh-lmmarr and currently resolves to version 0.2.0. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
any
Release source
github
Registry updated
10/15/2026

Versions

0.2.0stable
10/15/2026

Related plugins

Loading related plugins…

Latest
0.2.0
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
any
License
MIT
Source
github
GitHub
★ 0
Weekly downloads
0
Last push
10/15/2026
View source ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

Related plugins

More verified plugins in memory-context.

Hindsight Coding Agents@vectorize-io/hindsight-coding-agentsReflect-only Hindsight long-term memory for coding agents (harness-pluggable: opencode, …), with automatic background ingestion (no setup CLI).Ab Memorydsh-ab-memory--- description: "The dsh-ab-memory package: a cross-session, file-backed agent memory with five tools (remember / recall / forget / load_skill / distill) and an always-on light injection." kind: "package-reference" ---Contextdsh-contextA DeepSeek Harness plugin for context insight and management, with context dashboard and context command, for understanding how the context is made of, and how it evolves.Memsearch Dsh@zilliz/memsearch-dshMemSearch plugin for DeepSeek Harness: shared markdown memory across agents, with capture, pre-step context injection, memory-recall skill, and a skill-candidate review panel.

README

dsh-lmmarr

DeepSeek Harness 的长期记忆插件。lmmArr = long-memory, as a task graph。

一句话定位:让「我在做什么、做到哪、和什么有关」零成本常驻,并且按任务只读那一块记忆。

它解决什么

上下文压缩会丢细节,RAG 只能"再找回来",而每开一个新会话,模型都得重新被告知你是谁、在做什么。 本插件的做法不是压缩,而是换一种组织方式:

层文件谁在维护成本
原始YYYY-MM-DD.md人手工写,append-only零(不进上下文)
任务MEMORY_<任务ID>.md模型按需读写只在召回该任务时进上下文
索引MEMORY.md工具自动重写常驻(投影进系统提示,确定性、有预算)

关键在最后一行:索引被逐字放进了稳定前缀,所以它是"免费"的 —— 引擎的前缀缓存第一次算完就留住了。 索引里不含时间戳,同一份记忆投影出的文本逐字相同;这是缓能否命中的充要条件,也是本仓 docs/design.md 里那条论证的落地。

安装

从源码直接挂载(免构建,当前可用):

dsh web --patch ./cordis.yml

从 npm 安装(包尚未发布,发布后可用):

dsh plugin --profile web add dsh-lmmarr

自检(改配置后务必看一眼,dsh 对配置错误是静默忽略而不是报错):

dsh --profile web --dump-config | grep -A8 "id: lmmarr"

配置

字段默认说明
dir<cwd>/.dsh-memory记忆目录
depth1lmmarr_context 的默认邻域跳数
writeEnabledtrue设 false 整插件只读;写工具会明确拒绝并说明原因,而不是静默无效
guidancetrue是否注入记忆协议到系统提示
hotMemorytrue是否把索引投影进上下文
maxProjectionCharacters2000投影的字符预算;超出先丢关系、再裁任务,且显式说明截断
bodySoftLimit16000单个任务正文的软上限;超出只在索引里提示「该拆了」,不自动改写
timeoutMs10000工具执行超时

工具

工具作用
lmmarr_index读完整索引(任务表 + 关系图 + 一致性问题)。索引已在上下文里,只在需要全表或要报告问题时调用
lmmarr_context读一个任务 + 其直接邻域,其余文件一个不碰。这是读记忆的正道
lmmarr_upsert建/改一个任务记忆文件。同 id 复用即更新,未传的字段一律保留
lmmarr_link声明 child(拆解)/ depends(前置)/ relates(弱关联);child/depends 必须无环,成环的边会被拒绝且什么都不改
lmmarr_forget删一个任务文件并带走它的关系。破坏性操作,只在用户明确要求或条目确实错了时用

架构

src/
  index.ts       插件入口:只做「按 dsh 规范挂载」这一件事
  guidance.ts    记忆协议 → systemPrompt.section(告诉模型何时该用、何时绝不该写)
  project.ts     热记忆投影 → systemPrompt.section(确定性、有预算、无时间戳)
  service.ts     Cordis 服务 lmmarrMemory(工具只是它的一层视图)
  memory/        记忆内核:graph(图谱)/ store(存储)/ nodefs / cli
  index/         未接入的检索路线探索(embedding / 一致性哈希 / 任务归纳),论证见 docs/design.md

三条设计约束,都写进了测试:

  1. 内核对外零依赖。graph.ts / store.ts 只认一个 FsPort 接口,所以能完全离线单测。
  2. 写路径唯一。「采集问题 → 重写索引 → 返回快照」收敛在 service.refresh() 一处。顺序不可换:重写索引会把悬空边自愈掉,先写再查就永远报不出问题。
  3. 引导与工具分离。工具的 description 只说"能做什么";"什么时候用、什么时候绝不该写回"必须常驻系统提示,模型才会形成纪律。

开发

npm run verify      # 类型检查 + 全部测试 + 构建
npm test            # 只跑测试(node --test,无需构建)
npm run build       # tsc → lib/
npm pack            # prepack 会自动构建;产物只含 lib/ + cordis.patch.yml + 文档
npm run verify:name # 发布前包名闸门
npm run verify:mount # 挂载探针:真实 boot 一次,确认 5 个工具与两段引导真进了模型可见面(不花模型调用)

发布流程与坑清单见仓库内的 docs/publishing.md(维护者文档,不随 npm 包发布)。

同一套记忆,装成 Agent skill

skill/ 是同一份记忆内核的 skill 形态(SKILL.md + references/ + 零依赖脚本),供按 skill 机制加载的宿主使用。它与 dsh 插件同源——都编译自 src/memory/,不会分裂成两份实现:

npm run sync:skill   # src/memory → skill/scripts,并安装到 ~/.workbuddy/skills/lmmarr-memory

skill/tools/agents-probe.mjs 是一个零依赖的能力门:探测当前框架有没有子代理,输出 MODE delegate|self-compress,给「探索性工作该委派出去、还是只留结论」这条纪律分叉用。

与 dsh-mnemon 的关系

本插件的架构骨架(引导层、视图/注意力分离、服务化、打包与发布形态)参考了 dsh-mnemon。 刻意的取舍:

借鉴:系统提示里常驻的记忆协议;把能力 provide 成服务、工具只做视图;params 走 JSON Schema 子集(每个 object 必须显式 additionalProperties);发布形态(lib/ 构建产物 + dsh.bundle.patch + exports/files 白名单)。

不跟:多 provider 后端(9 个外部记忆服务)、React 客户端 UI、Git 同步与 GitHub 登录、子代理协调器、view_route/view_action 的双层间接寻址。这些在 mnemon 的规模下是必要的,在我们这里主要变成维护面。

License

MIT