前言¶
在 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 相關優化,可先安裝再對着面板讀數,而不是憑體感猜冷熱。