DSH Hub
dsh-project-memory cover

00080000/dsh-project-memory

dsh-project-memory

UIMemory27 GitHub stars· updated 2026-10-26

Read-time project memory plugin for DeepSeek Harness (dsh)

Install

npx @deepseek-ai/dsh plugin --profile web add .

Restart `dsh web` after install. Bundle APIs can change during the developer preview.

README badge

dsh-project-memory DSH Hub badge
[![DSH Hub](https://dshhub.dev/badge/dsh-project-memory.svg)](https://dshhub.dev/plugins/dsh-project-memory)

Paste this into your README. The star count updates with every catalog sync.

From the README

Excerpt from 00080000/dsh-project-memory, cleaned of badges and images.

dsh-project-memory

If this plugin saves you an hour of debugging, a star would be appreciated.

English | 简体中文

A persistent project development memory for DeepSeek Harness (dsh) agents. Built specifically for project development, natively integrated with dsh's task system: task lists and files read during a session are automatically persisted as cross-session task records, with tasks ↔ files linked — workflows can be switched and resumed, no need to re-scope the whole project, solving context loss. Documents (PDF/Markdown/txt) and code symbols are stored separately per workspace; documents are automatically cross-linked to the code symbols they mention. Experience notes (problem → solution) are automatically deduplicated, preventing repeated mistakes. All data is stored per project on disk, survives session compaction and handover; recalls include path:line citations for source verification. No native builds, no vector database. A 79 MB local embedding table (leanvec) installs and runs by default; without it, recall falls back to pure lexical.

The plugin keeps a compact project memory on disk, with every entry pointing to a concrete file and line — the agent can reorient quickly instead of re-reading the whole project.

Features

  • TaskBridge: cross-session development tasks — the session's todo list and the files it touches are persisted as per-project task entities, so a workflow can be switched and resumed without re-scoping the project. Associated files stay in recency-weighted order (a read never outranks a written file), so a resumed session sees where to look first. New sessions continue with list_tasks → select_task. Work delegated to subagents creates no task. On hosts without session events the task tools still work as a plain record list.
  • Task panel and editing — draggable cards show a task's steps and files, and can collapse to a mini-bar or be hidden. Title, steps and status can be edited inline, writing back through the same path as model updates; four visual themes change material, geometry, typeface and density only, and colours follow the host. The panel stays hidden until summoned, syncs in the background on session switch, never reopens itself after a refresh, and a render failure cannot take down the host.
  • Document memory — PDF, Markdown and plain text are chunked and summarized without a model call. Each entry keeps a short summary for injection, a bounded term set for recall, and a citation back to the source.
  • Code symbol memory — a dependency-free scanner extracts functions, classes, methods, interfaces and type aliases with full signatures across 8 languages. Where typescript is installed, an optional second layer adds inferred return types, generics and interface shapes; it runs in the background and never blocks indexing.
  • Automatic, read-time memorization — a file is memorized the moment the model reads it, so memory is a byproduct of normal work rather than an upfront scan, and files nobody reads are never indexed. A background poll re-memorizes changed files only.
  • Doc ↔ code cross-linking — a document that mentions a symbol is surfaced when that symbol is queried. Links are resolved against the current symbol table, so they cannot go stale.
  • Hybrid recall — ranked search over documents, symbols, experience notes and insights, with optional LLM query expansion.

…

Related plugins