dsh-cache-hit-precision:讓 DSH 狀態欄的緩存命中率顯示兩位小數

前言

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

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

小夜