汐音(dsh-shione):原文优先的 DeepSeek Harness 记忆插件

前言

在 DeepSeek Harness(DSH)里做长期对话,常见做法是让模型靠上下文窗口「硬记」,或用摘要、知识图谱把历史压成结构化记忆。这两种路径各有代价:前者窗口一满就丢细节;后者改写环节可能失真,且往往要接云端或额外管线。

dsh-shione(汐音)走另一条路:把对话原话写入本机 SQLite,在需要时按触发条件或工具调用把片段取回,不做摘要、不改写、不建知识图谱式的抽取。数据留在 ~/.dsh/dsh-shione/,除您自配的向量与精排接口外不连外部服务。下面按定位、能力、安装与配置说明如何使用。

这是什么

dsh-shione 是给 DeepSeek Harness 用的记忆插件,维护者为 GitHub 用户 wwwwww1239,当前公开版本 0.5.1(MIT 许可),要求 Node ≥ 22.5。项目自述为自用、仍在改进,并由 AI 生成与维护。

核心闭环三件事:把对话原文写入本机库;在您提到既往内容时(或按配置)注入原话片段;向模型注册自查类工具(检索原文、展开上下文、查知识库)。名称来自日语「潮音(しおね)」——退潮后痕迹仍在,与「原样留存、按需取回」的设计一致。

核心功能

原文优先

存入与取出均为原话,不摘要、不抽取、不丢字。过短 utterance 可用 minChars 过滤(默认 2,用于跳过「嗯」「哈」之类)。

按需注入与提示词缓存

默认 injectMode 为 auto:仅当语句中出现类似「上次」「还记得」「我们说好」等语义时才检索并注入;其余轮次不改动提示词,不打断提示词缓存。若改为 always,每轮都会注入,可能拖慢并拉高费用(README 常见问题中有说明)。

每轮注入有字节预算:budgetBytes 默认 1200(中文约按每字 3 字节计,约 350 字),maxInjectHits 默认最多 3 段。

自带知识库与人格

可将设定、备忘、文档分块入库,检索路径为向量召回 + 关键词召回 → 精排;embeddingEnabled、rerankEnabled 可单独关闭,接口异常时可退回上一步,避免整轮失败。

「人格」是一段可切换的 system prompt,存在同一本地库,支持附带成对预设对话以固定语气(文档称默认可容纳约 53 对)。灵感自述来自 AstrBot 的人格设计思路;提供 ingest --astrbot 从 AstrBot 的 data_v4.db 导入历史,与 AstrBot 无代码耦合。

模型可用工具

工具 作用
recall_search 按关键词检索对话原文;参数 query,k(默认 5,最多 12)
recall_expand 按结果中的 #编号 展开片段全文;参数 id
kb_search 检索知识库;参数 query,k(默认 5,最多 20)

设置面板与本地数据

Harness 设置页有「汐音」栏,含记忆检索、知识库、人格三个页签;修改后下一轮生效,无需重启(安装后需先重启 Harness 才能看到入口)。

数据路径:

~/.dsh/dsh-shione/shione.sqlite
~/.dsh/dsh-shione/settings.json

备份复制上述文件即可;删除整个 ~/.dsh/dsh-shione/ 可清空。

安装与启用

DSH 生态是「一切皆插件」;社区目录见 SkillHub 插件页,与 DeepSeek / 幻方无官方从属关系。安装前建议浏览 GitHub 仓库 源码与 MIT 许可证——插件以当前 DSH 进程权限运行。

方式一(README 推荐):在 Harness 对话里发送:

安装 https://github.com/wwwwww1239/dsh-shione

模型会调用 install_bundle 装入当前 profile。

方式二(命令行):dsh plugin 后接 pnpm 风格子命令;--profile 省略则使用默认 profile。示例:

dsh plugin --profile desktop add https://github.com/wwwwww1239/dsh-shione

装完后重启 Harness,设置页应出现「汐音」。若插件一直 pending、设置页无入口,README 记载旧版依赖已改名的 webRuntime 服务会导致 fiber 挂起;0.5.0 起已改用 connection,需核对 Harness 与插件版本。

本地已有插件目录时,也可用:

dsh plugin --profile desktop add ./path/to/dsh-shione

配置要点

面板可改项亦可直接编辑:

~/.dsh/dsh-shione/settings.json

常用键(摘自 README 配置表):

键 默认值 说明
enabled true 总开关;关闭后不记录也不注入,历史保留
capture true 关闭则只查不记
injectMode auto auto / always / off
kbInject true 是否一并注入知识库片段
embeddingEnabled true 关闭则退回纯关键词
embeddingModel BAAI/bge-m3 嵌入模型
rerankModel BAAI/bge-reranker-v2-m3 精排模型
embeddingBaseUrl — OpenAI 兼容向量接口地址
personaId '' 当前启用的人格

向量与精排密钥仅保存在本机 settings.json。

典型用法

命令行维护与查询

仓库提供 bin/shione.js,不打开 Harness 也可操作库:

node bin/shione.js init
node bin/shione.js search "省钱方案" -k 8
node bin/shione.js context "上次那个方案"
node bin/shione.js stats
node bin/shione.js prune --keep-days 365
node bin/shione.js ingest --astrbot <data_v4.db>

context 可看当前语句在注入逻辑下会带回什么;prune 按保留天数清理;ingest --astrbot 用于迁移 AstrBot 历史。

日常使用习惯

日常对话保持 injectMode: auto,仅在自然提到既往约定时自动带上下文。需要细节时,可明确要求模型调用 recall_search / recall_expand 或 kb_search。人格与知识库在设置页对应页签维护。

市场更新报 already-installed

README 说明:HMR 下对「已安装且 spec 相同」的更新请求会被拒绝。若要从市场绕开,可将 spec 改为 tarball 地址(示例):

https://registry.npmmirror.com/dsh-shione/-/dsh-shione-0.5.1.tgz

适用场景与注意

适合:希望本机留存对话原话、按需回忆、尽量少动每轮 system/缓存结构的 DSH 用户;需要本地知识库与人格切换、且能接受自配嵌入与精排接口的场景。

注意:

  • 不做摘要与图谱抽取,长期记忆体积随对话增长,需用 prune 或手动备份/清理。
  • 向量与精排依赖您填写的模型接口,关闭相关开关可避免调用成本。
  • 插件为个人项目,README 标明仍粗糙;升级时关注与 Harness 内核服务名(connection)的兼容性。

结尾

dsh-shione 把「记忆」落成 SQLite 里的原话与可选知识库、人格配置,用 auto 注入和三类 recall/kb 工具补足细节,适合在 DSH 里做本地、可核对出处的长期对话上下文。

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

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

Xiaoye