前言¶
在 DSH(DeepSeek Harness)里跑长对话或反复改 prompt 时,模型侧的 prompt cache 是否命中,会直接影响延迟和输入 token 成本。Host 侧已有会话投影(tokenUsage、contextPressure),但默认界面不一定把「命中率」和「按请求的历史」摆在一眼能扫到的地方。
下面介绍社区插件 dsh-cache-hit-monitor(维护者 Billwu18,分类:客户端)。它在 DSH Web 右侧边栏增加一个仪表页,把当前会话的 prompt-cache 遥测画成寄存器、点阵命中率与「堆芯」历史板,数据来自 Host 已有投影,插件本身不发网络请求。
这是什么¶
dsh-cache-hit-monitor 是面向 DSH Web 平台的客户端插件(dsh.client.platform: web)。Host 端 index.js 仅导出空的 apply,用于在 Loader 中注册、启用/禁用;实际展示全部由浏览器端的 client.js(React、DSH browser-module 格式)完成。
插件通过 useProjection 读取 Host 已计算的 tokenUsage 与 contextPressure。折叠逻辑依赖 Host 侧的 @deepseek-ai/dsh-token-meter。无额外依赖、无构建步骤。
- 目录页:https://www.skillhub.cn/plugins/Billwu18/dsh-cache-hit-monitor
- 源码:https://github.com/Billwu18/dsh-cache-hit-monitor
- 许可证:MIT(
package.json版本 1.0.0)
核心功能¶
侧栏新增一个 Tab;每个页面加载会自动打开一次该 Tab,便于直接看到面板,关闭方式与其他 Tab 相同。Tab 注册为 keepMounted: true,切换 Tab 时尽量不因 remount 丢本地记录的历史。
面板由四块「表盘」组成:
| 表盘 | 内容 |
|---|---|
| Hit rate(命中率) | 会话 cache 命中率以 5×7 点阵百分比显示;另有 settled 请求数、上一请求的命中率、该请求距今时间,以及相对当前 prompt 总量的 28 灯条。 |
| Register bank(寄存器组) | 四个互不重叠的 cache 桶:cache read、cache write、uncached input、output;展示会话累计与按比例点亮的灯行。 |
| Reactor core(堆芯) | 每个已 settled 的请求一格,最新在左上;颜色表示该次命中率,直径与请求 token 相对板上最重请求有关,越旧越淡。悬停 title 可看精确的 read / write / uncached / output 拆分。 |
| Context pressure(上下文压力) | 压力 token 相对上下文窗口。 |
命中率怎么算¶
输出 token 不计入命中率(生成 token 不可 cache,计入会虚高):
hit rate = cache read / (cache read + cache write + uncached input)
堆芯格子的含义¶
- Ink:该次请求的命中率,单色强度渐变。
- Diameter:
sqrt(request tokens / heaviest request on the board),避免大冷启动把小请求挤没。 - Fade:越靠下越暗表示越旧。
板高由 ROWS 4 / 6 / 9 控制最大行数;列数由侧栏宽度自适应,窄侧栏同样历史会占更多行。 CLR 仅清空当前会话在本插件内存里的记录,不修改 Host 数据。
标题旁:实心红点表示本会话至少有一次 settled 请求;空环表示尚无记录。寄存器组是会话总量,灯条相对当前屏上最大桶比例缩放。
安装与启用¶
要求(与 README 一致):
- DSH:
>=0.1.7-rc.1 <0.2.0-0 - 平台:
web(dsh plugin --profile web) - React 18+(由 DSH Web UI 提供)
- Node
>=20仅用于仓库内测试脚本,运行插件不需要 Node
从 GitHub 安装:
dsh plugin --profile web add github:Billwu18/dsh-cache-hit-monitor
也可在 Web UI 的 Plugin Manager 中安装。安装后刷新页面即可;开发时若本地路径安装,Host 按文件修改时间重读产物,改 client.js 后刷新即可,无需重启 dsh web。
插件以当前 DSH 进程及 Web 会话权限运行;安装前请自行查看源码与 MIT 许可证。SkillHub 目录为社区站点,与 DeepSeek / 幻方无官方从属关系。
典型用法¶
- 在符合版本要求的 DSH Web 环境中执行上述
dsh plugin --profile web add命令(或通过 Plugin Manager 添加)。 - reload 页面,侧栏应自动出现 Cache Hit Monitor 相关 Tab。
- 正常对话、发请求;每有一次请求 settled,命中率点阵、寄存器与会话累计会更新,堆芯增加一格。
- 需要对比窄/宽侧栏下历史密度时,拖动侧栏宽度观察列数与行填充变化。
- 做 A/B prompt 或长上下文实验时,用堆芯颜色与
title拆分核对单次请求,而非只看会话平均点阵。 - 想只看新一段实验时,点 CLR 清本地历史(不影响 Host 日志)。
界面支持英文与中文 locale,其他语言回退英文;深浅主题下表盘刻意偏暗,外围 chrome 跟随 --dsw-* token。
适用场景与注意¶
适合谁
- 在 DSH Web 里调试 agent、长 system prompt 或重复前缀,需要直观看 prompt cache 是否起作用。
- 需要按请求回顾命中率走势,而不是只在日志里翻 token 明细。
隐私与数据
- 仅读本地 session projection;无网络请求、无对外遥测;历史除内存外不落盘。CLR 只清 Tab 内状态。
兼容与宿主
- 需要 Host 提供
sidebarRightTabs服务及上述投影。 - Host 端插件无业务逻辑,禁用/卸载按 DSH 常规插件流程即可。
结尾¶
dsh-cache-hit-monitor 把 Host 已有的 tokenUsage / contextPressure 收成侧栏仪表:寄存器看桶占比,点阵看会话命中率,堆芯看逐次请求。若你在 Web 端做 prompt-cache 相关优化,可先安装再对着面板读数,而不是凭体感猜冷热。