zhaoyuntao-wl/dsh-plugin-thread
Session memory with lineage for DeepSeek Harness: the full event stream lands in SQLite and is queried back through a native filesystem-style tool.
Thread is a deep-integration session-memory plugin for DeepSeek Harness that uses the base's native channels end to end. The README lists: lossless capture (subscribing to session/event, with the full event stream landing in dual SQLite databases via idempotent append), structural delivery with three triggers (a first-turn anchor, a re-anchor after every compaction and a cross-agent state delta at each turn boundary), a native query_session_memory tool registered into the model's tool schema with filesystem-style ls / cd / cat / grep navigation and deterministic BM25 retrieval, a behavior-contract thread skill, and explicit decision and preference channels (/thread-reg dec, record_decision, /thread-reg fdb). It deliberately turns natural-language extraction of decisions off to avoid false positives, keeping the lossless event stream as the backstop.
Install
dsh plugin add dsh-threadCopied verbatim from the README's install section, which also gives dsh plugin add dsh-thread@latest as the upgrade command (the core follows automatically through its ^1.0.0 dependency). The README notes all dsh plugins must be referenced in a profile's bundles to take effect, and documents a pnpm-10 gotcha where better-sqlite3 bindings need pnpm rebuild better-sqlite3.
Compatibility
The README's troubleshooting section documents a pnpm-10 onlyBuiltDependencies policy that ignores better-sqlite3's build script, so a missing-bindings error is fixed with pnpm rebuild better-sqlite3 rather than being a plugin bug. The capture design cites memory-research papers for its log-first approach.
Details
- Repo: zhaoyuntao-wl/dsh-plugin-thread
- Category: Sessions & Messages
- Stars: 1
- Version: GitHub repo zhaoyuntao-wl/dsh-plugin-thread (MIT, per the README's License section); npm package dsh-thread at 1.4.1 (registry check 2026-10-07).
FAQ
- Does it use embeddings?
- Not by default. The README says retrieval is deterministic BM25 over the lossless stream with citation pull-back and no embedding dependency by default; a hybrid layer can be added at the integration boundary but is not bundled.
- Why do I get a 'Could not locate the bindings file' error?
- Per the README it is a pnpm 10 onlyBuiltDependencies policy ignoring better-sqlite3's build script, not a plugin bug; running pnpm rebuild better-sqlite3 fixes it.
Alternatives
dream12347/dsh-session-manager · beijingwahw/dsh-companion · dylan121322/dsh-session-unarchive