Get记忆(dsh-get-memory):用 GitHub 仓库做 DSH 外置记忆

前言

在 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(首次加载可迁移进凭据库)。令牌只用于你配置的那一个仓库,且不会写入仓库文件;写回前对内容做密钥形态脱敏。

安装与启用

  1. 安装插件(插件市场搜索 dsh-get-memory,或执行下列命令):
dsh plugin --profile web add dsh-get-memory
  1. 在 GitHub 生成细粒度 PAT,仅目标仓库 Contents 读写。

  2. 打开左栏「Get记忆」面板或设置页 → 粘贴令牌并保存 → 从列表 单选 一个记忆仓库。

  3. 若仓库为空,在设置页点击「一键初始化」。

  4. 正常聊天即可在对话开始自动读记忆;需要长期自动沉淀时再打开「自动写回」。

更换令牌:生成新 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.json engines)。

结尾

Get记忆把 GitHub 仓库当作 DSH 的可版本化记忆层:开始对话自动读,结束对话可选写回,左栏与设置页完成配置。进一步细节、原理与完整配置字段见 GitHub:krodon998/dsh-get-memory;插件目录页:https://www.skillhub.cn/plugins/krodon998/dsh-get-memory。

羽毛球分组比赛记分
小程序二维码

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

小夜