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

@guowenzhang/dsh-memory

为 DSH 提供兼容 Claude 的记忆管理功能 适合需要跨会话持久化项目上下文或习惯使用 Claude 记忆机制的用户。支持自定义记忆目录和索引文件。

套件
@guowenzhang/dsh-memory
相容性
待驗證
Harness 依賴範圍
*
Cordis 依賴範圍
*
版本
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/.