dsh-token-usage:DeepSeek Harness Web UI 的會話 Token 用量條

前言

在 DeepSeek Harness(DSH)的 web UI 中,默認的會話 token 用量通常只顯示爲 composer 下方的一行純文本 stats 行。對於需要頻繁關注上下文窗口、緩存命中和生成速度的 DSH 插件開發者來說,這一行文本不夠直觀:上下文還剩多少、輸入裏有多少 cache-read / cache-write / uncached、當前 decode throughput 和平均 TTFT 是多少,都需要逐項看文本才能拼出完整信息。

dsh-token-usage 是一個社區 DSH 插件,用更清晰的條狀區域和詳情面板取代默認純文本 stats 行。它由 hashdiana 維護,許可證爲 MIT,當前版本爲 0.1.0。

這是什麼

dsh-token-usage 是一個純客戶端 DSH 插件,用於在 DeepSeek Harness web UI 中展示會話 Token 用量。它不是官方組件,也不依賴服務端新增接口,而是在瀏覽器端讀取已有的持久投影數據,並替換默認 stats 單元。

該插件註冊到 conversation.composer.dock 的 stats 單元,優先級爲 -1,因此會取代默認的純文本 stats 行。插件的 host 端 apply() 爲空,客戶端部分負責 UI 展示。

核心功能

上下文佔用條

插件會在條狀區域顯示 Used / window tokens,並用顏色表示上下文佔用狀態:佔用較低時爲綠色,繼續升高時變爲琥珀色,接近窗口上限時變爲紅色。

輸入、輸出與緩存分離

插件會把輸入 token 拆分爲 cache-read、cache-write 和 uncached,並展示 cache-hit rate。這樣可以直接看到當前會話中輸入部分由哪些 token 構成,而不是隻看到一個總輸入數。

吞吐與首字延遲

條狀區域還會顯示 tok/s 和 TTFT。其中 tok/s 表示 decode throughput,TTFT 表示平均 first-token latency。

詳情面板

點擊條狀區域可以打開詳情面板。面板中可以看到上下文組成、輸入拆分、吞吐與 TTFT,以及會話的 turn、step、model 和 tool time。

當詳情面板內容超出可視範圍時,頂部和底部邊緣會出現淡出和模糊效果,表示還可以繼續滾動;滾動到端點時,這些邊緣效果會消失。

主題與語言

插件樣式使用 --dsw-* tokens 適配 light/dark 主題,並提供中文和英文兩種語言。

數據讀取

插件讀取 tokenUsage、contextPressure、contextBreakdown 和 sessionStats 等持久投影。沒有數據時,整行會隱藏,不會顯示空佔位。

安裝與啓用

從 GitHub 安裝

下面命令通過 dsh plugin 從 GitHub 安裝 hashdiana/dsh-token-usage,並指定 web profile:

npx -p @deepseek-ai/dsh dsh plugin --profile web add github:hashdiana/dsh-token-usage

安裝完成後需要重啓 web profile,使插件生效:

dsh web

從本地安裝

如果你本地已經拿到倉庫代碼,可以使用倉庫路徑安裝。把 <path-to-this-repo> 替換爲本地目錄路徑:

npx -p @deepseek-ai/dsh dsh plugin --profile web add <path-to-this-repo>

同樣需要執行:

dsh web

典型用法

查看 Token 用量

安裝並重啓後,在 DeepSeek Harness web UI 的 composer 下方可以看到用量條。可以直接查看上下文佔用、輸入、輸出、cache-hit rate、tok/s 和 TTFT。

點擊條狀區域,打開詳情面板,查看更完整的上下文組成、輸入拆分、吞吐、TTFT 和會話統計。

臨時禁用

如果只想臨時關閉該插件,而不是卸載,可以在 web profile 的 patch 文件中添加禁用項。路徑爲:

$DSH_HOME/profiles/web/cordis.patch.yml

添加如下配置:

- id: dsh-token-usage
  disabled: true

然後重啓:

dsh web

默認 stats 行會恢復顯示。重新啓用時,刪除上面兩行配置,並再次重啓 dsh web。

開發構建

如果你要修改或貢獻這個插件,可以在倉庫目錄中執行:

pnpm install

安裝依賴後,運行類型檢查:

pnpm typecheck

構建插件產物:

pnpm build

運行測試:

pnpm test

注意:Git 安裝會使用已構建好的 lib/,不會在安裝時運行構建腳本。因此從 Git 倉庫分發或提交代碼時,需要包含 lib/ 目錄。

適用場景與注意

這個插件適合以下幾類用戶:

  1. 使用 DeepSeek Harness web UI 進行長會話、長上下文開發的開發者。
  2. 需要關注 cache-read / cache-write / uncached 構成和 cache-hit rate 的人。
  3. 希望在 UI 中直接看到 tok/s 與 TTFT 的 DSH 用戶。
  4. 想要替換默認純文本 stats 行,減少信息閱讀成本的社區用戶。

使用注意:

  1. DSH 插件會在當前 dsh 進程環境中加載。安裝前建議檢查源碼、許可證和依賴。
  2. 該插件許可證爲 MIT。
  3. 安裝、禁用或重新啓用後,都需要重啓 dsh web 才能生效。
  4. 通過 Git 安裝時,使用的是倉庫中已有的 lib/ 構建產物;如果沒有 lib/,安裝可能無法獲得可用插件。
  5. 該插件是純客戶端插件,host 端 apply() 爲空,主要影響 web UI 的 stats 展示。

結尾

dsh-token-usage 的價值在於把原本擠在 composer 下方的一行文本,變成可掃一眼的 Token 用量條:上下文佔用、輸入輸出緩存分解、吞吐和首字延遲都能直接看到,點擊還能打開詳情面板查看會話統計。

GitHub 倉庫:

https://github.com/hashdiana/dsh-token-usage
羽毛球分组比赛记分
小程序二维码

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

小夜