🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI
广告☁️ 云服务器特惠阿里云首购 8 折 · 腾讯云合作特惠
DeepSeek Harness Hub
← 返回列表

会话加载加速echo-xianyu/dsh-better-chat-history

DeepSeek Harnessspec-screened扫描:低风险在 GitHub 查看 ↗
未验证

缓存会话记录,减少磁盘读写,加快切换加载

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/14 · 已提供中文文档

一个用于 DSH 的插件,用于优化会话加载速度并减少磁盘读写消耗。

综合分
27.4
GitHub 分
27.4
用户评分
—
★ Stars
1
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add echo-xianyu/dsh-better-chat-history
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
信任档位:仅索引本站尚未对其实装验证,仅收录元数据
是什么
dsh 原生插件 · chat
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
还在维护吗
更新放缓:最近一次提交在 42 天前

档位由下列信号合成:本站实装验证(真实安装,当前最高到 L4)· 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。下方各区块是它的证据明细。 验证判据与等级说明 →

数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

由 DeepSeek 最新模型翻译生成
⚡ dsh-better-chat-history

License
Version
DSH
Dependencies

更好的聊天记录加载 —— DeepSeek Harness(dsh)会话 I/O 优化插件:消除多 Agent 切换会话时的 JSONL 全量冷读,合并投影缓存写放大,延长 SSD 寿命。

零依赖,纯 JS ESM,不修改 DSH 本体——通过包装既有服务实例方法 + patch 配置覆盖生效,静默运行。

✨ 特性

- 读路径三级缓存
- inspect:LRU(默认 64 槽,TTL 60s)+ 并发去重(同 id 同时请求只读一次盘);
- readFrom:缓存命中时直接内存截取,零磁盘 IO;
- list:5s TTL 缓存,避免每次打开 GUI / 刷新都全盘扫描所有会话 header;
- 会话预热器 —— web 启动后后台把最近活跃的会话(默认 24 个)预先 inspect 进缓存,让“初次点击”也命中缓存而不是全量冷读——解决首次打开卡顿的关键;
- 精确失效 —— 监听 session/event / session/created / session/disposed,会话日志一旦变化立即弃对应缓存:最多返回陈旧视图,绝不产生错误数据;
- 写合并 —— 对 fail-soft 的投影缓存做合并落盘(多次 put/delete 在合并窗口内只落盘一次),fsync 频率降低约 10 倍;workspace.json 等权威数据不合并,保持原语义。

📦 安装

方式 A(推荐):Release tarball 安装

dsh plugin --profile  add ./dsh-better-chat-history-0.1.0.tgz

包内 cordis.patch.yml 自动成为 bundle 层(含配置覆盖与插件挂载),重启后生效。

方式 B:手动挂载(零依赖,无需 pnpm)

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 末尾追加:

更好的聊天记录加载
- id: session-persistence-jsonl
config:
root: !!js dshHomePath('sessions')
preparedSessionCacheSize: 64
writeBatchMaxDelayMs: 2000

- id: session-projection-cache
config:
writeEveryEvents: 500
writeIntervalMs: 15000

- insert:
- id: io-optimizer
name: 'dsh-better-chat-history'

4. 重启 dsh web(或 dsh --profile )。插件静默运行:正常时不输出任何日志(仅 error 级),生效与否看行为——切换 / 初次打开会话明显变快。

需要 dsh ≥ 0.1.0-rc.6。Release 资产见页面右侧 Releases。

✅ 验证

dsh --profile web --dump-config
应看到 session-persistence-jsonl 行带 preparedSessionCacheSize: 64 / writeBatchMaxDelayMs: 2000,以及 io-optimizer 行

行为验证:重启后首次点开最近跑过的会话应接近秒开(预热命中);反复切换会话应无等待(读缓存命中)。

⚙️ 配置项

profile patch 中给 io-optimizer 行加 config 覆盖:

| 键 | 默认 | 说明 |
|---|---|---|
| inspectCacheSize | 64 | 冷读 LRU 槽数 |
| inspectCacheTtlMs | 60000 | 冷读缓存 TTL |
| listCacheTtlMs | 5000 | 会话列表缓存 TTL |
| coalesceUnits | ["session_projcache"] | 参与写合并的 storage 单元名 |
| coalesceMs | 1500 | 写合并窗口 |
| warmSessions | 24 | 启动后预热的最近会话数(0 关闭) |
| warmDelayMs | 10000 | 预热开始延迟(避开启动高峰) |
| warmIntervalMs | 600 | 每两个会话预热之间的间隔(普通批次) |
| warmFastCount | 5 | 优先快速预热的前 N 个会话 |
| warmFastIntervalMs | 150 | 优先批次的预热间隔 |

🛡️ 语义安全

- 只读路径缓存 + 事件失效:最多返回陈旧视图,绝不产生错误数据;
- 写合并仅作用于 fail-soft 单元,权威数据原样直写;
- 崩溃丢失窗口:最近 ~2s 的日志事件、合并窗口内的投影缓存更新——均符合原设计语义;
- 插件可在 HMR / 重载时恢复原始方法(ctx.effect disposer + 防重复包装标志)。

🤖 AIGC 声明

本项目部分代码与文档由 AI 辅助生成,并经过人工审查与测试。项目按 MIT 许可证开源,仅供学习与参考;使用者请自行评估代码的安全性与合规性。

🔗 相关插件
- dsh-go-rotator —— OpenCode Go 订阅 key 轮换器
- dsh-chat-archive —— 聊天记录管理面板

📄 许可证

MIT © 2026 dsh-better-chat-history contributors

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

同作者(echo-xianyu)的其他插件

💬 加入社群

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

DPharness QQ 群二维码,QQ 扫码进群
QQ 扫码进群
DPharness 飞书群二维码,飞书扫码进群
飞书扫码进群