dsh-token-wall:DSH 的 Token 用量可視化看板

前言

DeepSeek Harness(DSH)在本地運行大量模型調用時,往往難以直觀感知「已經花了多少 token」以及「成本主要來自哪裏」。官方的用量信息分散在會話日誌裏,需要自己整理統計;已有的工具要麼只看摘要,要麼需要額外維護。dsh-token-wall 插件的目標是把這些信息集中到一個看得見的看板裏,讓你在開發時就能把握成本和上下文佔用。

這是什麼

dsh-token-wall 是一個運行在 DSH Web profile 下的 Cordis bundle 插件,維護者爲 ChinRinhan。它按本機時區記錄每次模型調用的 token 消耗,並把「攢了多少」做成可視化的方塊牆。插件會從已有會話日誌中回填歷史數據,並在之後每次模型調用時實時入賬。

插件以 dsh-token-wall 爲包名,但內部標識(路由前綴 /dsh-token-usage、存儲目錄、localStorage key)保持不變,因此升級不會丟失歷史數據。目前該包尚未發佈到 npm,只能通過源碼安裝。

核心功能

方塊牆

方塊牆是主面板,每 10M tokens 填一格,100 格一頁,累計只增不減。每 10 格一道里程碑豎線(=1 億 tokens),首末行標出該行的量級。你可以切換「累計 / 今日」兩種口徑:累計是隻增不減的歷史總量,今日是午夜歸零的當天量。頁面下方展示消耗分佈與診斷信息。

桌寵

桌寵是一個可拖動的浮動面板,常駐在窗口任意位置。它顯示當前會話的用量(無會話信息時顯示 —)、當前 10M 方塊的填充進度、本輪實時用量、全時累計塊數、上下文佔用(projectedTokens / contextWindow,60% 起轉黃、85% 起轉紅)、緩存讀取/計費輸入、今日總量等。桌寵支持拖動、摺疊/展開,位置記憶在 localStorage 中,窄屏(≤768px)下自動隱藏。

消耗分佈

在同一區域切換三個視角:工作區、模型、廠商。模型視角會自動歸併同一模型的不同寫法(如不同渠道前綴或 free 後綴),但不同代際不合並,避免掩蓋「還在用舊模型」的問題。認不出廠商的模型歸入「其他」,不猜測。可以用配置中的 modelAliases 顯式聲明模型別名。

設置頁

「Token 用量」一節包含運行時開關(桌寵、方塊牆面板、輸入框上方橫幅、含子會話、含輔助調用)、今日與累計卡片、區間彙總表(按天/周/月/工作區/渠道/模型/渠道+模型/類型分組)、時長預設(近 7 天/30 天/90 天)+ 自定義起止日期、過濾開關與診斷區(已跟蹤會話數、實時入賬數、回填狀態、存儲位置)。

安裝與啓用

當前唯一可用的安裝方式是從源碼克隆。

1. 克隆插件到 profile 的 node_modules

# <profile> 通常是 ~/.dsh/profiles/<名字>
# Windows: %USERPROFILE%\.dsh\profiles\<名字>
cd ~/.dsh/profiles/<profile>/node_modules
git clone https://github.com/ChinRinhan/dsh-token-wall.git dsh-token-wall

2. 鎖定版本(可選)

cd dsh-token-wall && git checkout v0.2.0

3. 在 profile 的 cordis.patch.yml 中插入 bundle

- insert:
    - id: dsh-token-usage          # 內部標識,不要改
      name: 'dsh-token-wall'
      config:
        keepDays: 400

4. 啓用插件

在 DSH 會話中執行:

plugin_manager  install_bundle  target=dsh-token-wall
plugin_manager  set_bundle      target=dsh-token-usage  enabled=true

5. 驗證安裝

啓用後宿主會註冊四條路由。把 <port> 換成你的 Web GUI 端口:

curl http://127.0.0.1:<port>/dsh-token-usage/today

返回 {"ok":true,"totals":{...},"allTime":{...},...} 即表示安裝成功。界面上應該能看到側欄的方塊圖標、右下角的桌寵以及設置頁中的「Token 用量」一節。

典型用法

查看今日與累計總量

訪問 GET /dsh-token-usage/today 獲取今日 + 昨日 + 累計 + 本次運行平均速度 + 當前工作區/模型 + 運行時開關 + 診斷信息。

按時間與維度彙總

訪問 GET /dsh-token-usage/summary?from=...&to=...&groupBy=day,支持按天/周/月/工作區/渠道/模型/渠道+模型/類型分組。

查看工作區分佈

訪問 GET /dsh-token-usage/workspaces?from=...&to=...,獲取 top N 工作區分佈。

運行時開關

通過 PUT /dsh-token-usage/prefs 更新運行時開關,如關閉桌寵:

curl -X PUT http://127.0.0.1:<port>/dsh-token-usage/prefs -d '{"pet":false}'

適用場景與注意

適合需要直觀掌握 DSH 本地模型調用成本與上下文佔用的開發者。插件以當前 DSH 進程權限運行,安裝前應檢查源碼與許可證(MIT)。標題生成等不攜帶 usage 的調用無法被統計,這是已知限制,不是遺漏。數據存儲在 $DSH_HOME/token-usage/daily.json 與 $DSH_HOME/token-usage/prefs.json,升級不會丟失歷史數據。

短結尾

dsh-token-wall 把分散的 token 用量信息收斂到方塊牆、桌寵和設置頁中,幫助你更快發現成本驅動與上下文壓力。項目地址:https://github.com/ChinRinhan/dsh-token-wall

羽毛球分组比赛记分
小程序二维码

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

小夜