zhang-guo-wen/dsh-memory ↗★ 0

@guowenzhang/dsh-memory

Claude-compatible memory for DeepSeek Harness: a user-chosen memory directory with MEMORY.md index and topic files, the memory tool, and a settings page 适合需要跨会话持久化项目上下文或习惯使用 Claude 记忆机制的用户。支持自定义记忆目录和索引文件。

패키지
@guowenzhang/dsh-memory
호환성
미검증
Harness peer 범위
*
Cordis peer 범위
*
버전
0.1.1
라이선스
Apache-2.0
최근 업데이트
2026. 9. 23.

설치

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:zhang-guo-wen/dsh-memory

Configuration

Every field has a working default. The settings page writes enabled and directory; the rest are composition fields.

FieldDefaultMeaning
enabledtrueFold the index into a session and register the memory tool
claudeCompatiblefalseUse Claude Code's own memory directory; while on, directory is ignored and nothing has to be chosen
directory~/.dsh/memory/{project}Memory directory; accepts ~ and {project}
claudeHome$CLAUDE_CONFIG_DIR, $CLAUDE_HOME, or ~/.claudeClaude config directory; locates `projects/
/memory` in Claude-directory mode
indexLines200Lines of the index a session loads, matching Claude Code
indexBytes25600UTF-8 bytes of the index a session loads, matching Claude Code
maxFileBytes1048576Largest single memory file this plugin reads or writes
projectRootMarkers['.git']Directory entries that identify the project root

Directory forms

FormResolves to
~/.dsh/memory/{project} (default)One subdirectory per project, so projects never share memories
~/.dsh/memoryOne store shared by every project (drop {project} to share)
~/.claude/projects/{project}/memoryThe same store the Use Claude's directory switch selects

Looking at another project

Memory is stored per project, so the page shows one at a time: the state block and the index editor describe whichever project the dropdown selected. The list is

  • the current project (the one the host process runs in),
  • every DSH workspace,
  • and, with Use Claude's directory on, every project directory under /projects/.

Rows are deduplicated by the directory they resolve to, so one repository appears once, and a single-project deployment shows no dropdown at all. Selecting another project only changes what the page reads and edits: the template is untouched, and every session still resolves its own directory.

{project} is the git repository root of the session's working directory (a .git file — a linked worktree — is resolved back to the main repository), with every character outside [A-Za-z0-9] replaced by -: C:\02-codespace\deepseek-harness becomes C--02-codespace-deepseek-harness, exactly the directory name Claude writes under ~/.claude/projects/.