前言¶
DeepSeek Harness(dsh)的扩展理念是「一切皆插件」。对于需要频繁打开、刷新和切换会话的 dsh 用户,聊天记录加载路径中的 inspect、readFrom、list 以及投影缓存写盘,都会直接影响使用体验。
dsh-better-chat-history 是一个 DSH 会话 I/O 优化插件,通过读路径缓存与写合并优化聊天记录加载。它不修改 DSH 本体,按插件方式挂载后生效。下面介绍它的功能、安装方式和注意事项。
这是什么¶
dsh-better-chat-history 由 echo-xianyu 维护,当前版本为 0.1.0,许可证为 MIT。
它的定位是一句话:DeepSeek Harness(dsh)会话 I/O 优化插件,通过读路径缓存与写合并优化聊天记录加载。
实现方式上:
- 零依赖,纯 JS ESM;
- 不修改 DSH 本体;
- 通过包装既有服务实例方法 + patch 配置覆盖生效;
- 需要
dsh >= 0.1.0-rc.6。
核心功能¶
读路径缓存¶
插件对读路径做三级缓存:
inspect:LRU 缓存,默认 64 槽,TTL 60s,并做并发去重;readFrom:缓存命中时直接内存截取,零磁盘 IO;list:5s TTL 缓存,避免每次打开 GUI / 刷新都全盘扫描所有会话 header。
会话预热器¶
web 启动后,插件会在后台把最近活跃的会话预先 inspect 进缓存,默认 24 个。
这样可以减少后续打开这些会话时再次走完整读路径的概率。
精确失效¶
插件监听以下事件:
session/event
session/created
session/disposed
会话日志一旦变化,会立即弃用对应缓存。语义上是只读路径缓存 + 事件失效:最多返回陈旧视图,绝不产生错误数据。
写合并¶
插件对 fail-soft 的投影缓存做合并落盘,fsync 频率降低约 10 倍。
需要注意的是,workspace.json 等权威数据不合并,保持原语义。
安装与启用¶
方式一:使用本地 Release tarball¶
先把 dsh-better-chat-history-0.1.0.tgz 放到命令执行目录,然后执行:
dsh plugin --profile <profile> add ./dsh-better-chat-history-0.1.0.tgz
安装后重启对应 profile 即可。
方式二:手动挂载¶
如果不用插件包安装,也可以把插件文件直接挂到目标 profile 中。先挂载文件,再追加配置,最后重启 dsh。
1、把本包放入目标 profile 的目录:
node_modules\dsh-better-chat-history\
包内应包含:
lib\index.js
cordis.patch.yml
package.json
零依赖,无需额外 install。
2、在 profile 的 package.json 的 dependencies 中加入:
"dsh-better-chat-history": "file:<本包路径>"
3、在 profile 的 cordis.patch.yml 末尾追加以下配置项:
session-persistence-jsonl
session-projection-cache
io-optimizer
4、重启 dsh:
dsh web
或者:
dsh --profile <profile>
验证¶
重启后执行:
dsh --profile web --dump-config
应看到 session-persistence-jsonl 行带:
preparedSessionCacheSize: 64
writeBatchMaxDelayMs: 2000
同时应看到 io-optimizer 行。
插件静默运行:正常时不输出任何日志,仅 error 级会输出。
适用场景与注意¶
适合使用 dsh profile / dsh web 管理多个会话,并希望在读取聊天记录时减少重复读盘、在投影缓存写入时减少落盘次数的用户。
安装前需要注意:
- 插件以当前 dsh 进程权限运行,安装前应检查源码与许可证;
- 需要
dsh >= 0.1.0-rc.6; - 只读路径缓存 + 事件失效的语义是:最多返回陈旧视图,绝不产生错误数据;
- 写合并只作用于
fail-soft的投影缓存;workspace.json等权威数据不合并,保持原语义; - 崩溃丢失窗口:最近 ~2s 的日志事件、合并窗口内的投影缓存更新;
- 项目部分代码与文档由 AI 辅助生成,并经过人工审查与测试;按 MIT 许可证开源,仅供学习与参考,使用者请自行评估代码的安全性与合规性。
获取¶
社区目录页(独立站点,与 DeepSeek / 幻方无官方从属关系):
https://www.skillhub.cn/plugins/echo-xianyu/dsh-better-chat-history
GitHub 仓库:
https://github.com/echo-xianyu/dsh-better-chat-history