dsh-project-memory: Persistent Project Memory Plugin for DeepSeek Harness

00080000/dsh-project-memory

Memory & ContextVerified
Listed on 2026-08-19
Page last updated 2026-08-25

Persistent project memory for DeepSeek Harness, indexing docs and code symbols with auto-refresh and retrieval.

Let DeepSeek Harness agents quickly reorient to project context after session compaction, without re-reading all code.

install
dsh plugin --profile web add github:00080000/dsh-project-memory
Category
Memory & Context
Platform
DSH Plugin
Author
00080000
Distribution
Plugin

dsh-project-memory Key Features

Document indexing & summarizationCode symbol extractionAutomatic incremental refreshDoc-code cross-linkingBM25 retrieval

Listed on dsh-plugin.org

dsh-project-memory Repo Summary

dsh-project-memory is a persistent project memory plugin for DeepSeek Harness (DSH), maintained by 00080000 under the MIT license, last updated in 2026-08. It solves the problem of agents losing context after session compaction and needing to re-read the entire project: the plugin maintains a compact project index on disk, with every entry pointing to a concrete file and line, allowing the agent to reorient quickly instead of re-scanning all code. Core capabilities include document indexing (PDF/Markdown/txt chunked and summarized by the LLM, with path:line citations), code symbol table (lightweight regex extraction, no token usage), automatic refresh (background polling detects content hash changes), read-time indexing (files are indexed when the model actually reads them, making the index a byproduct of normal work), document-to-code cross-linking, BM25 retrieval (with optional LLM query expansion), and bounded experience notes.

What core features does the dsh-project-memory DSH plugin support?

The plugin supports document indexing, code symbol table, automatic refresh, read-time indexing, doc-code cross-linking, BM25 retrieval, and experience notes. Document indexing chunks PDF, Markdown, and plain text files and summarizes them via LLM, with each entry carrying a path:line citation; the code symbol table extracts function and class names with a lightweight regex scanner, without LLM token usage; automatic refresh uses a background poll (watch_repo) to detect content hash changes and re-indexes only changed files; read-time indexing means files are indexed the moment the model actually reads them, and unread files are never indexed. The project root is detected by markers (.git, package.json, etc.) or a README plus source directories.

How do I install dsh-project-memory?

The plugin has been tested against dsh versions 0.1.0-rc.7 through 0.1.1-rc.2, and only touches stable interfaces (defineTool, llm.stream, Schema). The installation command is as follows; note that the -w flag is required because the profile directory is a pnpm workspace root:

bash
dsh plugin --profile web add github:00080000/dsh-project-memory

If installing from a local path, the -w flag is also required:

bash
dsh plugin --profile web add /path/to/dsh-project-memory -w

What principles does dsh-project-memory's index design follow?

The plugin's design follows four principles: volatility (context is ephemeral, lost on session compaction), persistence (the index is stored on disk and survives compaction and new sessions), compactness (only summaries are stored; the index runs about 0.5% the size of the source, e.g., 8.8 MB of source → 49 KB of index), and verifiability (hits carry path:line citations where applicable, so the agent can confirm details against the source). Building the index does not require an upfront scan: files are indexed as the model reads them, so the index grows to cover exactly what has been worked with. Re-reading an unchanged file is a no-op (content hash), keeping the index fresh with minimal overhead.

How do experience notes work in dsh-project-memory?

Experience notes store problem-to-solution mappings; similar problems supersede instead of duplicating, and notes are returned only when a search matches. The note store is bounded: capacity scales with project size (clamped to 100–2000), and the oldest notes are pruned when the limit is exceeded. Notes are retrieval-only, so accumulation does not affect context.

What are the dependencies and compatibility of dsh-project-memory?

The plugin is pure JavaScript, with the only runtime dependency being pdfjs-dist (for PDF text extraction), requiring no native builds. The host provides @deepseek-ai/cordis ^4.0.1 and @deepseek-ai/schemastery ^3.18.1, declared via peerDependencies. Since the plugin only touches stable surfaces, newer rc lines are expected to work but are not individually verified.

View more DSH plugins at dsh-plugin.org

DSH Plugin FAQ