DeepSeek Harness plugin

perseus-vault-dsh

Perseus Vault memory plugin for DeepSeek Harness: automatic pre-step recall injection from a governed memory vault

Jump to install

Source facts

Repository
Perseus-Computing-LLC/perseus-vault-dsh
Latest update
Aug 16, 2026
Category
Memory
GitHub stars
0
Format
plugin
Package path
packages/perseus-vault
Catalog evidence
Upstream dsh.bundle evidence
Evidence path
packages/perseus-vault/package.json#dsh.bundle
Checked against
0.1.0-rc.8
Upstream check date
2026-08-20

This evidence comes from the upstream catalog. This site has not installed, run, or security-reviewed the plugin.

Install

Start with a prompt that asks an agent to review the GitHub repository and source. Switch to the command if you want to install it yourself.

Copy this prompt into DSH, Codex, or another agent and ask it to review the GitHub repository and source first.

Do not install or run any commands yet. Read this plugin's GitHub repository, README, and relevant source code. Then answer the questions below clearly and directly so I can decide whether it fits my needs:

1. What is this plugin, and what problem does it solve?
2. Who is it for, and what are its typical use cases?
3. How is it used after installation? Include one minimal example.
4. What known limitations or privacy, security, compatibility, or maintenance risks does it have?
5. Give a clear recommendation: recommend, conditionally recommend, or do not recommend, with reasons.

Distinguish statements documented by the repository, inferences from source code, and unknowns. If evidence is insufficient, say so explicitly. Do not guess or simply repeat the README.

GitHub: https://github.com/Perseus-Computing-LLC/perseus-vault-dsh/tree/HEAD/packages/perseus-vault
Plugin: perseus-vault-dsh
Author: Perseus-Computing-LLC

Check the source files

Read the README and other files from this plugin directory before installing.

File explorer2 files
README.mdSource · read only

@perseus-computing/dsh

Perseus Vault memory plugin for DeepSeek Harness: automatic, push-based memory injection.

The harness's MCP row is pull-based — the agent must remember to call mcp__perseus_vault__recall. This plugin closes that gap: on every step that carries a user message it runs perseus-vault prepare (local SQLite queries, zero LLM calls) and injects the resulting <memory-prep> block into the agent's system prompt as the perseus-vault-memory section.

Requirements

  • Node.js ≥ 22.18
  • perseus-vault binary on PATH (pinned: 2.23.0)
  • DeepSeek Harness ≥ 0.1.0-rc.5 (developer preview — the seams used here are agent/created, agent/pre-step, and systemPrompt.section)

Install

Recommended — as a dsh bundle (installs the package AND wires it into the profile; the web UI shows its settings card under Settings → Plugins):

dsh plugin add -w @perseus-computing/dsh

(-w is required: a dsh profile is a pnpm workspace root.)

Plain npm install (add the row below to a Cordis overlay yourself):

npm install @perseus-computing/dsh

From the repository while it is unpublished:

npm install "github:Perseus-Computing-LLC/perseus-vault-dsh#workspace=packages/perseus-vault"

Or build locally:

git clone https://github.com/Perseus-Computing-LLC/perseus-vault-dsh.git
cd perseus-vault-dsh/packages/perseus-vault
npm install
npm run build

Usage

Mount it in a Cordis overlay:

- insert:
    - id: perseus-vault-memory
      name: '@perseus-vault/dsh'        # or an absolute path to the built module
      config:
        command: perseus-vault          # executable name or path
        db: ''                          # optional SQLite path; default = vault default
        workspace: ''                   # optional workspace_hash filter
        recallWhenLimit: 10
        contextLimit: 10
        timeoutMs: 3000
        order: 60
dsh web --patch ./my-overlay.cordis.yml

Combine with the MCP row (examples/dsh-mcp/perseus-vault.cordis.yml) so the agent also has explicit remember / recall / capture tools.

Config

KeyDefaultMeaning
enabledtrueMaster switch
commandperseus-vaultPath/name of the vault executable
db''--db passed to prepare; empty = vault default location
workspace''--workspace filter; empty = no filtering
recallWhenLimit10Max entities from recall_when trigger matches
contextLimit10Max entities from the always-on/context pull
maxContextCharsunset--max-context-chars budget override
timeoutMs3000Kill the prepare child after this long
order60System-prompt section order (persona is 0; tool guidance 100–199)
sectionNameperseus-vault-memorySection name (must be unique per layer)

Behavior and failure modes

  • Fresh block per user turn. agent/pre-step fires with the messages entering the step; only user-role text triggers a new prepare run. Tool-result steps reuse the cached block, so follow-up steps inside a turn stay consistent.
  • Graceful degradation. Missing binary, prepare timeout, or spawn failure → the section renders empty and the agent loop is never blocked or broken. The first failure logs one warning.
  • No network, no LLM. Injection runs entirely through the local perseus-vault prepare CLI — deterministic, free, and fast enough to run per turn.
  • Capture is pull-based (by design). End-of-turn capture into the vault is available through the mcp__perseus_vault__capture tool from the MCP row. A agent/turn-stopping auto-capture hook is planned for v2 once the harness API stabilizes.

License

MIT