dsh-chain
Thinking-chain memory for DeepSeek Harness (all-sessions edition): remember WHY a decision was made, recall it by keyword or meaning, inject it into every session's prompt, and browse it as a 3D nebula graph.
一句话定位
Thinking-chain memory for DeepSeek Harness (all-sessions edition): remember WHY a decision was made, recall it by keyword or meaning, inject it into every session's prompt, and browse it as a 3D nebula graph.
安装方式
在 DSH 的 web profile 中执行下面的命令;装完刷新页面即可。
$ dsh plugin --profile web add 'git+https://github.com/canglight/dsh-chain.git#91f2f6e8f04ce489d446b9b6a18b144807e86369'
兼容的 DSH 版本
未声明
作者与热度
canglight · ★ 20 · 更新于 2026-11-09
关于这个插件
dsh-chain-shared · 思维链记忆(全会话通用版)
当前版本:3.0.0。
> 给 [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) 用的记忆插件。
>
> 它记的不是"发生了什么",而是"当时为什么这么定"。
> 每条记忆是一句判断 + 依据 + 犹豫 + 结论;它按时间衰减,只有被重新想起才会留住。
这个包是全会话通用版:你在哪个会话里说话,看到的都是同一套记忆。
("每条会话各一套、互不串味"的隔离版不在这个包里。)
它长什么样
八个池各成一簇(另有「元记忆」汇总簇),点与点之间是「依据」和「相关」的连线。整团在缓慢自转(可关),
每颗记忆球绕自己的池心走固定轨道 —— 不会互相追、也不会飞出去。
| 标签模式 | 聚焦一条 | 设置面板 |
|---|---|---|
| | | |
> 截图来自开发机(约 240 条记忆 / 8 池)。观感会随记忆条数增长而变化。
---
它解决的四个问题
| 问题 | 这个插件的做法 |
|---|---|
| 上下文一压缩,为什么这么定的理由就丢了 | 判断存成 JSONL,每轮从磁盘重新渲染进系统提示,跟对话历史无关,压不掉 |
| 记了一堆,真正用的时候一条也想不起来 | 用你的这句话去检索记忆(jieba 分词 + 通用 IDF),命中几条就把那几条的判断行贴回提示词 |
| 越攒越多,最后全是噪声 | 按池分半衰期自动淡出;从没被想起过的条目会先淡、再走归档 |
| 记了一堆,却不知道自己记得什么、哪条还可信 | 元记忆:chain_about 回答「关于 X 我知道什么 / 多可信 / 变过几次」—— 被想起几次、有没有人确认过、是否被取代、依据还在不在 |
---
安装
# 方式一:放进 DSH 的插件目录 cd ~/.dsh/plugins git clone dsh-chain-shared # ⚠️ 必须在插件目录里装一次依赖 —— 见下面「为什么这一步不能省」 cd dsh-chain-shared npm install --registry=https://registry.npmmirror.com # 再挂进 profile cd ~/.dsh/profiles/web pnpm add link:~/.dsh/plugins/dsh-chain-shared # 或用 dsh plugin add
然后重启一次 DSH(插件清单变更不热加载)。
默认不按会话过滤。如需限定会话,可在启动 DSH 前设置环境变量 DSH_CHAIN_TARGET_SESSION_IDS(逗号分隔会话 id);缺省空字符串表示全会话共享。画布标签从服务端读取该配置。
首次装上时记忆是空的 —— 需要你在对话里让它记东西,或者用 chain_append 工具写第一条。
依赖
- Node ≥ 20
- 运行中的 DSH(任意 profile)
@node-rs/jieba(预编译二进制,不需要 C++ 编译器)@deepseek-ai/schemastery(可选:装了才有设置页,没装插件照常跑)@huggingface/transformers(可选,约 400 MB:装了才有语义检索;没装所有语义路径自动退回关键词路,不报错)
为什么那一步 npm install 不能省
pnpm add link: 只是把 profile 指向这个目录,不会替你装插件自己的依赖。
漏装的表现很安静,两条都对不上人会以为是版本问题:
| 没装的包 | 症状 |
|---|---|
| @node-rs/jieba | 检索层静默降级(不报错、只是召回变差)|
| @deepseek-ai/schemastery | 「思维链」画布右上角的设置按钮点了没反应 |
刻意做成可选依赖,是为了"装漏了也还能用";但装一遍最省事。
---
它提供什么
2.2.0 新增矛盾候选工具、eventId 分组、受限自动退役,以及夜巡的矛盾 / 同事件审查;2.1 的小更新已合入,详见 [CHANGELOG.md](./CHANGELOG.md)。
> 2.0 起多了什么:注入里会出现「这次联想到的」(在链上走 1–2 跳)与可选的「语义补位」;
> 多了 chain_about 这个元记忆出口;画布上多了感知 / 元记忆两块面板和一行「夜巡 16:51 · N 条」状态。
> 感知层目前只记录、不改变行为 —— 这点写在 CHANGELOG 的「已知限制」里。
8 个工具
| 工具 | 干什么 |
|---|---|
同分类对比
同一分类下 Star 最高的 5 个,便于横向比较。
| 插件 | 作者 | Star | 版本 | 更新 |
|---|---|---|---|---|
| thoughtdag | chenxiachan | 763 | 0.2.2 | 2026-11-08 |
| graph-memory | adoresever | 675 | 1.5.8 | 2026-10-01 |
| dsh-Mimir-Academic-research | 1692775560 | 562 | 0.0.0 | 2026-11-04 |
| memtrace-public | syncable-dev | 515 | 0.0.0 | 2026-11-09 |
| marketingdashboard | theBigGavin | 459 | 0.1.0 | 2026-10-29 |