dsh-engram
DeepSeek Harness memory-palace plugin with spaced recall; an optional Jev layer judges ambiguous merge, keep or defer cases.
Overview
dsh-engram is a long-term, cross-session memory plugin for DeepSeek Harness built on the information architecture of a memory palace: each memory is pinned to a room and slot coordinate, tour routes only grow, the same topic always lands in the same place, and labels must be unique, differentiated and dated. It adds spaced-repetition recall practice that shows only cues, a knowledge flywheel, hybrid full-text and local-vector retrieval, separate user and per-project stores, and a web management panel. It is pure TypeScript with no external processes.
Jev plays an optional role since v0.7.12, off by default: ambiguous cases in the defer band (merge, allow or shelve) and confirmation of contradiction edges can be sent to Jev, with silent fallback to pure rules when Jev is unavailable, never blocking writes. Each verdict is logged for inspection in the panel. Documentation is mainly Chinese.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Choice | For this ambiguous new memory, should it be merged, allowed, or shelved? | merge · allow · shelve |
| Yes / no | Do these two memories contradict each other?(inferred) | yes · no |
How it works
- Agent saves a memory; rules classify it
- Ambiguous cases optionally go to Jev for a three-way verdict
- Fallback to rules if Jev is unavailable
- Store at a palace coordinate and schedule spaced recall
Strengths
- Structured, inspectable memory layout
- Jev optional with safe fallback
- Local embeddings, no Python
Caveats
- Jev is a minor, opt-in component
- Chinese-first documentation
Getting started
dsh plugin --profile web add @kenz1117/dsh-engram.At a glance
- Type
- Plugin
- Status
- beta
- Language
- TypeScript
- Runtime
- DeepSeek Harness plugin
- Has code
- yes
Use cases and integrations
How curated lists describe it
DeepSeek Harness memory plugin built on the memory-palace layout - fixed locations as the index, routes that only grow - with cue-only spaced recall. Chinese.
MrJev/awesome-jev
Frequently asked questions
Is Jev required?
No, it is off by default and used only for ambiguous merge decisions.
What happens if Jev fails?
The plugin silently falls back to its rule-based states and never blocks writes.
How is memory organised?
As a memory palace of rooms and fixed slots with append-only tour routes.
Related projects
Personal AI assistant with eight memory types and multi-channel support; per the list, it has an optional Jev provider.
ProjectproductionAndroid AI chat client and SillyTavern-compatible endpoint where Jev screens memories for relevance and serves as a judge tool.
LibraryproductionKotlinFederated knowledge retrieval engine for agents that uses Jev to route queries to backends and re-rank evidence, with keyword fallback.
LibraryprototypePythonDeepSeek Harness plugin that asks Jev which tool results can be pruned early, delaying or avoiding lossy compaction.
ProjectbetaTypeScriptDeepSeek Harness compaction backend that asks Jev which tool calls and outputs to keep, preserving everything else verbatim.
ProjectbetaJavaScriptDeepSeek Harness compaction plugin where Jev decides which tool results are still needed and code writes deterministic receipts.
ProjectbetaTypeScript