dsh-memory
Manifest valid★ 2Project+global long-term memory for the dsh web GUI: split POST /items endpoints, tool-call context merged into memory items as compact summaries, with deduplication and session-scoped persistence.
dsh-memory
Long-term memory for the DeepSeek Harness Web GUI: project-scoped + global memory stores with automatic extraction, automatic briefing injection, small-model periodic consolidation, and an Obsidian-style memory graph.
See README.zh.md for the full Chinese documentation.
Highlights
- Two scopes: per-workspace project memories (keyed by a hash of the session cwd) plus one global store; plain JSON under
~/.dsh/memory/(respects$DSH_HOME), atomic writes. - Memory view tab beside Chat/Trajectory: one-card-per-row list (type dot, tags, origin, reinforcement count, links) with inline edit/archive/link/delete, search, and a canvas force-directed graph with zoom/pan/drag, neighbor highlighting and a detail card.
- Auto injection: a global
system-prompt/assemblewaterfall listener appends the top-K memories (freshness x reinforcement x degree, interleaved scopes, char-capped) as a dynamic context; agentless assemblies get globals only; failures never touch the assembly. - Auto extraction: on
turn/end, new events are replayed as a transcript and distilled by the model into JSON candidates; near-duplicates (bigram Jaccard >= 0.65) reinforce instead of duplicating; 3 consecutive failures pause auto-extraction until a manual run recovers. - Periodic consolidation: every N extracted turns per scope (default 20) or on manual trigger, the model proposes merge/link/archive/retag ops that are id-validated and applied transactionally.
Install
dsh plugin --profile web add <repo-or-local-path>
dsh web # restart, then refresh the page
Settings (~/.dsh/settings.yaml)
dsh-memory:
enabled: true
injectEnabled: true
autoExtract: true
extractProvider: '' # pair with extractModel to pin a small model
extractModel: ''
manageProvider: '' # consolidation model provider (empty = fall back to extract*)
manageModel: ''
consolidateEveryTurns: 20
topK: 8
maxInjectChars: 1500
maxInputChars: 12000
maxTokens: 1024
autoArchiveDays: 90 # heuristic auto-archive age in days (0 = off)
memoryLocale: '' # force memory language: '' = follow the conversation, or zh/en
embeddingsEnabled: true # local semantic embeddings (needs the optional dependency)
embeddingRemoteHost: '' # HuggingFace mirror, e.g. https://hf-mirror.com
autoLinkThreshold: 0.78 # cosine threshold for auto-linking during consolidation (0 = off)
Layout
lib/index.js— host half: settings, injection/extraction listeners, consolidation pipeline, routes.lib/store.js— two-scope JSON store + durable cursors/counters.lib/util.js— pure helpers (scope keys, similarity, parsers, transcript builder).lib/embeddings.js— optional local embeddings (transformers.js WASM): vector sidecar + serial inference queue.lib/client.js— browser half (hand-written bundle): additiveconversation.viewentry.test/smoke.cjs—node test/smoke.cjs.test/e2e-flow.cjs— six-stage end-to-end business flow (node test/e2e-flow.cjs).
MIT
Compatibility
Versions
| Latest version | Published | Size |
|---|---|---|
| 0.1.0 | — | — |
Comments
Loading…
Similar plugins
by 07vvvv
全局记忆(Global Memory):一条跨会话、跨任务的常驻要求,注入每一个会话的系统提示词,因此每次任务都必须遵循。设置页可视化编辑,global_memory 工具可读写;独立于 memory-eternal。
★ 0
MIT
JavaScript
Oct 15, 2026
dsh plugin --profile web add dsh-global-memoryby yangyongzhen
Long-term memory injected at session start: preferences/facts/summaries/knowledge in global and per-project scopes, budgeted recall via `agent/pre-step`, durable JSON store.
★ 1
↓ 669/wk
JavaScript
Aug 15, 2026
dsh plugin --profile web add dsh-memoryby pomelotea-yuzu
Layered (global + per-project) bounded file-backed memory for DeepSeek Harness — model-curated with user intervention, versioned writes, TTL expiry, session search, and an in-chat memory panel
★ 0
MIT
TypeScript
Aug 24, 2026
dsh plugin --profile web add @deepseek-ai/dsh-memory-layeredby kovey
Layered memory plugin for DeepSeek Harness: strictly separated project/global memory, host-driven recall before tasks and continuous learning after them.
★ 0
NOASSERTION
TypeScript
Sep 30, 2026
dsh plugin --profile web add dsh-memoryby yan5236
Two-phase long-term memory plugin for DeepSeek Harness (DSH): per-session extraction + global consolidation, always-injected summary, and memory_list/read/search/add tools.
★ 3
MIT
TypeScript
Aug 25, 2026
dsh plugin --profile web add @nanmicoder/dsh-memoryby AllenWES365
Project-isolated long-term memory for DeepSeek Harness: each project keeps its own bank, and one aggregate view sees them all.
★ 0
MIT
JavaScript
Sep 27, 2026
dsh plugin --profile web add dsh-local-memory