前言¶
dsh web 的狀態欄下方有一行統計信息,緩存命中率是其中一項。這個數值默認不按兩位小數顯示,想觀察它在相鄰輪次之間的細微變化時,讀數不夠用。
要改這類顯示,直接修改 dsh 安裝目錄裏的代碼是一種做法,但改動會和上游環境混在一起,不好維護。DSH 的理念是「一切皆插件」,這類界面上的小改動正適合用插件解決。下面介紹的就是這樣一個小插件:dsh-cache-hit-precision,作者是 luern0313。
插件簡介¶
dsh-cache-hit-precision 面向 dsh web 平臺(package.json 中 dsh.client.platform 爲 web),當前版本 1.0.0,MIT 協議開源。它做的事用一句話概括:讓狀態欄下方的緩存命中率顯示兩位浮點數。
具體來說:
- 唯一變化的是
stats.cacheHit這一項:從tokenUsage投影重新計算精確百分比,再以兩位小數輸出 - 輪次、步驟、耗時、TTFT、token 等統計項照常顯示,一律不動
- 界面文案自動跟隨當前語言,支持中文 / English
- 非侵入:不修改 dsh 安裝目錄與任何上游包
工作原理¶
插件利用 dsh 的 slot 陰影機制包裝原始的 StatsLine 組件,只替換其中 stats.cacheHit 的本地化參數:從 tokenUsage 投影重新計算緩存命中的精確百分比,再以兩位小數輸出。
其餘數據項不經過處理,直接沿用原始組件的顯示邏輯,所以統計行看起來和原來一致,只有命中率一項多了小數位。
安裝與啓用¶
插件面向 web 平臺,安裝命令均帶 --profile web。下面三種方式任選其一,安裝後需要重啓 dsh web 纔會生效。
1、GitHub 安裝:
dsh plugin --profile web add github:luern0313/DSH-Cache-Hit-Precision
2、本地安裝。先克隆倉庫,再從本地路徑添加:
git clone https://github.com/luern0313/DSH-Cache-Hit-Precision.git
dsh plugin --profile web add ./DSH-Cache-Hit-Precision
3、不使用 pnpm 時可以手動安裝。先建立目錄,把倉庫軟鏈進去:
mkdir -p ~/.dsh/profiles/web/node_modules
ln -sfn /path/to/DSH-Cache-Hit-Precision ~/.dsh/profiles/web/node_modules/dsh-cache-hit-precision
/path/to/DSH-Cache-Hit-Precision 替換爲實際的倉庫路徑。然後在 ~/.dsh/profiles/web/cordis.patch.yml 末尾追加:
- insert:
- id: cache-hit-precision
name: dsh-cache-hit-precision
注意區分兩個名字:GitHub 倉庫名爲 DSH-Cache-Hit-Precision,包名爲 dsh-cache-hit-precision,手動安裝時軟鏈的目標名要用後者。
安裝完成後重啓:
dsh web
適用場景與注意¶
適合的人很明確:需要在 dsh web 裏精確讀取緩存命中率、關心小數位變化的用戶。如果你平時不看這個數值,裝它的收益有限。
安裝前有幾點要確認:
1、插件會以當前 dsh 進程的權限運行。安裝任何第三方插件前,建議先到 GitHub 倉庫通讀源碼、確認許可證(本項目爲 MIT)再決定是否安裝。
2、插件聲明平臺爲 web,安裝命令均使用 --profile web。
3、安裝後必須重啓 dsh web 才能生效。
小結¶
dsh-cache-hit-precision 只解決一個問題:把狀態欄下方的緩存命中率精確顯示到兩位小數,其餘顯示保持原樣,也不改動 dsh 的任何安裝文件。安裝成本就是一條命令加一次重啓。
- 社區插件目錄頁:https://www.skillhub.cn/plugins/luern0313/DSH-Cache-Hit-Precision
- GitHub 倉庫:https://github.com/luern0313/DSH-Cache-Hit-Precision