Read-only enhancer for a file-based long-term memory library (markdown cards in git): a memory_find search tool, a small budgeted memory digest injected into the system prompt, and a settings page with library overview, health-check status and toggles.
Install
# from a prebuilt release tarball
dsh plugin --profile web add "https://github.com/WYR-233/dsh-memory-lite/releases/latest/download/dsh-memory-lite.tgz"
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:WYR-233/dsh-memory-lite
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README
This plugin publishes its README in Chinese only.
Read-only enhancer for a file-based long-term memory library (markdown cards kept in git) in DeepSeek Harness (DSH).
MIT · zero runtime dependencies · host + settings page · 中文说明见文末
What it does
| Feature | Detail |
|---|---|
memory_find tool |
Searches the library's cards: CJK by adjacent bigrams, Latin by whole words, weighted title ×6 / keywords ×4 / body ×1. Returns card paths + matched terms + a snippet, then the agent opens the card with read. |
| Memory digest injection | Appends one small systemPrompt section (default ≤900 chars, configurable): where the library is, which topics exist, and "search it before guessing". |
| Settings page | A "Memory library" section under DSH Settings: card count / body size / topics / last update / longest card, health-checker status, and toggles (digest on-off, tool on-off, digest budget, search limit). |
What it deliberately does NOT do
- Never writes to the library: no card edits, no commits, no pushes. For automation (auto-commit, periodic health checks) pair it with your own scheduled script.
- Never rewrites conversation history — it only appends one prompt section.
- No database and no cache; the only state is one small JSON config file.
Requirements
- A memory library directory with an index file (default
INDEX.md) and a search script (defaulttools/memory-find.mjs). Any script speaking this contract works:node <script> --stdin --top <n>(query arrives on stdin) or--stats(library overview). - DSH with
@deepseek-ai/cordisresolvable in the profile (a normal DSH install).
Install
dsh plugin --profile web add github:WYR-233/dsh-memory-lite
Then restart that profile.
Configure
Point it at your library — plugin config in the profile's cordis.patch.yml:
- id: memory-lite
config:
memoryRoot: /absolute/path/to/your-memory-library # or set env DSH_MEMORY_ROOT
stateDir: memory-lite # optional, relative to $DSH_HOME
searchScript: tools/memory-find.mjs # optional
indexFile: INDEX.md # optional
or simply export:
DSH_MEMORY_ROOT=/absolute/path/to/your-memory-library
Runtime toggles (digest on/off, tool on/off, budget, search limit) are changed in the settings page
and stored in <stateDir>/config.json — written atomically, and a parse failure falls back to
defaults instead of silently wiping values.
Optional: health panel
The Health card reads a log file when MEMORY_LITE_HEALTH_LOG points at one, expecting lines like:
[2026-01-01 10:00:00] issues=0 notes=2
issue: <text>
note: <text>
Any scheduled checker writing that shape shows up in the panel automatically.
How it fits together
This plugin is the thin "read fast" layer. The reference setup it was extracted from keeps memory as plain markdown cards in a git repo, plus an index of topics, a search script, optionally a periodic commit/health guard, and a rendered website for browsing the same cards. Because the store is plain files, everything stays human-readable, diffable and editable — that is the whole point.
中文说明
只读的记忆库增强插件:给 DSH 加一个 memory_find 检索工具、开场注入一小段记忆库摘要(默认 ≤900 字符,
可调),并在设置里加一栏「记忆库」侧边栏(概览 / 健康 / 开关)。
- 只读:不写卡片、不 commit、不 push(自动化请搭配你自己的定时脚本)
- 不改会话历史:只追加一段 systemPrompt
- 零依赖、无数据库:唯一状态是一个小配置文件
装好后把 memoryRoot 指到你的记忆库目录(或设环境变量 DSH_MEMORY_ROOT)即可;开关在设置页改,
即时生效,配置存在 <stateDir>/config.json(原子写,坏了回默认,不静默清空)。
License
MIT
Links
More in this category
volcengine/OpenViking#examples/dsh-memory-plugin★ 38018
OpenViking memory and context bundle for DeepSeek Harness: pre-step auto-recall and profile injection, session capture, `viking://` URI guarding, and recall/write memory tools backed by an OpenViking server.
vectorize-io/hindsight#coding-agents★ 23911
Hindsight, agent memory that learns: long-term project memory with auto recall and retain, knowledge pages, deep reflection, and per-repo memory banks.
agentscope-ai/ReMe#dsh★ 3488
Connects DeepSeek Harness to ReMe's local-first, self-evolving personal knowledge base: automatically captures completed main-agent conversations as user-owned Markdown memory, searches conversations and source material through reme_search with BM25, optional embeddings, and wikilink expansion, and schedules daily memory consolidation.
zilliztech/memsearch#MemSearch★ 2623
Shared Markdown memory for DSH and other coding agents, with automatic capture, pre-step context injection, searchable recall, and memory-to-skill self-evolution through a review panel.
vshulcz/deja-vu#extensions/dsh★ 846
Reads the session files twenty-two other coding agents on this machine already wrote — Claude Code, Codex, Cursor, VS Code Copilot Chat, opencode, OpenClaw, Hermes, Kimi, Cline, Zed and more — including sessions from before it was installed: six tools (deja_recall, deja_session, deja_blame, deja_fix, deja_how, deja_remember), a /deja command, and optional automatic recall added to the runtime context. Local BM25 index, no LLM, no embeddings, no network (dsh plugin --profile web add dsh-deja).
adoresever/graph-memory★ 626
Traceable, searchable cross-session memory for DeepSeek Harness — conversation knowledge as typed graph nodes (TASK/SKILL/EVENT) and typed edges.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.