dsh-better-chat-history:DeepSeek Harness 会话 I/O 优化插件

前言

DeepSeek Harness(dsh)的扩展理念是「一切皆插件」。对于需要频繁打开、刷新和切换会话的 dsh 用户,聊天记录加载路径中的 inspectreadFromlist 以及投影缓存写盘,都会直接影响使用体验。

dsh-better-chat-history 是一个 DSH 会话 I/O 优化插件,通过读路径缓存与写合并优化聊天记录加载。它不修改 DSH 本体,按插件方式挂载后生效。下面介绍它的功能、安装方式和注意事项。

这是什么

dsh-better-chat-historyecho-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.jsondependencies 中加入:

"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
羽毛球分组比赛记分
小程序二维码

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

Xiaoye