dsh-memory-meow: A Cross-Session Memory DSH plugin for DeepSeek Harness

phant0meow/dsh-memory-meow

Memory & ContextVerified
Listed on 2026-08-20
Page last updated 2026-08-20

Cross-session memory plugin for DeepSeek Harness with six-layer structured memory and cache-friendly injection.

Let DeepSeek Harness models remember user preferences, project details, and lessons across sessions, maintaining context continuity through a six-layer memory structure and nightly dream mechanism.

install
dsh plugin --profile web add github:phant0meow/dsh-memory-meow
Category
Memory & Context
Platform
DSH-Plugin
Author
phant0meow
Distribution
Plugin

dsh-memory-meow Key Features

Six-layer memoryCache-friendly injectionPer-window nightly dreamAuto-reflect & dedupe

dsh-memory-meow Repository

phant0meow
Publisher
phant0meow
Repository
phant0meow/dsh-memory-meow
23
Stars
1
Forks
0
Watchers
0
Open issues
LanguageTypeScript
LicenseMIT License
Website
Repo last push2026-08-20 04:25:24
Repo created2026-08-14 16:54:33
Topics
agent-memorydeepseek-harnessdshdsh-pluginmemory
Default branchmain

dsh-memory-meow Repo Summary

meow-memory is a cross-session memory plugin (DSH plugin) for DeepSeek Harness (DSH), originating from the "meow" branch but usable on any DSH profile. It solves the problem of AI losing context between sessions: each workspace maintains a structured memory database (.dsh-meow/memory.db, based on node:sqlite), allowing the model to remember user preferences, project details, facts, and lessons across sessions. Core capabilities include six-layer memory (soul/user/project/fact/lesson/topic), cache-friendly injection, a complete set of memory tools, and per-window nightly "dream" consolidation.

What core features does the meow-memory DSH plugin support?

meow-memory provides a six-layer memory structure, each layer backed by a SQLite table with time-prefixed UUIDs, so id order equals creation order. The static tool manual (six-layer structure + usage of each memory_* tool) is placed as a fixed section in the system prompt—text is constant, preserving LLM provider KV/context caches; dynamic content (full soul/user, memory index, keyword-matched facts/lessons) is injected as a prefix to the first user message, and seen memories are recorded per session, never re-injected or re-searched. Tools include memory_remember (write with dedup/merge), memory_search (BM25 × recency weighting, with level/project/status/days filters), memory_find_similar (dedup and conflict detection), memory_read, memory_update (with status, importance, goal), and memory_dream (manual trigger).

How do I install meow-memory?

There are two ways to install meow-memory. The recommended way is via the DSH plugin command:

bash
dsh plugin --profile web add github:phant0meow/dsh-memory-meow

Alternatively, you can install manually: copy or symlink the package to the profile's node_modules (e.g., ~/.dsh/profiles/web/node_modules/meow-memory), register it in cordis.patch.yml, then restart dsh web. New sessions will load the plugin automatically.

How do I configure meow-memory?

All configuration fields are optional and can be set in the profile patch or cordis.patch.yml. Key options include enabled (master switch), projectDir (memory directory, default .dsh-meow), hitTopK (number of keyword-matched facts/lessons injected in the first message), reflect and reflectTurns (auto-reflection toggle and threshold after consecutive tool calls), and the dream block (nightly window start/end hours, idle detection, timezone). For example:

yaml
- id: meow-memory
  name: 'meow-memory'
  config:
    enabled: true
    projectDir: '.dsh-meow'
    hitTopK: 3
    reflect: true
    reflectTurns: 7
    dream:
      enabled: true
      windowStart: 0
      windowEnd: 7
      idleMinutes: 30
      checkMinutes: 15
      timeZone: 'Asia/Shanghai'

How does the meow-memory "dream" mechanism work?

Each window's own main agent consolidates memory at night (computed by timeZone, default 00:00–07:00, when idle), and only its own memory—freezing its knowledge at the last conversation timestamp. Each project group, one round per group, uses full session context. Old windows without a live agent for over 24h, and archived sessions, are not processed. Memory timestamps (dream_at) let later windows determine which entry is newer; search results are re-ranked by it, with a "conflict → latest wins" hint.

What about meow-memory development and testing?

meow-memory is maintained by Phant0Meow, licensed under MIT, written in TypeScript, with zero runtime dependencies (built-in node:sqlite + self-contained esbuild output). For development, run npm install, npm run build (esbuild bundling), and npm run test (86 logic tests covering db/bm25/migrate/inject/reflect/dream/tools). Last updated in 2026-08, currently 2 stars and 0 forks, it's a relatively new plugin.

See more DSH plugins at dsh-plugin.org

DSH-Plugin FAQ