Skip to content

PerryLink/dsh-memento

30Last commit Aug 15, 2026

dsh-memento DSH plugin

dsh-memento provides a typed `ctx.memory` service that stores cross-session memories in a local SQLite database. It features a write approval gate that cannot be bypassed, per-session frozen snapshots, and full audit logs. The plugin supports two tracks (user and agent) and two layers (user-global and workspace) for organized memory management.

How to install the dsh-memento DSH plugin

dsh plugin --profile web add dsh-memento      # or ./dsh-memento / a tarball / a GitHub URL

Copying does not run this command. Review the repository and version before installing the dsh-memento DSH plugin.

dsh-memento DSH plugin data source

dsh-memento DSH plugin snapshot date: Aug 16, 2026

discovered

What the dsh-memento DSH plugin can do

  • Provides typed `ctx.memory` service with add, replace, remove, query, seed, and budgets methods
  • Write operations pass through a mandatory approval waterfall (writePolicy: ask/auto/off) enforced inside the service, not in the tool layer
  • Generates a frozen snapshot at session start injected into the system prompt, never changing mid-session
  • Supports two memory tracks (user and agent) and two layers (user-global and workspace) with per-agent isolation
  • Records all write operations in an audit table, reconstructable from session logs
  • Offers tools: memory tool, memory_recall tool, /memory command, and a read-only web panel

Where the dsh-memento DSH plugin fits

  • Save user preferences and communication style across sessions without re-teaching
  • Store project conventions, environment facts, and lessons learned per workspace
  • Audit and review all memory modifications for compliance or debugging
  • Automatically inject relevant memories at the start of each new session

Who the dsh-memento DSH plugin is for

  • DSH users who need persistent cross-session memory for their AI interactions
  • Developers and teams who want auditable, approval-gated memory management

dsh-memento DSH plugin limitations

  • Requires Node ^22.19 || >=24 and DSH 0.1.0-rc.6 or later
  • Uses local SQLite only; no network sync or cloud storage
  • Default writePolicy is 'ask' requiring user approval, which may interrupt workflow
  • Hard character budgets per track/layer; exceeding fails with an error instead of auto-compacting

dsh-memento DSH plugin: from the repository README

Quoted from the PerryLink/dsh-memento README, the upstream source of the dsh-memento DSH plugin. Copyright remains with the original authors.

**Bounded, layered, approval-gated, auditable cross-session memory for DeepSeek Harness.** [![license](https://img.shields.io/badge/license-Apache--2.0-3a7d44)](LICENSE) [![dsh](https://img.shields.io/badge/dsh-0.1.0--rc.6-4e51e8)](https://www.npmjs.com/package/@deepseek-ai/dsh) [![node](https://img.shields.io/badge/node-%5E22.19%20%7C%7C%20%3E%3D24-339933)](https://nodejs.org/) [![platform](https://img.shields.io/badge/platform-Windows%20%7C%20macOS%20%7C%20Linux-lightgrey)]() [![no build step](https://img.shields.io/badge/build-none%20%28pure%20ESM%29-8a6d3b)]() [![npm version](https://img.shields.io/npm/v/dsh-memento)](https://www.npmjs.com/package/dsh-memento) [![npm downloads](https://img.shields.io/npm/dm/dsh-memento)](https://www.npmjs.com/package/dsh-memento) [![CI](https://github.com/PerryLink/dsh-memento/actions/workflows/ci.yml/badge.svg)](https://github.com/PerryLink/dsh-memento/actions/workflows/ci.yml) [English](README.md) · [中文](README.zh.md) · [Español](README.es.md) · [Português](README.pt.md) · [हिन्दी](README.hi.md) > Other memory plugins sell a **warehouse**. dsh-memento sells the **seam**: a typed `ctx.memory` service, a write approval gate no model path can

Read the full READMERepository license: Apache-2.0

dsh-memento DSH plugin questions

How do I install dsh-memento?

Run `dsh plugin --profile <name> add dsh-memento` in your terminal. Make sure you have Node ^22.19 || >=24 and DSH 0.1.0-rc.6 or later installed. You can also install from a local checkout or GitHub URL.

How do I configure the write policy?

Override the `writePolicy` field in your profile's cordis.patch.yml under the `memento` row. Use `ask` for user approval (default), `auto` to allow through, or `off` to reject all writes. You can also set per-track/scope policies using `writePolicies`.

Where is the memory database stored?

By default, the SQLite database is stored at `$DSH_HOME/dsh-memento/memory.db`. If `$DSH_HOME` is not set, it falls back to `~/.dsh`. You can customize the path with the `dbPath` config option.

How can I view the audit log?

Use the `/memory audit` command in the chat or access the web panel's audit tab. The audit log shows all write operations with full approval payloads and outcomes.

Can I export and import memories?

Yes, use the `/memory export` command to dump all entries and budgets as JSON. Use `/memory import <path>` to restore from a file or inline JSON. Imported entries get fresh IDs and timestamps.