dsh-relink(鱼的记忆):Harness 项目记忆与子智能体协作

前言

在 DeepSeek Harness(DSH)里做同一仓库的多轮任务时,模型容易重复排查已经确认过的结论,或者把与当前请求无关的旧记录一并塞进上下文。社区里也有把笔记交给外部服务、常驻索引进程的做法,部署和权限边界会更复杂。

下面介绍社区插件 dsh-relink(中文名「鱼的记忆」,早期包名 dsh-memory-team)。它在每次新的用户输入进入模型之前,按当前项目召回少量经核实的记录;默认数据落在本机 SQLite,不依赖账号或额外模型调用,也不启动文件监视或后台辅助进程。维护者为 ytsu-ki,在 SkillHub 目录中归类为「记忆」;项目为 beta 预发布(当前版本 0.6.0-beta.2),README 建议先在独立测试 Profile 中试用。

这是什么

dsh-relink 面向 DeepSeek Harness,提供三类能力:按项目隔离的项目记忆、可选的 Obsidian 兼容 Markdown 知识库、以及基于 Harness 原生 subagent 工具的并行调查协作(team_start / team_wait)。无关请求默认不强行召回记录;检索与健康状态会明确区分「无匹配」与组件不可用,避免把故障误当成空记忆。

运行环境要求(来自 README):DeepSeek Harness 0.2.1-rc.2 或 0.2.1-rc.3,Node.js 22.17 及以上(桌面版 Harness 已自带合适运行时)。许可证为 MIT。这是非官方的社区项目,与 DeepSeek / 幻方无从属关系;DSH 生态遵循「一切皆插件」,SkillHub 目录页为独立站点:ytsu-ki/dsh-relink。

核心功能

项目记忆(默认 SQLite)

每次新的用户输入到达模型前,插件最多注入三条与当前项目相关的记录。项目边界按 Git 根目录或工作目录划分。过期记录、或证据文件已变更的记录不会自动召回。命名某条记录的 key 或完整标题时可以命中;像「请看一下这个文件」这类泛化请求则不会误召回。

记忆默认保存在本地 SQLite,无需注册服务,也不为召回单独调用模型。

可选 Markdown 知识库

若需要人工编辑与 Obsidian 互通,可通过官方脚本创建 vault,将记录存为纯 Markdown。插件不会擅自改写你的笔记;通过保存工具替换内容时,旧版本会留在历史中。在笔记 frontmatter 中加入 dsh_private: true 可排除在自动召回之外。配置写入 ~/.local/share/dsh-memory-team/settings.json(目录名保留旧插件名,便于沿用已有设置)。

启用 vault 后,插件还会把每一轮已结束的对话写成未验证的任务流水(请求、最终回复、结果与工具名),不存储推理过程、工具参数与工具输出,且不额外调用模型。

子智能体协作与执行诊断

team_start 最多并行启动两个彼此独立的调查,由父智能体保留编辑权与最终验收;实现上使用 Harness 自带的 subagent 工具,权限、取消、递归限制与结果交付仍在 Harness 侧。team_wait 只等待一次,不做轮询。

workflow_status 可查看步骤、输出、重试与墙钟时间分布。每轮最多三条短提醒,用于提示重复相同结果或过长回合;它们不会阻塞工具或终止任务。

健康状态与升级

每条召回或检索相关结果会落在 ok、no-match、degraded、withheld、unavailable 之一,便于区分「确实没有相关记忆」与「组件异常」。README 说明 0.5.x 数据库与笔记可原地读取,并与 0.5.3-beta.3 在同一数据上做过往返测试。

未安装可选组件 Betterleaks 1.9.0 时,内置规则仍会对常见凭证格式做脱敏;可通过 node scripts/setup-retrieval.mjs 下载并校验 pinned 发行版后启用。

安装与启用

官方安装方式是从 GitHub Releases 下载 dsh-relink-0.6.0-beta.2.tgz,对照 SHA256SUMS 校验,再在 Harness 中添加插件。不要手改 Profile 清单或 lockfile。

  1. 下载并校验 dsh-relink-0.6.0-beta.2.tgz。
  2. 在 Harness 中打开 Plugins > Add plugin(建议先用测试 Profile),填入该文件的绝对路径。
  3. 启用 dsh-relink,按提示重启 Harness。

命令行等价写法:

dsh plugin --profile my-test-profile add /absolute/path/dsh-relink-0.6.0-beta.2.tgz

完成上述步骤后,本地 SQLite 记忆即可使用,无需额外配置。

可选:为 Obsidian 准备 Markdown vault 时,在项目仓库中执行(路径均改为本机绝对路径):

node scripts/setup-knowledge.mjs \
  --vault '/absolute/path/to/Obsidian Vault/DSH Knowledge' \
  --project '/absolute/path/to/project' \
  --config-dir '/absolute/path/to/plugin-state'

脚本会创建 vault 并写入设置;可用 --seed-file 导入已批准的结构化记录,--no-activate 仅生成文件不切换设置。修改 Obsidian 中的笔记时请保留 dsh_ 前缀的 frontmatter 字段。配置完成后需重新加载插件。

典型用法

日常仍像平时一样给 Harness 下任务;模型自行决定何时搜索、保存或委派。你也可以直接说明意图,README 给出的示例表述如下:

Search this project’s memory first. Give the implementation investigation and the test review to two independent subagents, fix the problem yourself, then save the verified conclusion.

对应中文场景可以是:先查本项目记忆,把实现排查与测试审查交给两个独立子智能体,主会话自行修复问题,再把经核实的结论写入记忆。具体调用哪些工具由插件暴露的 Harness 工具与模型策略决定;协作侧重点记住 team_start、team_wait 与 workflow_status 的分工即可。

适用场景与注意

适合谁: 长期在固定仓库上使用 DSH、希望减少重复劳动、又希望数据默认留在本机的开发者;需要人工 curated 笔记时,可叠加 Obsidian vault,而不必绑定 Obsidian 插件本身。

使用前请知悉:

  • 插件以当前 dsh 进程权限运行,安装前应自行审阅 源码与 LICENSE,仅在可信环境启用。
  • 状态为 beta 预发布,README 明确要求先在独立测试 Profile 验证,再用于日常工作 Profile。
  • 可选依赖 Basic Memory 0.23.2、Betterleaks 1.9.0 等需单独安装;插件不会替你启动 Basic Memory。Basic Memory 0.24 会在笔记中写入 permalink,插件可容忍,但每次被改写的笔记会产生新版本。
  • 无 vault 时不启动后台 helper;外部编辑的 Markdown 在下一次读取时才会被感知,与设计一致。

结尾

dsh-relink 把「按项目召回少量相关记忆、可选 Markdown 知识库、原生 subagent 并行调查」收进一个 Harness 插件,默认本地 SQLite、无常驻后台服务,并尽量把「无匹配」和「系统不可用」说清楚。若要查看简介与分类,可打开 SkillHub 目录页 https://www.skillhub.cn/plugins/ytsu-ki/dsh-relink;安装包、Release 校验和完整工具说明见 GitHub 仓库 https://github.com/ytsu-ki/dsh-relink。

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

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

小夜