前言¶
在 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