DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

Layered Memory — DSH Plugin for DeepSeek Harness
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins
L

@dsh-external/dsh-layered-memory

Layered Memory

DSH cross-session long-term memory: namespace isolation + L1 index injection (existence encoding) + action-verified writes + content-level near-duplicate candidates + BM25 full-text search + cross-namespace promotion + automatic distillation candidates + provenance/archiving/rollback + automatic mai

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add github:DDDFXYqiming/dsh-layered-memory#c87a9daebdcdf56cebfa4c9109490dba136c29a9
READMECompatibilityVersions

Description

DSH cross-session long-term memory: namespace isolation + L1 index injection (existence encoding) + action-verified writes + content-level near-duplicate candidates + BM25 full-text search + cross-namespace promotion + automatic distillation candidates + provenance/archiving/rollback + automatic maintenance.

Compatibility and provenance

Layered Memory is published as @dsh-external/dsh-layered-memory and currently resolves to version 0.7.0. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
any
Release source
github
Registry updated
9/25/2026

Versions

0.7.0stable
9/25/2026

Related plugins

Loading related plugins…

Latest
0.7.0
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
any
License
MIT
Source
github
GitHub
★ 3
Weekly downloads
0
Last push
9/25/2026
View source ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

Related plugins

More verified plugins in memory-context.

Hindsight Coding Agents@vectorize-io/hindsight-coding-agentsReflect-only Hindsight long-term memory for coding agents (harness-pluggable: opencode, …), with automatic background ingestion (no setup CLI).Memory Plugin@openviking/dsh-memory-pluginOpenViking memory and context bundle for DeepSeek HarnessWeknora@wxg-prc-cpg/dsh-weknoraWeKnora knowledge retrieval tools for DeepSeek Harness (dsh): semantic search, document reading and RAG/agent answers over your own knowledge bases.Archive Manager@michengai/dsh-archive-managerNPM-installable DSH Web plugin for managing archived sessions.

README

简体中文 | English

dsh-layered-memory

Cross-session memory for DeepSeek Harness (DSH).

A DSH session loses its context the moment it ends. Come back to the same project tomorrow and you explain the environment again, and rediscover how you worked around that error last time. This plugin writes that kind of information to files on disk and pulls it back when a later session needs it.

Memory has three layers: an index, environment facts, and task experience. The L1 / L2 / L3 labels in the tool list below refer to those three.

What it looks like in use

Once installed, you just tell the agent.

The build command for this project is ```pnpm build && pnpm test~~, and the tests take about forty seconds. Remember that.

It writes the line into the memory store. Open a fresh session the next day and say "run the tests for me", and the command is already known.

It works the other way too. If you forget the flags a service needs, ask the agent to look them up in memory instead of scrolling back through old chats.

Install

dsh plugin --profile web add github:DDDFXYqiming/dsh-layered-memory

The plugin creates its directories and template files under <home>/.dsh/memory.

Usage

The agent decides when to read and write memory. The plugin registers one memory skill and 14 tools. Under progressive mode those tools stay hidden until the agent calls memory_activate once.

ToolPurpose
memory_listList all memory (L2 facts + L3 sops + pending + L1 chars/budget)
memory_readRead one entry (index / fact topic / sop filename) with provenance meta and related links; oversized entries return an outline plus head/tail excerpts, with full and from_line/to_line for the rest
memory_searchBM25 full-text search over facts, sops and archived entries
memory_writeWrite a memory (fact/sop, evidence required, name collision snapshots the old version; evidence is quoted line by line and suspected secrets in it are redacted; plain-text secrets in the body are refused)
memory_indexRebuild the L1 index auto-segment, keeping the [RULES] manual segment
memory_pendingList distilled candidates (fail-then-retry sequences)
memory_acceptPromote a pending candidate into a real entry
memory_updateUpdate an entry, keeping a history snapshot (body and provenance meta snapshotted together); new measurements can pass sourceSession/sourceSeqs, wording-only edits inherit the original source
memory_archiveArchive an entry (hidden from L1 and memory_read, file stays in place, still searchable, current version snapshotted first); unarchive: true restores visibility
memory_rollbackRoll back to the most recent .history/ snapshot (body and provenance meta restored together)
memory_expandExpand the original events behind sourceSession / sourceSeqs
memory_statsCounts for L2 / L3 / pending / archived and total size
memory_maintainMerge same-name duplicate sections, exact/near-duplicate candidates, index audit, stats, merge candidates, cold-entry review
memory_promotePromote project-local experience to the global namespace

Configuration

# a bare entry in the profile cordis.patch.yml, overriding the bundle row; do not duplicate the insert
- id: dsh-layered-memory
  config:
    memoryDir: ''              # defaults to <home>/.dsh/memory
    l1MaxChars: 12288         # character budget for the L1 index; over budget folds entries into category entries while rules stay intact
    progressive: true
    defaultNamespace: ''       # fixed namespace; empty lets autoNamespace decide
    autoNamespace: true        # session workspace dir name plus git branch (exec.agent.session.header.cwd); home falls back to default
    autoPending: false         # off by default, candidates are mostly tool-usage noise
    maintainEveryTurns: 20     # run auto-maintenance every N turns, counted across sessions
    reflectionEnabled: true    # master switch for reflection notices
    reflectPendingThreshold: 5 # only with autoPending on; 0 disables this rule
    reflectSopsThreshold: 40   # notice when active L3 sops reach this count; 0 disables the rule
    reflectCooldownTurns: 10   # minimum turns between two reflection notices
    nearDupeThreshold: 0.85    # token-set Jaccard threshold for near-duplicate candidates (reported only, never auto-archived)
    mergeCandidateThreshold: 0.45 # merge-candidate report threshold
    minTokensForFuzzy: 12      # shorter content only uses exact content comparison (case and inner whitespace preserved)
    heatHalfLifeDays: 14       # access-heat half-life in days
    recencyWindowDays: 7       # recency protection window for fresh entries
    coldReviewDays: 90         # cold-entry review window in days
    namespaceCacheTtlMs: 60000 # TTL for the autoNamespace git probe cache, in ms

Storage

Memory is a pile of markdown files, with no database behind it. The default location is <home>/.dsh/memory.

<home>/.dsh/memory/
├── <namespace>/                non-default namespace
│   ├── memory_management_sop.md
│   ├── index.txt
│   ├── facts.md
│   ├── sops/*.md
│   ├── pending/*.md
│   ├── archive/ / .history/
│   ├── memory-meta.json
│   ├── maintenance-report.json
│   ├── turn-state.json
│   ├── file_access_stats.json
│   └── reflection-state.json
└── with namespace default, the same files live at this root

You can back it up, commit it, or edit it by hand. The body refuses text that looks like a plaintext secret; suspected secrets in evidence and related links are redacted on write.

More

  • Design and scheduling (Chinese)
  • Development and testing (Chinese)
  • Changelog

License

MIT