seriousz158/dsh-memory
dsh-git-memory
dsh-git-memory is a community DeepSeek Harness plugin. Read the repository README before installing.
Install
npx @deepseek-ai/dsh plugin --profile web add github:seriousz158/dsh-memoryRestart `dsh web` after install. Bundle APIs can change during the developer preview.
README badge
[](https://dshhub.dev/plugins/seriousz158-dsh-memory)Paste this into your README. The star count updates with every catalog sync.
From the README
Excerpt from seriousz158/dsh-memory, cleaned of badges and images.
dsh-memory
dsh-memory is a local, Git-backed long-term-memory plugin for DeepSeek Harness (DSH).
It adds one persistent setting, a safe settings-page workflow for clearing memories, and an optional idle-session synchronizer. The host plugin injects memory guidance only when memory.enabled is true; the UI plugin lets a user inspect the repository state, toggle the setting, and clear learned memory through a deliberate two-step confirmation.
What it does
- Stores durable memory in a local Git repository, not in this source repository or a hosted service.
- Registers the
memorysettings namespace immediately, somemory.enabledtakes effect for the next model call without restarting DSH. - Shows a long-term-memory row in DSH settings with repository status and a double-confirmation Delete memory action.
- Preserves a Git recovery point before clearing
summary.md,handbook/,rollouts/, andarchive/: a clean repository reuses its existing HEAD, while dirty target paths get a dedicated checkpoint commit; the next commit records the cleared state. - Refuses unsafe repository layouts, symbolic-link escapes, non-repository roots, and path races during a clear operation.
- Can process only idle local session logs through an optional headless synchronizer. The synchronizer defaults to
workspace-write, never silently installs DSH, and forwards only an allowlisted environment.
Capabilities
This README describes stable user-facing behavior. Release-by-release implementation details are intentionally kept out of this page; see CHANGELOG.md and the GitHub releases for historical changes.
Local Git-backed memory
- Memory stays in a local Git repository. There is no hosted memory service or cloud vector database.
- Markdown records support front matter, namespaced ids, provenance, expiry projection, deterministic conflict handling, and legacy compatibility.
summary.mdis a short navigation snapshot; detailed knowledge belongs inhandbook/,rollouts/, andarchive/.
Safe synchronization and recovery
- Optional idle-session sync runs in a private per-run workspace. The model can edit only the isolated copy; the host validates and writes the live Git repository.
- The host provides dry-run/preview/apply flows, operation locking, health checks, bounded batches, retry backoff, duplicate-id diagnostics, and metadata-only journals.
- Recovery/apply commits, rollback, backup export/import, and legacy migration keep changes auditable and reversible. Migration is available through the CLI/host API, not the settings UI.
Read path
- When enabled, a bounded and explicitly untrusted
summary.mdsnapshot is available to the model (12 KiB maximum). memory.search()andmemory.context()provide local, bounded retrieval with source citations and usage-aware deterministic ordering. Retrieval is hybrid: a derived SQLite index (FTS5 trigram + CJK-bigram/word terms, stored at.sync/search-index.sqlitewith restrictive permissions) is fused with lexical scoring and exact-substring precedence, and transparently falls back to a pure scan when the index is missing, stale, or corrupt.- Read usage is stored as private metadata in
.sync/usage.json; transcripts, prompts, credentials, and memory content are not written to journals.
DSH settings integration
…

