DSH Recollect:换模型也不丢的 Claude Code 兼容记忆

前言

在 DeepSeek Harness(DSH)里换用 DeepSeek、GPT、Qwen 等不同模型时,若仍依赖 Claude Code 那套「按模型裁剪」的记忆说明,非 Claude 模型往往只能看到一段很短的提示,很少主动写长期记忆。Recollect 是社区维护的 DSH 插件,沿用 Claude Code 的分层指令与 MEMORY.md 索引约定,但用独立编写的中英文提示词,让各模型拿到同一套完整的记忆读写指导。

下面介绍它解决什么问题、默认开哪些能力,以及如何安装与日常使用。

这是什么

Recollect(npm 包名 @kirkchinese/dsh-recollect,当前发布版本 0.4.0)由 kirkchinese 维护,分类为「记忆」。它是 DeepSeek Harness 的 Cordis 插件:兼容 Claude Code 的 CLAUDE.md / AGENTS.md 分层指令,以及以 MEMORY.md 为索引、单文件 frontmatter 的持久记忆格式;记忆默认写在 ~/.dsh/memory/projects/<slug>/,与 Claude Code 的 slug 规则一致,目录可分开也可通过配置共用。

插件页:SkillHub - DSH Recollect
源码与说明:github.com/kirkchinese/DSH-Recollect(MIT 许可证)

核心功能

分层指令文件

默认开启。加载顺序与 Claude Code 约定对齐,并额外读取 AGENTS.md、.agents/rules、AGENTS.local.md 等;同一目录内容相同的文件只注入一次。层级大致为:组织策略 /etc/claude-code → 用户级(~/.claude/CLAUDE.md、~/.dsh/AGENTS.md 等)→ 从仓库根到当前工作目录逐层 CLAUDE.md / AGENTS.md(支持 @import,最多 4 层)→ .claude/CLAUDE.md 与 rules → 本地覆盖文件。各层并列拼接、不截断;单文件超过 4 MiB 会跳过。Recollect 会接管指令加载,并过滤 DSH 自带 AGENTS 加载器的重复注入。

持久记忆

默认开启。在 system prompt 中注入完整的记忆写作指导(四种类型、不宜存储的内容、两步保存、访问与核验规则)。会话首条消息注入 MEMORY.md 索引;超过 200 行或 25 000 字符时会截断并附警告。写入方式会随沙箱适配:可写记忆目录时用内置 write/edit;工作区外记忆目录时挂载专用 memory_* 工具,且拒绝写入密钥;只读沙箱下不写记忆。

刷新与子目录

resume 时只注入变更过的文件;上下文压缩后整份指令会重新注入;切换目录或暂停/恢复记忆时也会刷新。读写子目录文件时,会注入该目录的指令及 frontmatter 里 paths: 匹配的条件 rule。写入记忆后会检查索引超限、单文件过大、缺少 description、-2 式续写文件等问题。

可选能力(默认关闭)

能力 说明
召回(recall) 每次提问检索最多 5 条相关记忆;bm25 本地检索(中英日韩),或 selector 用一次模型调用挑选
后台提取(extract) 每轮结束后子智能体补写漏记内容,写入范围限制在记忆目录
整理(dream) 距上次整理超过 24 小时且期间 5 个以上会话时合并精简;可用 /dream 手动触发
智能体记忆 为指定预设智能体提供独立记忆,作用域 user / project / local

与 Claude Code 未实现的部分包括:团队记忆(CLAUDE_MEMORY_STORES)、账号记忆、# 快捷写入。

与 Claude Code 的衔接

已有 Claude Code 记忆可用 /memory-import 复制到 Recollect 目录(all 导入全部项目,--dry-run 仅预览);来源只读,不覆盖已有文件。可选 memory.shareWithClaudeCode: true 直接读写 Claude Code 记忆目录,两边会同时修改同一批文件。

安装与启用

支持的 DSH 宿主版本见 README 对照表(含 0.2.0-rc.2、官方桌面版,以及 0.2.1-alpha.1 至 0.2.1-rc.2 等),对应 Recollect 0.4.0。

官方桌面版: 在插件页安装 npm 包 @kirkchinese/dsh-recollect,或在 Git 地址填写 https://github.com/kirkchinese/DSH-Recollect.git,按提示重启。

命令行与 Web:

dsh plugin --profile web add @kirkchinese/dsh-recollect@0.4.0

也可按发布标签从仓库安装:

dsh plugin --profile web add "git+https://github.com/kirkchinese/DSH-Recollect.git#v0.4.0"

安装后重启 DSH 并刷新页面,新会话生效。插件以当前 DSH 进程权限运行;安装前建议在 GitHub 查看源码与 MIT 许可证,确认符合你的环境策略。社区目录 SkillHub 与 DeepSeek / 幻方无官方从属关系,DSH 生态本身是「一切皆插件」的开放组合。

典型用法

设置页

入口有两处:设置弹窗左侧「记忆」分区,以及侧边栏「插件」→ Recollect → 组件「recollect」。两处是同一份表单,可调整记忆开关、语言、是否与 Claude Code 共用目录、指令强度、召回/提取/整理等;保存后立即写入 profile 覆盖。「记忆」分区顶部可选工作目录,查看即将注入的指令文件与 MEMORY.md 索引、记忆目录中的主题文件。

斜杠命令

命令 作用
/memory 查看记忆状态、写入方式及已加载的指令与记忆文件
/pause-memory 本会话暂停或恢复记忆(重启后状态保留)
/remember <内容> 让模型把指定内容写入记忆
/memory-import [all] [--dry-run] 从 Claude Code 复制已有记忆
/dream 立即整理本项目记忆目录(需先开启 dream)

Profile 配置示例

也可编辑 profile 的 cordis.patch.yml;手写覆盖会替换整个 config 对象,未写字段用默认值:

- id: recollect
  name: '@kirkchinese/dsh-recollect'
  config:
    language: zh          # 模型看到的记忆文本:zh / en
    recall:
      enabled: true
      method: bm25        # 或 selector
    extract:
      enabled: false
    dream:
      enabled: false
      minHours: 24
      minSessions: 5
    instructions:
      authority: strong   # strong:指令优先;soft:仅参考

全部字段见仓库 lib/config.js。环境变量 DSH_RECOLLECT_DISABLE_MEMORY=1 关闭记忆(0 强制开启),DSH_RECOLLECT_DISABLE_INSTRUCTIONS=1 关闭指令文件。

适用场景与注意

适合已经在 Claude Code 或 DSH 项目里使用 CLAUDE.md、AGENTS.md 和分层 rules,又希望在 DSH 中切换多模型时仍保持同一套记忆行为与文件约定的开发者。若你主要用 Claude Code 且从不换模型,Recollect 的价值在于 DSH 侧的统一指导与可选目录共用;若从零开始,可先开默认的指令 + 持久记忆,再按需打开 recall 或 dream。

README 列出的已知限制包括:DSH 上下文溢出在同一步内压缩重试时,该次重试可能看不到指令块,下一步才补回;headless 模式一轮结束即退出,后台提取不会跑;同一 DSH 主目录不要同时跑两个宿主进程,避免 dream 整理锁冲突。

结尾

Recollect 把 Claude Code 熟悉的指令与记忆文件约定搬到 DSH,并消除「换模型就降级记忆说明」的问题。安装与配置以 README 为准;问题可提交 GitHub Issues。

  • 目录页:https://www.skillhub.cn/plugins/kirkchinese/DSH-Recollect
  • GitHub:https://github.com/kirkchinese/DSH-Recollect
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜