DeepSeek Harness Plugin Hub

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

探索

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

社区

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

相关链接

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

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

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

dsh-memory-standard

Memory Standard

DeepSeek Harness 的 Memory Standard Protocol (mm):分层 MEMORY.md + 确定性预算 + 冻结快照 + 跨代理 Markdown/URI 互操作 + 会话日志消化。以 dsh bundle 形式提供(工具:mem_read、mem_write、mem_search、mem_budget、mem_digest),并提供独立 CLI。

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

npx -y @deepseek-ai/dsh plugin --profile web add github:JohnXu22786/memory-standard#c4c8f2956bd973256a36c79d706f5c9e60f06a1d
README兼容性版本

兼容性与来源证明

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

DSH 兼容范围
*
运行环境
any
发布来源
github
Registry 更新时间
2026/8/20

版本

0.1.0stable
2026/8/20

相关插件

正在加载相关插件…

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

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

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

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

认领这个 Plugin →
报告问题

相关插件

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

Mnemondsh-mnemon面向 DeepSeek Harness 的可组合三层记忆控制平面:持久化运行时上下文、可搜索的项目文档、可插拔的长期记忆、受保护的策略、WebUI 和无头工具。Memory@furongjun1999/dsh-memory灵枢(Lingshu·líng shū)DeepSeek Harness 插件:完整大脑——长期记忆/知识飞轮/自我认知/递归反思接入 DSH,对话自动沉淀进 md_cg 认知图(md 文档)Rewind Plugindsh-rewind-plugin同窗口内对话回退并恢复工作区文件Meow Memorymeow-memoryDeepSeek Harness 的跨会话项目记忆:七层 SQLite 记忆、首轮快照注入、每条消息的关键词命中、memory_remember/search/project 工具、带 reflection-fold UI 的自动反思,以及由空闲触发的梦境整合

README

dsh-memory-standard

English | 简体中文

A Memory Standard Protocol (mm) plugin for the DeepSeek Harness (dsh): a deterministic, layered, cross-agent memory system built on plain markdown files — not a proprietary protocol.

The dsh ecosystem has dozens of memory plugins but no shared standard, and the official core only ships a default-off MCP memory example. This plugin claims the missing "standard seat": deterministic budgets + layered MEMORY.md + cross-agent mutual recognition + session-log ingestion that works with official compaction/session logs.

  • Layered memory — MEMORY.md is the hand-loaded index (hard cap: 200 lines / 25 KiB, default); detailed notes live in memories/<topic>.md and load on demand.
  • Deterministic budgets — over any budget is a structured error with usage metrics demanding an index rewrite, never a silent truncation. Writes carry a character budget and return usage so an agent can compress on the spot.
  • Cross-agent mutual recognition — a documented plain-markdown format, portable mm://<memoryId>/<topic> URIs, a JSON Schema (schema/memory.schema.json), and an open read/write API. No closed protocol.
  • Write timing — mem_write API plus session-end / periodic nudging; writes persist to disk immediately and load in the next session (in-session reads stay frozen, protecting any prompt cache).
  • Ingestion collaboration — mem_digest recognizes official dsh session logs / compaction output as a memory source and distills candidate memories (optional, self-contained, LLM-free).
  • Toolchain — dsh tools mem_read, mem_write, mem_search, mem_budget, mem_digest, plus a dsh-memory CLI.

The core library is dependency-free (Node built-ins only) and works both inside dsh and standalone.

Status

Developer-preview dsh ecosystem; format version mm v1 (see SPEC.md). Compatible with the installed @deepseek-ai/dsh CLI and bundle format (dsh.bundle.patch + cordis.patch.yml + apply(ctx)).


Quick start

1. Integrate with dsh (local directory bundle)

From the directory that contains this package (dsh-memory-standard/):

dsh plugin --profile demo add ./

# or install directly from this GitHub repository
dsh plugin --profile demo add github:JohnXu22786/memory-standard
# or from npm once published
dsh plugin --profile demo add dsh-memory-standard
# the standalone CLI is also published as a global npm bin
npm install -g dsh-memory-standard

# boot the profile; the five mem_* tools + the 'memory-standard' system section load
dsh --profile demo

dsh plugin forwards to pnpm inside the profile; peer dependencies (@deepseek-ai/cordis, @deepseek-ai/dsh-tools, @deepseek-ai/schemastery) resolve from the dsh installation. Verified against dsh@0.1.0-rc.6.

Notes for other install paths:

  • As a dev overlay → copy cordis.patch.yml and point a --patch overlay at the package's entry (name = package name for the row).
  • The plugin auto-initializes the memory root ($DSH_HOME/memory, or $DSH_MEMORY_ROOT) on first load — no manual init needed.

2. Configure

The bundle ships defaults; every value is overridable by overriding the memory-standard row by id in a later layer (profile cordis.patch.yml, $DSH_HOME overlay, or --patch):

- id: memory-standard
  config:
    root: ''                 # '' => $DSH_MEMORY_ROOT, else $DSH_HOME/memory
    memoryId: local
    indexLines: 200          # hard cap on MEMORY.md lines
    indexBytes: 25600        # hard cap on MEMORY.md bytes (25 KiB)
    detailMaxBytes: 65536    # hard cap per detail file
    defaultWriteBudget: 4000 # per-write character budget
    search:
      mode: auto             # auto | scan | fts5
      limit: 10
      maxSnippetChars: 160
    nudge:
      enabled: true          # session-end / periodic nudging (memory/nudge events)
      intervalMs: 1800000
    lang: auto               # auto | en | zh (system-prompt section language)

3. Use it

In a dsh session the agent gets the five tools (plus a system-prompt section that explains the protocol):

toolpurpose
mem_readread the index, all summaries, or one note's full body (frozen snapshot)
mem_writewrite/update a note with a character budget; returns usage; never truncates
mem_searchsearch memory (FTS5 when available, else scan; CJK-aware scan)
mem_budgetdeterministic budget report (index caps, per-note usage, pending writes)
mem_digestdistill candidate memories from a session log / text (never writes)

Other plugins can access memory directly via the provided service:

const memory = ctx.get('memory')
memory.write({ topic: 'deploy-region', content: 'us-east-1', summary: 'Deployment region' })
memory.search('deploy')

4. Standalone CLI

npm run build                # needed once to compile lib/
node lib/cli.js init --root <dir>
node lib/cli.js write deploy --content "we deploy to us-east-1" --root <dir>
node lib/cli.js read deploy --root <dir>
node lib/cli.js budget --root <dir>
node lib/cli.js search deploy --root <dir>
node lib/cli.js digest --file <session.log.jsonl> --root <dir>

All commands accept --json for machine-readable output; --root selects the memory root. Install globally with npm i -g . to get the dsh-memory bin.


How it works

Layered memory

<root>/MEMORY.md          hand-loaded index (small, hard-capped)
<root>/memories/t1.md     on-demand detail notes (free markdown)

mem_read without a topic returns the index (the hand-load surface); a topic returns that note's full body. Budget lets the agent decide what belongs in the index summary vs. the detail note.

Deterministic budgets

Three no-truncation guarantees (see SPEC.md §6):

  1. a write over its character budget fails with usage.overflow, writes nothing; compress and retry,
  2. a note over its byte cap fails, preserving the previous content,
  3. an index over its line/byte hard cap fails and demands a rewrite — the error text says so explicitly. Deleting/consolidating to fit again is the recovery path.

A compliant writer must never "fix" an over-budget write by silently dropping content — the standard views that as data loss.

Frozen snapshots

Memory loads a snapshot once per session. Reads and search serve that snapshot; writes go to disk for the next session. pendingWrites exposes staged writes; reload() re-snapshots (used by the CLI and integrations). This keeps the session's view self-consistent and protects prompt caches.

Cross-agent interop

  • The on-disk format is plain, documented markdown (SPEC.md) and the URI scheme is mm://<memoryId>/<topic>.
  • schema/memory.schema.json describes the note shape for any compliant writer/reader.
  • The public API (Memory, and ctx.get('memory') in dsh) is an open interface — not a closed tool protocol. Any agent or tool can read/write the same files.

Ingestion collaboration

dsh stores sessions under $DSH_HOME/sessions and compacts them; those logs are recognized as a memory source. mem_digest reads the most recent *.jsonl/*.md (or an explicit file/text), recognizes mm: markers, MEMO:/记忆:/记住: lines, summary lines, and markdown headings, and returns budgeted candidates for review. It never auto-writes — the agent chooses what to commit.


Project layout

src/
  types.ts            shared/interop types + defaults (mm v1)
  core/               dependency-free library (Node built-ins only)
    memory.ts         Memory facade: snapshots, writes, budget, search, digest
    format.ts         index/note markdown grammar + URIs (SPEC implementation)
    budget.ts         deterministic budget arithmetic
    search.ts         scan search + optional SQLite FTS5 (node:sqlite)
    digest.ts         session-log distillation
    paths.ts          layout & root resolution
  dsh/
    tools.ts          the five mem_* defineTool registrations
    guide.ts          system-prompt "standard bit"
  cli.ts              dsh-memory CLI
  index.ts            dsh bundle entry (name/inject/Config/apply)
cordis.patch.yml      bundle patch layer
schema/memory.schema.json
SPEC.md / README.md / README.zh.md
examples/root/        runnable example memory
test/                 node:test suite (budget/layered/snapshot/search/digest/interop/cli)

Development

npm install
npm run build      # tsc -> lib/
npm test           # build + node --test
npm run typecheck

Uses only dev dependencies (typescript, @types/node, and the dsh peer packages for type-checking). Runtime dependencies: none beyond Node built-ins (node:sqlite optional for FTS5; graceful fallback to scan).

License

MIT — see LICENSE.