DeepSeek Harness Plugin

jayhchen/dsh-cc-auto-memory

Stars ★ 1 Downloads (30d) 362 Category Memory Added 2026-11-02 npm dsh-cc-auto-memory

Claude Code-compatible persistent memory: the host injects the MEMORY.md index at session start, the model maintains memory files with plain read/write/edit tools, and a Settings page lists saved memories. Same on-disk format as Claude Code; claude mode shares the exact memory directory.

Install

# from npm (prebuilt)

dsh plugin --profile web add dsh-cc-auto-memory

# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)

dsh plugin --profile web add github:jayhchen/dsh-cc-auto-memory

Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).

README

dsh-cc-auto-memory

Claude Code's auto memory, packaged as a lightweight plugin for DeepSeek Harness (DSH): persistent, file-based memory.

At the start of each session, memory-usage instructions and the MEMORY.md index are injected automatically; the model manages memory files with the plain read / write / edit tools — no dedicated memory tools are registered. The on-disk format is identical to Claude Code's, so memories are directly interoperable between the two (claude mode even shares the exact same directory).

Installation

Web (CLI):

dsh plugin --profile web add dsh-cc-auto-memory

Desktop: open the in-app Plugins page and search for dsh-cc-auto-memory.

Mechanism

A faithful port of Claude Code's native auto memory — see the official docs for the original mechanism. Per session it works like this:

session start
    │
    ▼
host injects into the system prompt:
  • Memory usage instructions (with the memory dir path)
  • MEMORY.md index — first 200 lines / 25 KB
    │
    │   the model manages memory with the
    ▼   plain read / write / edit tools
memory dir — one per git repo
  MEMORY.md     ← index: one line per memory
  <topic>.md    ← one memory per file
    │
    │   after each write/edit, the host backstops:
    ▼   `modified` timestamp · index size limits
next session recalls the refreshed index … loop
  • Subagent sessions get no main-session memory injected (same as Claude Code).
  • Project resolution: git repository root (cwd when outside a repo), / → - in the slug; one shared memory per repository.

Viewer panel

Settings → Auto Memory (read-only viewing; editing/creating/deleting is left to the agent's file tools during a session):

  • Storage mode: two mode cards (dsh standalone directory / claude reuse) plus an "Apply switch" button — switching only takes effect for new sessions:

    • dsh (default): $DSH_HOME/projects/<slug>/memory/
    • claude: ~/.claude/projects/<slug>/memory/ (CLAUDE_CONFIG_DIR respected) — shares the same memory with Claude Code, interoperable both ways

    In claude mode, the model's write/edit calls into ~/.claude/ fall outside the session workspace and trigger approvals per the session sandbox policy — this is expected.

  • Project list filtered by the active mode: dsh mode shows only projects under $DSH_HOME; claude mode shows only projects under ~/.claude

  • Memory table: click any row to open a floating card showing the raw file content (plain text, Markdown not rendered); Esc or clicking the overlay closes it

Configuration

cordis.patch.yml can be overridden at the user layer:

Field Default Description
mode dsh Storage mode dsh / claude
claudeConfigDir '' Claude Code config root for claude mode; empty = $CLAUDE_CONFIG_DIR or ~/.claude
maxIndexLines 200 Line limit when reading MEMORY.md
maxIndexBytes 25600 Byte limit when reading MEMORY.md

License

MIT

Content from the project README on GitHub ↗

Links

More in this category

View the whole category →

Community comments

Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.