前言¶
在 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 里做本地、可核对出处的长期对话上下文。