dsh-obsidian-mem
DeepSeek Harness host plugin that keeps project documents and long-term memory as plain Markdown in a dedicated Obsidian vault.
What it is
DeepSeek Harness host plugin that keeps project documents and long-term memory as plain Markdown in a dedicated Obsidian vault.
How to install
Run this in the DSH web profile, then refresh the page.
$ dsh plugin --profile web add 'git+https://github.com/bonerush/dsh-obsidian-mem.git#8609129f3f7eec37d8fd95d94d2a544fb32c1b58'
DSH versions accepted
>=0.1.5-rc.2
Author and traction
bonerush · ★ 14 · Updated 2026-11-09
About this plugin
dsh-obsidian-mem
Project memory and a knowledge graph for DeepSeek Harness — plain Markdown in an Obsidian vault
English · 中文
A DeepSeek Harness host plugin that keeps a project's documents and long-term
memory as plain Markdown in a dedicated [Obsidian](https://obsidian.md) vault, and
draws that memory in the native sidebar: a GitHub-style contribution calendar, a
day-grouped activity timeline, searchable notes with highlighted snippets, and a
force-directed knowledge graph.
One repository gets one stable projectId, one committed pointer file and one
fixed directory in the vault. The plugin writes there; Obsidian just shows you
the result. Obsidian does not need to be running, and no part of the vault
depends on DSH.
repository vault (~/Documents/dsh-memory)
├── .obsidian-mem ───────────► └── Projects/--/
│ projectId, slug, ├── index.md hub / MOC
│ displayName, schema: 1 ├── Docs/ Decisions/ Conventions/ Pitfalls/
└── src/ … ├── Daily/YYYY-MM-DD.md
├── Inbox/ 待分类
└── _meta/hot.md 热记忆
Two layers, on purpose:
- Protocol (vault layout, the
.obsidian-mempointer, note frontmatter, the
distillation output contract) is plain Markdown and is not DSH-specific. The
shipped skill skills/obsidian-mem/SKILL.md follows the Agent Skills format,
so it works in another harness too — [codex/](./codex/README.md) installs that
protocol and the same six operations into Codex CLI, through an MCP server that
reuses lib/ rather than copying it, plus hooks for the session brief and a
small relevant-note map on each new user prompt.
- Adapter is DSH-specific: six
mem_*tools, anode:sqlitesearch index kept
outside the vault, and automatic distillation of completed turns. The recall
injection left that list: both harnesses compose it from the same buildBrief,
and each delivers it through its own extension point.
> Read [Honest limits](#honest-limits) before you enable automatic writes.
> This plugin is careful about what it refuses, but it is young. What follows is
> what this release writes down, not a claim to be exhaustive; CHANGELOG.md
> keeps the running record of what has been verified and what has not.
>
> When something misbehaves, the package can produce a report you attach to an
> Issue yourself: generate it, read the JSON, then attach it. See
> [Diagnostic report for an Issue](#diagnostic-report-for-an-issue).
---
Highlights
| | What it gives you |
|---|---|
| 🧠 Plain-Markdown memory | One project gets one stable projectId, one committed pointer file and one directory in the vault. Obsidian only displays the result; the vault outlives DSH and stays readable with the plugin uninstalled. |
| 🔌 Protocol plus adapters | Vault layout, pointer and note frontmatter are a protocol: skills/obsidian-mem/SKILL.md ships it for any Agent-Skills harness, and codex/ installs the same six operations into Codex CLI through an MCP server that imports lib/ instead of copying it. |
| ✍️ Six memory tools | mem_search, mem_read, mem_write, mem_log, mem_brief, mem_admin — transactional writes, a rebuildable SQLite/FTS5 cache, and a session brief that stays inside a fixed character budget. |
| 🔎 Retrieval with a default semantic engine, local or cloud | FTS5/BM25 baseline; the hybrid engine is the default and adds a semantic channel once you point retrievalProvider at an embedding service — a loopback one (egress: loopback) or an internal/cloud gateway (egress: remote stated explicitly, apiStyle: openai speaking OpenAI /embeddings directly); no provider configured means the lexical path, unchanged. Plus a local TF-IDF/cosine reranker (sparse), same-day create/update accounting, per-turn relevant-note recall, and a brief that is navigation rather than a content dump. |
| 🗂️ Distillation and curation | Completed turns distill into typed notes in the background, through the DSH host llm by default (transport: host) or straight to an OpenAI-compatible endpoint (transport: http: a local Ollama/LM Studio server or a cloud gateway), so a host with no routed provider can still distil; near-duplicates and risky rewrites are parked as proposals that only a person can approve — with dsh-obsidian-mem-review, in a terminal. |
| 📊 Live memory panel | A GitHub-style 53-week activity calendar with fixed 10 px cells, month and weekday labels, a hover tooltip and in-figure horizontal scrolling; new-versus-updated flow bars, a tag treemap, a type→status composition Sankey, a KPI sparkline, a day-grouped activity timeline, and a 健康 dashboard whose three maintenance actions report their outcome in the card that owns the button. Background polls re-scan the index silently, so memory written by another process appears without a DSH restart. |
| 🕸️ Knowledge graph | Every node in scope is drawn — no top-N truncation — with a 1:1 port of Obsidian's D3 fallback forces, alpha schedule and seeding/drag protocol. Filters, colour groups, display and forces persist per browser origin; read/write/search/reinjection cues light up the nodes a turn touched. |
| 🔒 Safe by default | The panel is read-only; exactly three maintenance operations can write, each preview → confirm behind a single-use 60-second token. The web route keeps its loopback/same-origin fences even through the desktop shell's dsh-app:// proxy. |
| ✅ Evidence before claims | The changelog names what was measured, on which host, and what is still untested; the suite and the pack contract run in CI on every push. |
Screenshots
Real renders of the shipped view module with the host's own theme tokens, inside
the DSH sidebar shell.
| Overview — activity calendar and charts
Compare in this category
The five most-starred plugins in the same category.
| Plugin | Author | Stars | Version | Updated |
|---|---|---|---|---|
| treg | superdesigndev | 7.7K | 0.30.0 | 2026-11-10 |
| dsh-im | xmanrui | 3.4K | 5.10.0 | 2026-11-07 |
| DeepSeekBot | BotHarness | 773 | 0.0.0 | 2026-11-10 |
| sandbase-harness | sandbaseai | 642 | 0.0.1 | 2026-11-08 |
| MisakaNet | Ikalus1988 | 558 | 3.9.0 | 2026-11-10 |