Give dsh a memory: meow-memory install & how it remembers

An 8-step, frame-checked walkthrough: install a cross-session memory plugin in one command, then watch first-turn injection, autonomous memory tools and dream-time cleanup do their thing.

Last updated: 2026-10-03

A brand-new dsh web session titled 探索未至之境 with the question 你好啊,你记得什么? typed into an empty composer under the DeepSeek-V4-Flash Max selector
Fresh session, one question loaded: “Hey, what do you remember about me?” — this whole guide in a single frame.

meow-memory is Phant0Meow’s cross-session memory plugin for DeepSeek Harness (dsh) — MIT-licensed, ★140 on GitHub when we re-checked 2026-10-03. Each workspace gets its own SQLite store (.dsh-meow/memory.db) with memories filed into seven layers; a static manual ships in the system prompt while dynamic memories ride in as a separate snapshot, so KV caches stay warm and there are zero runtime dependencies (Node ≥ 22.13). Once it’s in, dsh stops forgetting who it is, who you are and the rules you set the moment you switch windows.

This guide follows a real screen recording through install → restart → first-turn injection → autonomous tool calls → reflection and dream cleanup, and all 8 screenshots were frame-checked with deep links back to the source video. Want the wider catalog first? Browse the cross-session-memory collection. Cross-session memory collection

TL;DR

  • ▸Install is one command: dsh plugin --profile web add github:Phant0Meow/dsh-meow-memory — it compiles and mounts itself; restart dsh web and new sessions pick it up (pnpm ≥ 10 may ask you to allow build scripts once).
  • ▸Turn one injects the whole long-term block (who it is, who you are, your rules), folded into a single “memory injected” chip — tap to expand, no chat spam.
  • ▸From turn two, every message gets top-2 keyword hits and the AI calls memory_remember/search/project on its own; memories sit in seven layers (soul/user/project/fact/lesson/topic/rules), isolated per project.
  • ▸Dream cleanup waits for 180 idle minutes (peak hours suppressed); reflection kicks in after 7 straight tool rounds; delegate.model can run cleanup on a cheaper model.

From install to dream cleanup in 8 steps

Install and first chat

  1. 1

    Install meow-memory

    Run the one-liner below (the recommended path): it compiles on install and mounts itself into the web profile — no bundle editing. pnpm ≥ 10 blocks build scripts by default, so if the first add fails on allowBuilds, follow the prompt, whitelist the key in your profile’s pnpm-workspace.yaml and rerun. While you’re at it, set promptLang (zh / en / pt-br): it decides the language your memory entries and tool descriptions are written in.

    $dsh plugin --profile web add github:Phant0Meow/dsh-meow-memory
  2. 2

    Restart dsh web and open a fresh session

    New sessions load the plugin automatically — there is nothing to click. The frame shows the recorder’s brand-new session: the “explore the unexplored” title, the Workspace Write permission badge and DeepSeek-V4-Flash Max selected, with the perfect first probe typed in: “Hey, what do you remember about me?”

    The dsh composer set to Workspace Write with DeepSeek-V4-Flash Max selected, the first memory-probe message about to be sent
    After a restart the plugin is simply there — no setup screen, nothing to click.Watch at 0:39
  3. 3

    First turn: memory arrives in one block, folded into a chip

    Before your first message reaches the model, the plugin injects long-term memory as one block — About you (full soul), About the user (profile), design rules with importance ≥ 2, plus a usage guide — and deliberately runs no keyword matching on turn one. In the chat you only see a slim “memory injected (long-term)” chip; the demo’s entire answer is one line: “I remember you, master.”

    A folded 已注入记忆(长期记忆) chip sitting above the user bubble while a Think line weighs memory_search and the status reads Deep diving…
    Turn one carries the whole long-term block; the Think line shows the model deciding how to answer.Watch at 0:42
    The in-video demo showing meow-memory's folded injection chip: opening 已注入记忆(长期记忆) reveals a single exchange — 我记得你,主人。 — instead of spamming the chat
    The chat stays clean: a slim chip by default, full text only when you tap it open.Watch at 1:56

How the memory works

  1. 4

    Turn two on: keyword hits + autonomous memory tools

    From the second message, each one is matched against fact/lesson/rules/topic memories and the top-2 hits ride along; the AI also pulls project overviews via memory_project unprompted — the recording sweeps the meow-memory and dsh projects back to back, hands off. Rule #7 sitting in its library (“never delete files; cleanup only marks archived”) is doing exactly what it says.

    Two autonomous Tool call · memory_project entries — one for the meow-memory project, one for dsh — listed under a keyword-hit injection chip in the dsh chat
    Nobody typed a command here — the model chose to sweep both project libraries on its own.Watch at 0:54
  2. 5

    Probe a detail: the agent verifies before answering

    Ask about something stored deep in the library and the AI combines tools to check before answering. In the recording it even corrects its own earlier claim, confirming after a shell check that meow-memory is a standalone nested git repository with intact history — not an untracked folder. That is the difference between having memory and bluffing.

    The dsh assistant correcting its own earlier guess in chat, confirming after a pwsh check that meow-memory is a standalone git repository with intact history
    It checked, changed its mind, and said so out loud — memory with receipts, not vibes.Watch at 1:12
  3. 6

    Reflection tasks: the AI files new memories itself

    After 7 or more consecutive tool rounds the plugin asks the model whether anything was worth remembering. This reflection round did three things: marked a stale version pin (0.5.1 → verified 0.9.0 in package.json), updated the “v2 refactor” topic, and logged a README follow-up todo — every action traceable.

    A reflection-round summary in dsh listing three bookkeeping actions: a stale mark on an old version pin, a topic update, and a new README todo
    Reflection fires after 7+ tool rounds and files the leftovers as versioned, searchable entries.Watch at 1:30

Dream cleanup

  1. 7

    Dream: idle windows clean up the library

    After 180 idle minutes (default) a window’s own agent consolidates its memories in three rounds — atomic memories, then topics, then a project summary — with peak hours suppressed (09:00–12:00 and 14:00–18:00 Asia/Shanghai by default). The recording shows four folded dream bars in a row reporting 13, 10, 9 and 1 entries updated, with dream.ts, index.ts and test.mjs attached as artifacts.

    Four folded 记忆梦境任务 bars in the dsh chat reporting 13, 10, 9 and 1 memory entries updated, with dream.ts, index.ts and test.mjs listed as artifacts
    Idle windows consolidate on a schedule; the chips fold away like any other background task.Watch at 1:36
  2. 8

    Open a dream bar: every change is accounted for

    Expand one “dream task · 7 entries updated” bar: the target is the femwa project’s 13 memories, memory_update fires entry by entry, each marked outdated, kept or archived with a reason, closing with “this group is done.” The library gets cleaner with use, not messier.

    An expanded dream task in dsh showing six memory_update calls against the femwa project’s 13 memories, each entry marked outdated, kept or archived
    Nothing gets deleted in a dream — entries are marked outdated, kept or archived, with reasons.Watch at 1:42

Seven layers of memory, isolated per project

meow-memory splits memories into seven layers, one SQLite table each; the project layer adds subcategories like overview/structure/decisions/quotes/ops/todo. In the recording the main library held 83 entries, coexisting with separate stores for the dsh, meow-eyes and femwa projects without cross-talk.

  • ▸soul — who the AI is: persona, self-introduction, behavioral boundaries
  • ▸user — who you are: profile and preferences; even a fixed-timezone privacy preference got stored user-level (importance 3)
  • ▸project — project info, filed under overview/structure/decisions/quotes/ops/todo subcategories
  • ▸fact — atomic facts: one thing per entry, easy to search and to mark outdated
  • ▸lesson — mistakes and corrections: fall into each pit only once
  • ▸topic — ongoing discussions with a goal line, resumable across sessions
  • ▸rules — design principles and conduct; importance ≥ 2 rides in the first-turn injection

Memory plugins settle what to remember across sessions; when the problem runs the other way — the current window overflowing — that’s a different discipline, covered in the compaction guide. Context compaction guide

Picking one: how the plugins compare, and the trap

Per ChHsich’s four-plugin rundown: the general memory layers outside dsh (EverOS, MemOS, memsearch, mem0) all do “auto-capture + auto-recall” with heavy overlap — one is enough, and memsearch even shares a single store with Claude Code, Codex and OpenClaw. The dsh-native options (meow-memory, mnemon, mindmemos, graph-memory) differ in mechanics; the full catalog is in the cross-session-memory collection.

Two rules to keep: never stack same-type memory layers, and — quoting — “installing a plugin means running third-party code on your machine, with your permissions. Read the source before you decide to grant it.”

The cost trap: cleanup burns tokens too

A recording from 换个RM caught the real failure: mnemon’s idle checkpoint review retriggering as one-off tasks — a dozen on screen next to a 73.9M-token status bar — the concrete mechanism behind “cleanup spiked my bill”. meow-memory’s countermeasures are peak suppression and delegate.model for a cheaper cleanup model; follow the spend in the usage-tracking guide. Usage tracking

Frequently asked questions

Six high-frequency questions about installing dsh memory plugins, token overhead and picking one.

Does injecting memory bloat every message’s token cost?

Less than you’d think: the static manual lives once in the system prompt (KV-cache friendly), turn one carries a single long-term block, and from turn two only the top-2 keyword hits ride along — the library itself never gets dumped into context. Dream and reflection rounds stay folded single bars, and delegate.model can point them at a cheaper model.

Where do memories live? Do they leave my machine?

Local only: a SQLite database at .dsh-meow/memory.db inside your workspace (node:sqlite, zero runtime dependencies, Node ≥ 22.13), with per-session seen-records under .dsh-meow/sessions/. Nothing syncs to a third-party service — backing up means copying a folder.

Will my memory library turn into a junk drawer?

That’s what dream is for: three consolidation rounds per idle window mark entries outdated, kept or archived instead of deleting them, keyword hits stay top-2, and stable rules stop being re-reviewed (rulesReviewDays). The recording’s library stayed at a tidy 83 entries across four projects.

Which memory plugin should I pick?

Decide the type first: general layers (EverOS/MemOS/memsearch/mem0) overlap heavily — install one; dsh-native options (meow-memory, mnemon, mindmemos, graph-memory…) differ in mechanics. meow-memory stands out for its seven-layer structure and controllable cleanup (MIT, ★140). Whatever you pick, read the source before granting it your permissions.

How is this different from a knowledge base?

Different question entirely: a memory plugin stores what the AI learned about you and your projects and injects it automatically; a knowledge base stores documents you retrieve on demand. Many people run both — memory for “knowing you”, the knowledge base for “looking things up”.

What happens to memory after context compaction?

meow-memory listens for compaction signals: once a session is compacted, the next user turn re-injects the long-term snapshot, the project overviews you consulted and the memories written that session — so the AI doesn’t suddenly go blank mid-project. Seen-records are released too, letting pre-compaction memories resurface.

Related guides

Other ways to stretch dsh.

Sources and credits

All frames come from a Bilibili screen recording by 渐行渐远的烟火 (the intro/outro slide segments were not framed; only the mid-section webui capture, t≈36–120, was used). Feature facts were cross-checked line by line against the GitHub README (Phant0Meow/dsh-meow-memory, MIT, ★140, re-checked 2026-10-03; the page uses GitHub’s current repo name — the recording shows the old dsh-memory-meow name, now a redirect). Selection facts follow ChHsich’s four-plugin rundown and the cost trap comes from 换个RM’s recording. Hindsight claims trace to 全栈二把刀 and AI产品狙击手 — note their “39,000+ stars” belongs to the upstream general project; the dsh-side adapter tops out at ★4 and is not a dsh-plugin star count. Every screenshot links back to its moment in the source video.

DSH Plugins is an independent community directory of DeepSeek Harness plugins. Not affiliated with or endorsed by DeepSeek. Third-party plugins are not security-audited — review the source before installing.

New DeepSeek Harness plugins, weekly. No spam.