前言¶
DSH 的理念是「一切皆插件」,社區目錄裏的插件也越來越多。日常用 DSH 開會話時,積累下來的會話日誌基本沒人回頭看。想知道自己一個月裏到底寫了多少輪、調了多少次工具、花了多少主動時間,一般只能翻日誌或者手動統計。dsh-activity-heatmap 就是爲這件事做的:它從本機會話日誌裏按天統計使用量,再用類似 GitHub 貢獻圖的熱力圖展示出來,並且支持切換形狀、配色和日曆佈局。
這個插件由 4uthen7(高本)維護,在社區目錄中被歸入「趣味換裝」分類,本質是一個界面展示類插件:不改工作流,只是把已有的會話數據畫出來。下面介紹它的能力、安裝方式和需要注意的地方。
這是什麼¶
一句話定位:給 DeepSeek Harness 加一個 GitHub 風格的活動熱力圖,數據完全來自本機會話日誌。
它統計的指標包括消息數、工具調用、輪次、token 數、活躍分鐘數和會話數,按天畫一個格子,支持方形、圓角、圓形、六邊形、菱形、星形以及自定義 SVG 路徑。默認行爲不需要聯網,Host 側只返回聚合後的計數。
核心功能¶
-
多指標按天計數:消息取
user/message和assistant/message事件,工具調用取tool/call,輪次取turn/start,token 取 assistant 消息上報的輸入加輸出,活躍時間取當天產生過事件的不同分鐘數,會話數按頭部createdAt統計當天新建的會話。 -
多種外觀:形狀可從 Square、Rounded、Circle、Hexagon、Diamond、Star 中選,也可以填自定義 SVG path(view box 爲
0 0 100 100)。配色有 GitHub、Ocean、Violet、Sunset、Mono、Custom 六種,另有四級強度色和主題色的空日期。 -
多種日曆佈局:Year(53 周)、Months(12 張小日曆)、Rolling(13/26/52 周)三選一。
-
多個展示位置:側欄底部 widget(7–52 周,默認 22 周)、側欄導航裏的 Activity 行、Composer 下方的可選細條(默認關閉),以及 Settings → Activity 完整設置頁。
-
隱私邊界:Host 側只註冊一個精確的本地迴環路由
/plugin-api/activity-heatmap/stats,返回的字段只有 date、sessions、turns、messages、tool calls、tokens、events、active minutes,不包含 prompt、回覆內容、文件路徑、標題或工具參數。插件本身不做任何出網請求。
安裝與啓用¶
插件支持三種安裝方式,前兩種等價,無非是讓 Agent 代勞還是自己操作。
方式一:在會話裏讓 Agent 安裝。把下面這段話粘貼進去發送即可:
Install the plugin at https://github.com/4uthen7/dsh-activity-heatmap into DeepSeek Harness.
Verify that Settings → Activity opens, then tell me what you changed.
Agent 會調用 plugin_manager 工具完成安裝。對應的工具調用形式是:
plugin_manager { action: "install_bundle", target: "https://github.com/4uthen7/dsh-activity-heatmap" }
方式二:從 Plugins 頁面手動安裝。
- 打開側欄的 Plugins。
- 選擇 Add plugin(或箭頭裏的 Install a third-party plugin)。
- 粘貼
https://github.com/4uthen7/dsh-activity-heatmap並確認。 - 如果裝完是關閉狀態,手動啓用該 bundle。
方式三:從本地工作副本安裝,適合改完代碼直接驗證:
plugin_manager { action: "install_bundle", target: "/absolute/path/to/dsh-activity-heatmap" }
安裝前需要確認環境滿足兩個條件:使用帶 Web UI 的 DeepSeek Harness(Desktop 或 web profile),並且 DSH 版本同時提供 sessionPersistence、sessionQuery 和 webServer 服務。插件對缺失情況做了降級:如果沒有 persistence,就只統計會話創建日。webServer 是它聲明的唯一硬性 Host 依賴,缺了插件會保持不激活。
配置項¶
所有選項按瀏覽器保存在 localStorage,鍵爲 dsh-activity-heatmap/settings/v1,改動即時生效。設置頁完整路徑是 Settings → Activity → Appearance(中文界面下名爲「活動」)。
| 選項 | 可選值 | 默認值 |
|---|---|---|
| Measure | Messages / Active time / Tool calls / Turns / Sessions / Tokens | Messages |
| Calendar | Year(53 周)/ Months(12 張小日曆)/ Rolling(13/26/52 周) | Year |
| Shape | Square / Rounded / Circle / Hexagon / Diamond / Star / Custom SVG path | Square |
| Cell size | 5–20 px | 8 px |
| Spacing | 1–8 px | 2 px |
| Palette | GitHub / Ocean / Violet / Sunset / Mono / Custom | GitHub |
| Colors | 4 級強度色 + 主題色空日期 | GitHub 綠 |
| Week starts on | Sunday / Monday | Monday |
| Intensity | Linear / Log / Rank(分位) | Linear |
| Labels | 月份標籤、星期標籤、圖例 | 開啓 |
| Sidebar widget | 顯示/隱藏,7–52 周 | 開啓,22 周 |
| Composer strip | 顯示/隱藏 | 關閉 |
自定義形狀那一項填 SVG path 即可,例如指向三角形的 M50 4 L96 92 L4 92 Z。路徑不合法時插件會忽略並退回方形,不會報錯。
適用場景與注意¶
適合想給 DSH 加個可視化、又不想折騰腳本的人。統計口徑偏使用量瀏覽,不是計費依據:會話日誌每個修訂版本只讀一次並在 Host 內存裏緩存,克隆或 seed 出來的會話會繼承歷史,導致早前的日期被重複計入。
有幾點需要留意:
-
安裝前檢查源碼與許可證。這是第三方插件,當前版本爲 1.1.0,MIT 許可。安裝意味着 DSH 進程會加載它的 Host 模塊,建議先讀
index.js、client.js和cordis.patch.yml,確認 patch 只增加所需的行、不夾帶其他操作。 -
以當前 DSH 進程權限運行。Host 側模塊獲得的權限取決於 DSH 進程本身,插件聲明的 Host 依賴只有
webServer,計數走的是隻讀的sessionPersistence/sessionQuery,但仍建議在可信環境裏使用。 -
卸載方式:Plugins → 該 bundle 頁面 → Remove。瀏覽器側保存的設置會保留,直到你清理站點數據。
-
改代碼後的重載規則:編輯
client.js後刷新頁面即可;編輯index.js後需要把對應行關閉再打開(或重啓),Host 模塊纔會重新導入。
結尾¶
dsh-activity-heatmap 的價值比較明確:不引入新數據源,不改變使用習慣,只是把已有的本地會話日誌畫成一張能看的使用熱力圖,同時承擔了明確的隱私邊界。如果你只是想在側欄加一個不涉及任何會話內容的統計裝飾,可以優先試;要確認行爲,直接讀倉庫裏的源碼。
目錄頁:https://www.skillhub.cn/plugins/4uthen7/dsh-activity-heatmap
GitHub:https://github.com/4uthen7/dsh-activity-heatmap