前言¶
在 DeepSeek Harness(DSH)里做长期对话或跨设备协作时,上下文往往只活在当前会话里:重启、换前端、开新窗口,人设、约定和「上次聊到哪」都要重新交代。有人把记忆写进本地文件或笔记,但和 DSH 的注入时机、写回时机对不上,维护成本高。
Get记忆(dsh-get-memory)把「读什么、写什么」绑到一个你指定的 GitHub 仓库:对话开始自动拉取仓库里的 Markdown 注入上下文,对话结束(在开启自动写回的前提下)由插件调用模型提取值得长期保留的信息,按文件写回并提交。记忆落在 Git 里,跨设备、跨重启共用同一份文件。插件由社区维护者 krodon998 发布,在 DSH 插件目录中归类为「记忆」;当前 npm 包版本为 0.5.1,许可证 MIT。
下面介绍定位、能力、安装步骤和配置要点。安装前请自行查看 GitHub 仓库 源码与许可证;插件以当前 DSH 进程权限运行。
这是什么¶
Get记忆是 DSH 的记忆类插件:名字同时对应「Get 记忆」(取回)和「Git 记忆」(存在 GitHub 仓库里)。它适配 DSH 软件端(桌面应用);网页界面是软件端的镜像,能力跟随软件端生效,不提供独立的 web 插件。
未选择记忆仓库之前,插件不注入、也不写回——默认配置下没有误操作风险。
核心功能¶
对话开始:拉取并注入¶
每次新建或恢复会话(agent/created),插件通过 GitHub Contents API 并行拉取仓库文件,更新内存与磁盘缓存(~/.dsh/cache/aire-memory/snapshot.json),并在组装模型上下文时注入(默认排序号 injectOrder 为 100,位于常见运行时上下文之前)。注入内容会做花括号消毒,避免仓库里 {{User}} 一类模板语法干扰运行。
拉取失败时不打断对话:回退磁盘缓存(标注过期);若无缓存则注入「暂不可用」占位。
对话结束:提取并写回(可选)¶
默认 关闭 自动写回(writebackEnabled: false),以免消耗模型额度。开启后,在回合停摆约 30 秒(writebackDebounceMs,默认 30000)或会话关闭时,插件用当前会话模型(或配置的提取模型)从近期对话转录中提取新信息,对标记为「读写」的文件逐个生成完整内容,先 GET 最新 SHA 再 PUT 提交;409 冲突会重取重试一次。无实质变化则不提交。只对根会话写回,子代理 / 工作流会话不写;失败只记日志。
文件权限与多文件¶
设置页可「同步文件列表」,为每个文件勾选只读或读写:注入读全部参与列表的文件,写回仅处理读写文件。主账本默认文件名为 长期记忆账本.md(ledgerFile)。空仓库可在设置页「一键初始化」,由插件创建带模板的 长期记忆账本.md,无需在 GitHub 网页手工建文件。
界面¶
左栏「Get记忆」快捷面板(小心心图标):查看拉取 / 写回 / 令牌状态、立即拉取、自动写回开关、最近操作记录。DSH 原生设置页提供令牌、仓库单选、文件权限、触发范围、检查更新等;高级项(分支、注入顺序、转录上限、提取模型等)可在插件完整配置中调整。
安全与令牌¶
GitHub 细粒度 PAT 建议 仅勾选目标仓库的 Contents 读写。令牌查找顺序:DSH 凭据库 AIRE_MEMORY_GITHUB_TOKEN(面板保存,推荐)→ 同名环境变量 → 配置项 githubToken(首次加载可迁移进凭据库)。令牌只用于你配置的那一个仓库,且不会写入仓库文件;写回前对内容做密钥形态脱敏。
安装与启用¶
- 安装插件(插件市场搜索
dsh-get-memory,或执行下列命令):
dsh plugin --profile web add dsh-get-memory
-
在 GitHub 生成细粒度 PAT,仅目标仓库 Contents 读写。
-
打开左栏「Get记忆」面板或设置页 → 粘贴令牌并保存 → 从列表 单选 一个记忆仓库。
-
若仓库为空,在设置页点击「一键初始化」。
-
正常聊天即可在对话开始自动读记忆;需要长期自动沉淀时再打开「自动写回」。
更换令牌:生成新 PAT → 面板或设置页保存(或改 ~/.dsh/.credentials.yaml 中 AIRE_MEMORY_GITHUB_TOKEN,重启 DSH)→ 在 GitHub 作废旧令牌。
典型用法与配置摘要¶
日常流程即 README「快速开始」:装好 → 配令牌与仓库 → 可选开写回。写回频率由 writebackEveryN 控制(默认每 5 条对话一次,设为 1 则每条都写);sessionPolicyMode 可选全部会话、排除列表或仅限列表。
常用配置默认值(完整表见仓库 README):
| 字段 | 默认 | 说明 |
|---|---|---|
repo |
空 | 未配置则不注入不写回 |
branch |
main |
分支 |
writebackEnabled |
false |
自动写回 |
writebackEveryN |
5 |
每 N 条对话写回一次 |
ledgerFile |
长期记忆账本.md |
主账本 |
设置页与面板中多数改动会保存为运行时覆盖,即时生效且重启保留。
适用场景与注意¶
适合:希望记忆与人设、规则放在 GitHub Markdown 中、多设备共用同一份「外置大脑」的 DSH 桌面用户;能接受为写回功能消耗模型调用。
注意:
- 插件目录站点 skillhub.cn 插件页 为社区生态索引,与 DeepSeek / 幻方无官方从属关系;DSH 本身遵循「一切皆插件」的扩展方式。
- 自动写回会调用模型做提取,请按需开启并设置
writebackEveryN。 - 依赖 Node
^22.19.0 || >=24.0.0(见 package.jsonengines)。
结尾¶
Get记忆把 GitHub 仓库当作 DSH 的可版本化记忆层:开始对话自动读,结束对话可选写回,左栏与设置页完成配置。进一步细节、原理与完整配置字段见 GitHub:krodon998/dsh-get-memory;插件目录页:https://www.skillhub.cn/plugins/krodon998/dsh-get-memory。