使用 dsh-heatmap 在 DeepSeek Harness 網頁界面顯示 GitHub 風格活動熱力圖

前言

DeepSeek Harness(以下簡稱 dsh)是 DeepSeek AI 開源的智能體運行時,核心理念是「一切皆插件」:模型、工具、會話、界面都可以用插件替換或組合。官方倉庫目前仍處於 developer preview,接口還會繼續變。社區裏已經有一份獨立的插件目錄,用來檢索、覈對安裝命令,它和 DeepSeek / 幻方沒有官方從屬關係,不能當成官方應用商店。

日常用網頁界面跑任務時,提交次數、Token 用量、花費往往散落在會話日誌和各個工作區的 git 歷史裏。想回答「這周寫了多少、燒了多少 Token、大概花了多少錢」,通常要自己翻日誌。GitHub 貢獻圖解決的是同一類問題:把按日活動鋪成一張格子圖,顏色深淺一眼能看出來。

dsh-heatmap 做的就是這件事。它把近 90 天的提交、Token 消耗和估算花費畫成 GitHub 風格熱力圖,掛在 DSH 網頁界面左側欄底部。本文按目錄頁和 GitHub 倉庫交叉覈實後的材料,說明它是什麼、怎麼裝、怎麼用,以及安裝前需要注意的權限問題。

這是什麼

dsh-heatmap 是一款界面增強插件,由 283Gawin 維護,倉庫地址是 https://github.com/283Gawin/dsh-heatmap。目錄頁把它歸在「界面增強」,許可證爲 MIT,主要語言是 TypeScript。截至 2026-08-18,GitHub 星標爲 3,目錄收錄日期是 2026-08-14,最近一次推送也在同一天。npm 包名在倉庫裏寫作 @linxin666/dsh-client-ui-activity-heatmap,當前版本號是 0.1.0;本文寫作時 npm 倉庫返回 404,因此安裝請以 GitHub 來源爲準。

它解決的問題很具體:在 DSH 網頁界面裏常駐一張活動熱力圖,按日彙總提交次數、計費 Token 總量和按模型估算的花費,並在格子下方給出今日統計。數據不靠手工記賬,而是由宿主進程讀取本機會話的 durable 日誌,再對各個工作區跑 git log 聚合。

核心功能

倉庫 README 和目錄頁對能力的描述一致,主要有下面幾塊。

1、近 90 天熱力圖(固定窗口)。格子按 GitHub 貢獻圖的方式排布:週一到週日爲行、按周分列。顏色深淺按當前所選維度做對數分級。鼠標懸停可以看到當日明細,包括提交數、Token 和花費。源碼裏窗口長度定義爲 91 天,大約覆蓋 13 周,和側欄寬度匹配。

2、三個可切換維度。提交:統計所有 DSH 工作區 git 倉庫的提交,默認不含 merge。Token:計費總量。花費:按內置模型定價估算。當前選中的維度會記在瀏覽器 localStorage 裏。

3、今日統計塊。熱力圖下方固定一行,形態參考 Codex 個人資料頁,展示今日所有會話的 Token 總量、緩存命中率、今日花費,以及近 90 天窗口內的 Token / 提交 / 花費合計,還有今日按模型的花費細分。緩存命中率按 cacheRead / (cacheRead + cacheWrite + miss input) 計算。花費以美元計,可配置匯率後同時顯示人民幣。

4、常駐側欄。面板掛在左側欄底部、工作區列表下方。掛載是自愈式的,React 重渲染後會自動復位。標題可以點擊摺疊,摺疊狀態會持久化。

5、設置卡片。註冊在設置頁「插件」分區,可配置主題色(藍色 / 綠色)、總開關、是否計入 merge 提交、USD→CNY 匯率,以及模型定價覆蓋。也可以寫在插件行的 config 裏。

數據通路在 README 和宿主源碼裏都能對上:host 進程通過官方 SDK 的 sessionPersistence 列出全部會話並重放 durable 日誌(assistant/message 上的 provider usage,以及 request/headerrequest/context 上的模型名),再用 subprocessgit log 統計各工作區每日提交。聚合結果做 60 秒 TTL 緩存,經 GET /activity-heatmap/stats 提供給瀏覽器一側。

安裝與啓用

目錄頁給出的安裝命令如下,在 DeepSeek Harness 終端中運行即可:

dsh plugin add github:283Gawin/dsh-heatmap

需要可復現安裝時,把 commit 哈希釘死。本文覈實到 main 分支當時的提交是 4ba131df0980c8c8af72901ca9fa0f31accb9a6d

dsh plugin add github:283Gawin/dsh-heatmap#4ba131df0980c8c8af72901ca9fa0f31accb9a6d

倉庫 README 補充了兩條信息。第一,這是 Web GUI 插件,package.json 裏聲明瞭 "platform": "web",本地開發安裝時明確寫了 --profile web。第二,從源碼 link 安裝需要先構建出 lib/

git clone https://github.com/283Gawin/dsh-heatmap
cd dsh-heatmap
pnpm install && pnpm build
dsh plugin --profile web add link:$PWD

裝完後重啓 dsh web,左側欄底部應出現熱力圖面板。若界面沒有立刻出現,可按目錄站安裝指南用 dsh plugins list 確認插件是否已寫入當前配置。

README 還寫過一條 npm 安裝命令(dsh plugin --profile web add @linxin666/dsh-client-ui-activity-heatmap)。本文寫作時該包名在 npm registry 上不存在,所以不要把它當成當前可用的安裝方式。

配置與典型用法

重啓網頁界面後,熱力圖會常駐在左側欄底部。日常使用很直接:

1、看格子。顏色越深,當天在當前維度上的量越大。對數刻度會把極端高峯壓一壓,避免只有某幾天特別亮、其餘全是空白。
2、切換維度。在提交、Token、花費之間切換,用來分別看「寫了多少」「消耗了多少」「估算花了多少」。選擇會留在本機瀏覽器裏。
3、看今日數字。格子下方能看到今日 Token、緩存命中率、花費,以及近 90 天合計和按模型的花費拆分。
4、需要時摺疊。面板佔側欄底部一塊空間,不看的時候點標題收起來即可。

設置頁「插件 → 活動熱力圖」卡片對應的配置項如下(與插件行 config 等價)。鍵名以 README 和源碼中的 HeatmapConfig 爲準:

類型 默認 含義
theme string blue 熱力圖主題色:blue / green
enabled boolean true 插件總開關
includeMerges boolean false 提交數是否計入 merge 提交
extraRepos string[] [] 額外納入統計的 git 倉庫路徑(源碼配置項)
usdCnyRate number 0 USD→CNY 匯率,0 表示不顯示人民幣
priceOverrides 對象 {} 按模型覆蓋單價

插件行配置示例(來自 README):

- insert:
  - id: ui-activity-heatmap
    name: '@linxin666/dsh-client-ui-activity-heatmap'
    config:
      theme: green
      usdCnyRate: 7.2
      priceOverrides:
        my-model:
          inputPerM: 0.5
          outputPerM: 2

改配置後需要重啓 dsh web 才生效。

內置定價表按廠商公開 API 的美元 / 百萬 Token 價格填寫,並對照 xiufengsun/TokenTracker 的 curated overrides 做了校準(README 寫明對照時間爲 2026-06/07)。DeepSeek 系按官方頁把 cache_write 計爲輸入價;Anthropic 系的 cache_write0.25 × 輸入 計費;其餘廠商通常沒有 write 附加費。模型 id 支持前綴匹配,帶日期快照後綴的 id(例如 claude-sonnet-4-5-20250929)會落到基礎行。未收錄的模型走默認檔 0.27 / 0.07 / 1.10(輸入 / 緩存讀 / 輸出),可以用 priceOverrides 覆蓋。完整表在倉庫 README 裏,這裏不逐行抄錄,以免和上游更新脫節。

有一個設置頁限制需要單獨說。DSH 宿主對客戶端可見的 settings namespace 有白名單(dsh-host-apiproxyWEB_SETTINGS_NAMESPACES,寫在官方包裏)。新插件必須把自己的 namespace 加進去,否則設置卡片會顯示 Settings not available for this plugin.。本插件需要把 "activity-heatmap" 追加到該數組;升級 dsh 後這個修改會被覆蓋,需要重新打補丁。修改後重啓 dsh web 生效。熱力圖面板本身不依賴這張設置卡,只是圖形化改配置會受影響。

適用場景與注意事項

比較適合這幾類用法:

  • 長期用 DSH 網頁界面寫代碼,希望像看 GitHub 貢獻圖那樣回看近三個月的提交節奏。
  • 同一套環境裏會切換多個模型,想按日、按模型估算 Token 花費,而不是隻看單次會話賬單。
  • 關心緩存是否真的打中,需要一個按日可見的命中率數字。

使用前有幾件事必須清楚。

插件以當前 dsh 進程的權限運行,安裝時可能執行代碼。安裝前請檢查源代碼倉庫和許可證;需要可復現安裝時請固定 commit 哈希。目錄頁把這條警告寫在安裝命令正下方,不是套話:宿主一側會讀本機全部會話日誌,並對工作區執行 git log

花費是估算值,不是賬單。定價表會過時,未收錄模型走默認檔,實際渠道折扣、套餐、免費額度都不會自動反映。usdCnyRate 也要自己填,插件不會去拉即時匯率。

提交統計默認不含 merge,範圍是「所有 DSH 工作區的 git 倉庫」,不是整個磁盤上的全部倉庫。要把額外路徑算進去,需要配置 extraRepos

這是社區 MIT 項目,不是 DeepSeek 官方插件。目錄站只是檢索入口。dsh 本身還在 developer preview,宿主白名單、settings API、Web UI 結構都可能變,升級後熱力圖不出現或設置卡不可用時,先對照倉庫 README 而不是假定插件壞了。

小結

dsh-heatmap 把近 90 天的提交、Token 和估算花費畫成側欄熱力圖,數據來自本機會話日誌和工作區 git 歷史。安裝命令以目錄頁爲準:

dsh plugin add github:283Gawin/dsh-heatmap

目錄頁:https://deepseek-harness-plugin.com/zh-CN/plugins/dsh-heatmap/

GitHub:https://github.com/283Gawin/dsh-heatmap

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

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

小夜