前言¶
在 DeepSeek Harness(DSH)裏做智能體或長對話開發時,宿主自帶的用量信息往往只反映「當前會話、當前上下文」,很難回答:某個工作區一共消耗多少 token、哪幾條會話最貴、最近一天或一週花了多少錢、緩存讀佔比是否健康。社區插件 dsh-session-usage(維護者 Aily-DSH,分類:模型推理)通過解析本地會話日誌,把每個會話的輸入、緩存讀、緩存寫、輸出 token 與人民幣估算費用匯總成表,並在側欄會話行上直接標註,且歷史會話從日誌裏回溯,而不是從安裝插件起才計數。
下面介紹它的定位、能力、安裝方式與使用注意。
這是什麼¶
dsh-session-usage 是給 DSH Web GUI / 桌面客戶端用的「對話用量」插件:只讀 $DSH_HOME 下的會話日誌(默認 ~/.dsh),在設置頁展示可排序的用量表,並與側欄聯動。數據與計價均在本地完成,不聯網。
與「只看當前上下文」的宿主視角相比,它面向的是項目級、時間窗口級、會話級的統計與對比。
核心功能¶
對話用量表與兩種視圖¶
每個會話一行,包含標題、所屬工作區、四類 token(輸入 / 緩存讀 / 緩存寫 / 輸出)以及估算費用(人民幣)。視圖可在 Token 用量 與 費用 之間切換,選擇會被記住。
時間窗口與側欄標註¶
支持最近 10 分鐘、30 分鐘、1 小時、3 小時、1 天、7 天、30 天以及 全部。頂部彙總卡片展示當前窗口內的總 token、緩存命中比例與估算費用。同一套窗口與視圖會同步到側欄:每條會話行上顯示對應 token 或費用數字,便於邊用邊看。
峯谷價與節假日¶
費用按 deepseek-flash 價目折算(人民幣 / 百萬 token),並將 deepseek-v4-pro 收斂到同一計價行。高峯爲北京時間工作日 09:00–12:00、14:00–18:00;其餘時段(含週末)按低谷價半價;法定節假日與調休依據內置 lib/holidays.js(可由 tools/gen-holidays.mjs 重新生成)。
增量解析與緩存¶
插件解析 $DSH_HOME/sessions/<project>/<session>/session.v4.jsonl.zstd,結果寫入 ~/.dsh/dsh-session-usage/cache.json。僅當日志文件體積或修改時間變化時才重新解壓解析,以降低重複開銷。宿主提供僅迴環訪問的路由 GET /api/dsh-session-usage/list,返回彙總後的列表。
解析方式(簡要)¶
DSH 會話日誌是追加寫的獨立 zstd 幀序列;Node 內置 zlib 的 zstdDecompressSync 遇首幀即停,因此宿主按 zstd 魔數切分後逐幀解壓。爲控制成本,先用子串預過濾跳過體積巨大的 tool/result、request/header 行,再解析攜帶 usage 計費字段的事件;每個會話文件以 mtime + size 命中緩存。
環境要求¶
- DeepSeek Harness >= 0.2.1-rc.2(Web GUI / 桌面客戶端)
- Node.js
^22.19.0 || >=24.0.0(依賴內置 zstd 解壓能力) - 進程需能讀取
$DSH_HOME(默認~/.dsh)
安裝與啓用¶
在 Windows 桌面版示例路徑下,官方 README 給出的安裝方式爲:
cd "/d/Program Files/DeepSeek Harness/resources/runtime/cli/bin"
./dsh.cmd plugin --profile desktop add "git+https://github.com/Aily-DSH/dsh-session-usage.git"
若 dsh 已在 PATH 中,同一倉庫地址也可寫作:
dsh plugin --profile desktop add "git+https://github.com/Aily-DSH/dsh-session-usage.git"
本地開發時可使用 file: 協議指向克隆後的目錄(路徑按本機修改)。安裝完成後需重啓一次 DeepSeek Harness 客戶端,再打開 設置 → 對話用量。
卸載:
dsh plugin --profile desktop remove dsh-session-usage
可選刪除 ~/.dsh/dsh-session-usage/。插件當前版本爲 0.1.0,許可證 MIT。
典型用法¶
經過上面的步驟進入 設置 → 對話用量 後,可按下面順序查看:
- 頂部彙總卡片:當前時間窗口內的總 token、緩存命中比例、估算費用。
- 切換時間窗口(10 分鐘至「全部」)與視圖(Token 用量 / 費用)。
- 在中間表格中按會話對比四類 token 與費用;側欄會話行會顯示與當前窗口、視圖一致的數字。
插件沒有必填配置項。若解析結果異常或需全量重建,可刪除 ~/.dsh/dsh-session-usage/cache.json 後再次打開設置頁;緩存版本(CACHE_VERSION)升級時也會自動重建。
適用場景與注意¶
適合:在 DSH 中長期跑多會話、多工作區,需要回答「總共燒了多少 token / 錢」「哪幾條會話最貴」「某段時間用量與緩存佔比」的開發者。
務必知曉:
- 插件以當前 DSH 進程權限運行,只讀本地日誌;安裝前建議瀏覽 GitHub 倉庫 源碼與 MIT 許可證。
- 費用爲估算,與官方控制台賬單可能存在幾個百分點的四捨五入差異,以賬單爲準。
- 僅統計本機
$DSH_HOME下日誌中存在的事件;其它機器或其它客戶端產生的會話若未同步到本地則不會出現。 - 首次打開且歷史會話很多(例如數百條)時,會有一定解析耗時,之後主要走緩存。
DSH 生態強調「一切皆插件」;SkillHub 目錄頁 與 GitHub 上的社區索引爲獨立收錄渠道,與 DeepSeek / 幻方無官方從屬關係。
結尾¶
dsh-session-usage 把 DSH 本地會話日誌轉成按會話、按時間窗口的 token 與人民幣估算,並接到設置頁與側欄,適合需要量化對話成本與緩存效果的 Harness 用戶。
- 目錄頁:https://www.skillhub.cn/plugins/Aily-DSH/dsh-session-usage
- 源碼與說明:https://github.com/Aily-DSH/dsh-session-usage