前言¶
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/header、request/context 上的模型名),再用 subprocess 跑 git 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_write 按 0.25 × 輸入 計費;其餘廠商通常沒有 write 附加費。模型 id 支持前綴匹配,帶日期快照後綴的 id(例如 claude-sonnet-4-5-20250929)會落到基礎行。未收錄的模型走默認檔 0.27 / 0.07 / 1.10(輸入 / 緩存讀 / 輸出),可以用 priceOverrides 覆蓋。完整表在倉庫 README 裏,這裏不逐行抄錄,以免和上游更新脫節。
有一個設置頁限制需要單獨說。DSH 宿主對客戶端可見的 settings namespace 有白名單(dsh-host-apiproxy 的 WEB_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