DSH Plugin MarketA community catalog for DeepSeek Harness plugins

dsh-obsidian-mem

Verified Integrations & connections ★ 14 2.2.0

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-mem pointer, 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, a node:sqlite search 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.

PluginAuthor StarsVersionUpdated
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