No more fragmented "one markdown file per day" notes.
Facts, preferences, schedules, task progress — all in a single entity–time-fused memory graph.
One agent, one whole memory —
undivided, unbroken, as memory was meant to be.
memoplus4dsh is the unified long-term memory plugin for deepseek-harness. Everything your agent needs to remember — facts, preferences, schedules, task progress — lives in a single entity–time-fused memory graph. No per-day markdown shards, no forgetting between sessions. One memory, for the whole life of the agent.
We believe an agent's memory should work like a human's: whole, continuous, and growing. Not diary pages piling up in a filesystem, not a scratchpad wiped clean at every session's end — but one unbroken memory, written from day one to today. An agent that remembers yesterday, and last year; that knows where the task stands, and recalls the preference you mentioned in passing. When memory becomes whole, an agent truly begins to know you. We hope memoplus4dsh is a cornerstone on that path: simple, open, and verifiable — doing one thing well: one whole memory.
Most agent projects' "memory" is a markdown file generated per day. Naive, unsearchable, unable to evolve.
A looping live demo: how conversation is extracted into the graph, how fact updates coexist on the timeline (past and present are both kept), and how the graph is retrieved and injected at query time.
Core mechanisms from the memoplus/ETMS research codebase, validated on LoCoMo (82.9% under the mem0 protocol), re-implemented for the dsh plugin system.
A single graph where entities (people / objects / concepts) and events (predicate · time · provenance) coexist. Not a pile of files — a queryable, evolvable graph.
Distinguishes event_time (when it happened) from mention_time (when it was mentioned). "The setback we talked about in October" can hit something that happened in September.
When a fact is updated, the old value steps aside for the new one — retrieval presents only the latest state, while the full history stays in the graph. An architectural answer to selective forgetting.
dsh-internal events for goals / todos / schedules / plans are projected straight into the graph. Long-running task progress becomes answerable across sessions — filling a native dsh gap.
Durable extraction queue (crash-safe re-extraction), bounded retries with backoff, segmentation of large inputs, and extraction with thinking explicitly off (measurably fixes empty-output memory loss).
A harrier 0.6B sidecar (1024-dim, multilingual, ~10 ms/text on CPU) with an onnxruntime-node + distiluse fallback, character-level tokenization for Chinese. No new API keys; Linux / macOS / Windows × x64 / arm64.
An official Cordis plugin with zero patches — install and uninstall are fully reversible. Extraction and retrieval reuse the model you already configured.
<dsh-home>/memoplus4dsh/ — delete it or take it with youOfficial repo + dataset + metrics + judge, 1031 questions. Skeleton model deepseek-v4-flash (official DeepSeek API). Full rerun on 2026-09-11 (r2), all audits PASS.
Also passed human-scenario tests: cross-session goal progress recall, todo evolution, SIGKILL crash re-extraction · 173 unit tests green
Our full evaluation record (setup, two-round comparison, recall attribution, engineering metrics) · About the MemoryAgentBench official repo
Disclaimer: the scores above were measured by us using MemoryAgentBench's official code, dataset, and metrics. They were not run, reviewed, or endorsed by the benchmark team, and we have no affiliation with it.
Our method is deliberately simple: one entity–time memory graph + hybrid retrieval + iterative search — no training, no heavy pipeline — which makes it a good simple baseline. If your method is more complex, you are welcome to compare against us under the same official protocol; the setup, per-question attribution, and reproduction commands are all public in the evaluation record above.
# Get the plugin
$ git clone https://github.com/eteced/memoplus4dsh.git
$ cd memoplus4dsh
# Install into dsh (defaults to the web profile)
$ scripts/install.sh
# Fully reversible uninstall (memory data kept)
$ scripts/uninstall.sh
# Your memory lives here — delete it or take it with you
~/.dsh/memoplus4dsh/
≥ 0.1.2-alpha.3 (verified up to 0.1.5-alpha.2) · Node ^22.19 || ≥24 · python3node scripts/doctor.mjs — or just ask the agent "memory status" in chatscripts/setup-python.sh (harrier embeddings + NER); models download lazily on first run (~135MB and up), hfBaseUrl can point to a mirrorgit pull && npm run build, then restart dsh — memory data lives separately and is never touched