Introduction

A DeepSeek Harness (DSH) session typically starts from a “blank slate”: the conversation history is saved to disk for audit purposes, but the model cannot access previous content again. This means persistent facts such as project preferences and decision constraints are not retained after a restart or configuration switch. The dsh-memory-lite plugin provides agents with an explicit memory tool, allowing these facts to persist across sessions.

What This Is

pacoyi/dsh-memory-lite is a lightweight cross-session memory plugin for DeepSeek Harness. It provides a set of approval-gated memory tools (save / recall / list / forget) and a “Memory Vault” UI card on the settings page. The plugin is fully local, sends no network requests or telemetry data, and stores all data in local JSON files.

Core Features

  1. Memory tools
    Provides four operations: save (save), recall (recall), list (list), and forget (forget).
  2. Settings card UI
    Provides a “Memory Vault” card on the DSH settings page, supporting viewing, adding, deleting, restoring from the recycle bin, an import wizard, and an export panel.
  3. Approval gating
    The save and forget operations require host approval (tools/pre-execute), preventing unauthorized writes.
  4. Import/export
    Supports idempotent memory import and export, and can migrate memory from other agents, such as Claude Code’s CLAUDE.md.
  5. Scope isolation
    Memory scope is based on the host execution context (the session working directory), and entries are not visible across different projects.
  6. Audit logs
    Records the intent, commit status, source, and entry ID for every change.
  7. Local storage
    Data is stored under ~/.dsh/memory-lite.*. Corrupted files are isolated rather than silently overwritten.

Installation and Enablement

The DSH CLI must be installed first. The installation command is:

dsh plugin --profile web add github:pacoyi/dsh-memory-lite

After installation, restart the corresponding profile (for example, dsh --profile web), and the memory tool becomes available.

Typical Usage

Talking directly to the agent can trigger the memory tools. The agent decides when to save or recall and first requests user approval.

Example dialogue:
* “Remember: this project uses pnpm, not npm”
* “What did I tell you earlier about deployment?”

Tool parameters:

Parameter Applicable operations Description
operation All save | recall | list | forget
text save The note content to remember; it must be self-contained and ≤ 2000 characters
tags save Optional tags, such as ["preference", "project-x"], up to 8
query recall Keywords matched case-insensitively against text and tags
tag recall Match entries that carry this tag
limit list/recall Maximum number of entries to return; default 10, maximum 100
id forget The entry ID to move into the recycle bin

Notes and Limitations

  1. Privacy and data security
    The plugin does not send network requests itself. However, the results of recall and list enter the model-visible conversation context, are sent to the model provider, and are recorded in session logs. Do not store sensitive data here, such as API keys, customer data, or private source code.
  2. Content limits
    • Note length ≤ 2000 characters
    • Number of tags ≤ 8
    • Single entry ID ≤ 1000
  3. Environment requirements
    Node.js >= 20 is required.
  4. File editing
    If you need to edit ~/.dsh/memory-lite.json directly, you must stop the DSH host process, because the plugin owns concurrent write permissions.

Brief Conclusion

dsh-memory-lite is suitable for developers who need to preserve project context across multiple sessions and who care about auditing and security. Through local file storage and an approval mechanism, it provides a lightweight, controllable agent memory solution. For more details, see the GitHub repository.