dsh-project-memory: Persistent Project Memory Plugin for DeepSeek Harness
00080000/dsh-project-memory
A DSH plugin providing persistent project memory for DeepSeek Harness, indexing documents and code symbols with auto-refresh and cited recall, featuring BM25 retrieval and experience notes.
dsh-project-memory is a persistent project memory plugin for DeepSeek Harness (DSH) that provides a per-workspace store for agents. It solves the problem of agents having to re-read entire projects to locate information, by indexing documents (PDF/Markdown/txt) and code symbols, and refreshing them automatically, allowing quick reorientation. Core capabilities include document indexing, code symbol tables, automatic refresh, doc↔code cross-linking, BM25 retrieval, and experience notes, with negligible overhead.
How to Install
dsh plugin --profile web add @yolk_vat-y/dsh-project-memory- Category
- Memory & Context
- Platform
- DSH Plugin
- Author
- 00080000
- Distribution
- Plugin
dsh-project-memory Key Features
dsh-project-memory Repo Summary
What Does It Do?
dsh-project-memory is a persistent project memory plugin for DeepSeek Harness (DSH) that provides a per-workspace store for agents. It solves the problem of agents having to re-read entire projects to locate information, by indexing documents (PDF/Markdown/txt) and code symbols, and refreshing them automatically, allowing quick reorientation. Core capabilities include document indexing, code symbol tables, automatic refresh, doc↔code cross-linking, BM25 retrieval, and experience notes, with negligible overhead.
Core Features
- Document indexing: PDF, Markdown, and plain text files are chunked and summarized by the LLM, with each entry carrying a path:line citation.
- Code symbol table: A dependency-free source scanner extracts function, class, and method names without using LLM tokens.
- Automatic refresh: A background poll (watch_repo) detects new or changed files by content hash and re-indexes only those.
- Read-time indexing: Files are indexed the moment the model reads them (fs/observed), making the index a byproduct of normal work; unread files are never indexed.
- Doc↔code cross-linking: When a document mentions a symbol, the match is recorded as a reference; querying a symbol also surfaces documents that describe it.
- BM25 retrieval: Ranked search over documents, symbols, and experience notes, with optional LLM query expansion, and CJK-optimized features like phrase boosting, synonym tables, and CJK-aware word boundaries.
- Experience notes: Problems → solutions; similar problems supersede instead of duplicating, with a bounded store (100–2000) that prunes oldest notes when exceeded.
How to Use This Plugin?
After enabling it in DSH, the agent invokes the tools automatically; users just ask naturally, e.g., "index this project" or "what does the auth module do?", or simply keep working, and the agent calls the matching tool. By default (lazyIndexing), files are indexed when the model reads them; watch_repo keeps explicitly-watched roots fresh in the background; index_repo forces a full backfill of a project (skipping unchanged files). Available tools include index_doc (index a single document), index_repo (index a whole project), watch_repo (enable automatic refresh), memory_stats (show store statistics), and query_memory (BM25 search).
This page is an independent rewrite of the plugin's official README — for authoritative documentation and the latest changes, refer to the source: 00080000/dsh-project-memory. The plugin is third-party code that runs on your machine once installed; inclusion does not imply endorsement — please review the source before installing.
