Preface

In DeepSeek Harness (DSH), agents re-enter the context for every session. If project preferences, deployment constraints, test commands, decisions, and project notes are left in a single conversation, subsequent sessions cannot use this information.

dsh-memory-vault is a cross-session memory plugin for DSH. It provides three model tools: memory_remember / memory_recall / memory_forget, injects newer memories into every round of system prompt assembly, and provides a browser management entry in the settings page.

What is this

dsh-memory-vault is a DSH plugin maintained by flymysql, under the MIT license. It turns “remember, recall, forget” into callable model tools and stores persistent records in DSH’s storage domain.

It mainly solves one problem: allowing facts, preferences, decisions, and project notes to be retained across sessions, rather than existing only in a single conversation context.

Core Features

Verified capabilities include:

  • 3 model tools: memory_remember / memory_recall / memory_forget
  • Per-turn prompt injection: newer memory entries are injected into every system-prompt assembly
  • Durable storage: records are saved in the DSH storage domain (dsh_memory unit, defaults to json backend)
  • Browser management page: browse, add, and delete entries in the “Memory Vault / Memory” page of Settings
  • memory_recall sorting rules: scored by tag matches (×2) and content matches, newest first

Installation and Enablement

Use the official installation command:

dsh plugin --profile web add dsh-memory-vault

The package name here is dsh-memory-vault. It is recommended to check the source code and MIT license before installing, and to confirm that you trust the plugin to run with the current dsh process permissions.

Typical Usage

First, let the agent remember information:

Remember: the deployment target for this project is Windows, and the test command is `pnpm test`.

The agent can call memory_remember, optionally passing in tags:

memory_remember(content="User prefers Windows deployment; test command is `pnpm test`", tags=["project:demo", "user"])

When you need to retrieve context from a previous session, call:

memory_recall(query="Windows deploy")

If a memory entry is outdated or incorrect, you can delete it by id:

memory_forget(id="m-...")

You can also delete by tag:

memory_forget(tag="project:demo")

Configuration

The plugin provides two configuration items:

Config Item Type Default Meaning
injectLimit int 8 Max number of entries injected per system-prompt assembly
recallLimit int 10 Max number of entries returned by memory_recall

Browser Management Page

In Settings, you can see the “Memory Vault / Memory” page, used to browse, add, and delete memory entries.

Verified materials also mention the interface shape: published packages use public same-origin JSON endpoints GET/POST /dsh-memory/entries; dynamic plugin prototypes use sandbox-only harness.handle / host.call package RPC.

Applicable Scenarios and Notes

Suitable for projects that need to retain cross-session context in DSH, especially scenarios involving stable preferences, deployment targets, test commands, project decisions, and recurring project notes.

Usage notes:

  • The plugin runs with the current dsh process permissions; you should check the source code, dependencies, and MIT license before installing.
  • memory_recall return results are limited by recallLimit, defaulting to a max of 10 entries.
  • Entries injected per system-prompt assembly are limited by injectLimit, defaulting to a max of 8 entries.
  • memory_forget supports deletion by id or tag; it is recommended to confirm the target entry before deleting.

Conclusion

The core value of dsh-memory-vault is turning cross-session memory into a set of stable, callable tools, and lowering maintenance costs through per-turn prompt injection and a browser management page.

GitHub repository:

https://github.com/flymysql/dsh-memory

The Directory page URL was not found in the verified materials.