前言¶
在 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/ 目錄。
適用場景與注意¶
這個插件適合以下幾類用戶:
- 使用 DeepSeek Harness web UI 進行長會話、長上下文開發的開發者。
- 需要關注 cache-read / cache-write / uncached 構成和 cache-hit rate 的人。
- 希望在 UI 中直接看到
tok/s與TTFT的 DSH 用戶。 - 想要替換默認純文本 stats 行,減少信息閱讀成本的社區用戶。
使用注意:
- DSH 插件會在當前
dsh進程環境中加載。安裝前建議檢查源碼、許可證和依賴。 - 該插件許可證爲 MIT。
- 安裝、禁用或重新啓用後,都需要重啓
dsh web才能生效。 - 通過 Git 安裝時,使用的是倉庫中已有的
lib/構建產物;如果沒有lib/,安裝可能無法獲得可用插件。 - 該插件是純客戶端插件,host 端
apply()爲空,主要影響 web UI 的 stats 展示。
結尾¶
dsh-token-usage 的價值在於把原本擠在 composer 下方的一行文本,變成可掃一眼的 Token 用量條:上下文佔用、輸入輸出緩存分解、吞吐和首字延遲都能直接看到,點擊還能打開詳情面板查看會話統計。
GitHub 倉庫:
https://github.com/hashdiana/dsh-token-usage