前言¶
在桌面或 Web 上使用 DeepSeek Harness(DSH)時,社區裏已有不少「token 用量統計」類插件,多數帶 Web 面板或側欄入口。Android 版 DSH 引擎(@dsh-android/bundle-android)沒有 Web Client 層:引擎裏不包含 dsh-client-ui-slots、側欄 slot 等 UI 組合,App 是原生界面加 JSON-RPC。那些在 package.json 裏聲明瞭 dsh.client 的用量插件,裝到手機上通常也渲染不出來。
下面介紹維護者 Verchiel666 發佈的 dsh-usage-android:把「會話 token 用量統計」做成純 host 側只讀工具,在 Android 上可以直接用工具結果或命令行看報告,不依賴 Web UI。
這是什麼¶
dsh-usage-android 是會話 token 用量統計插件,分類屬於 DSH 生態中的客戶端側能力(零 UI 依賴)。它對應官方「創造模式」Demo #7「會話統計」要解決的一類問題,但落地形態是 host 工具,而不是 Web Client 面板。
數據來自 DSH 寫入的會話日誌,插件只讀本地文件、不聯網、不修改任何會話數據。
和常見用量插件的差別¶
截至 README 中 2026-11-06 的核對,npm 上查到的 5 個同類插件均聲明瞭 dsh.client(Web 面板、按鈕條或側欄等)。Android 引擎自述會裁掉 desktop/web 相關能力,因此在手機上更適合選用像 dsh-usage-android 這種僅註冊 host 工具、capabilities 爲 tools:register 與 fs:read 的插件。
若你在桌面或 Web 端,帶面板的用量插件可能更直觀;在 Android 上,本插件的定位是「能跑起來且信息夠用」的文本報告。
核心功能¶
插件註冊 host 工具 usage_report,可回答例如:
- 指定時間範圍內總共消耗多少 token,輸入、輸出、緩存讀寫各佔多少;
- 哪一天的用量最高,最近 N 天的趨勢(按天 sparkline);
- 哪些會話最費 token(可限制 Top 條數,並帶輪次與調用次數);
- 緩存命中率(cacheRead 相對 total 等);
- 若你自己配置了單價,可顯示成本估算(不內置價格、不充當賬單);
- 可選附帶一行 CPU 核數、load、內存佔用(
includeSystem,默認開啓)。
掃描結果默認帶 30 秒 mtime 緩存;需要時可傳 refresh: true 強制重掃。
數據來源¶
DSH 將會話寫在:
<DSH_HOME>/sessions/<cwd-slug>/<sessionId>/session.v4.jsonl.zstd
每行一個事件。模型調用的用量在 assistant/message 事件的 data.usage 字段,形如:
{ inputTokens, outputTokens, cacheReadTokens, cacheWriteTokens, totalTokens }
插件用 Node.js node:zlib 的 zstdDecompressSync 解壓後逐條累加。
工具參數¶
usage_report 支持:
| 參數 | 說明 |
|---|---|
range |
1d / 7d / 30d / all(默認 7d) |
groupBy |
day(默認)或 session |
top |
Top 會話條數,1–20(默認 5) |
session |
按標題或 ID 關鍵詞過濾單個會話 |
refresh |
跳過緩存強制重掃 |
includeSystem |
是否附 CPU/內存行(默認 true) |
安裝與啓用¶
插件是純 host 側,不需要 Web Client,也不需要額外構建工具。安裝前應自行查看倉庫源碼與 MIT 許可證;插件以當前 DSH 進程權限讀 DSH_HOME 下的會話文件。
方式一:profile patch(本機開發,指向源碼目錄)¶
在 $DSH_HOME/profiles/android/cordis.patch.yml 追加:
- insert:
- id: usage
name: /absolute/path/to/dsh-usage/index.mjs
name 必須是字面絕對路徑。不要寫成 name: !!js "...":!!js 表達式只在 entry 的 config 裏求值,寫在 name 位置會被當成模塊名導入,可能導致引擎無法啓動。
完成後完全退出 App 再打開,重啓引擎。
方式二:從 npm 安裝(便於分享)¶
npm install dsh-usage-android@0.1.0
在 App 的插件管理裏搜索並安裝 dsh-usage-android@0.1.0(README 要求安裝時帶版本號),然後重啓引擎。npm 包當前 package.json 版本爲 0.1.2,若以包管理器實際解析爲準,請以你安裝時選擇的版本與 App 內顯示爲準。
包聲明引擎要求:dsh >= 0.2.0。
典型用法¶
在 DSH 對話中讓智能體調用 usage_report,按需傳入 range、top、session 等參數即可得到文本報告。
README 中還提供了面向開發者的命令行示例(路徑需按本機倉庫位置調整):
node $HOME/work/dsh-usage/dev/cli.mjs 7d
node $HOME/work/dsh-usage/dev/cli.mjs all 論文
第二條示例中的「論文」用於按關鍵詞過濾會話。
適用場景與注意¶
適合在 Android 版 DSH 上需要查看會話 token 用量、趨勢和 Top 會話的開發者或日常用戶;不適合期望在手機裏看到 Web 熱力圖、側欄圖表的場景——本插件只輸出文本報告,不提供 UI 面板。
已知邊界(來自 README):
- 僅支持
session.v4格式日誌;格式變更需同步改插件。 - 會話刪除後,對應歷史統計隨之消失。
- 不內置任何模型單價;成本行完全依賴你自己配置。
- Android 上報告形態爲文本(工具返回值或 CLI),沒有面板。
社區插件目錄見 SkillHub,與 DeepSeek / 幻方無官方從屬關係;倉庫與問題反饋:GitHub — Verchiel666/dsh-usage-android,目錄頁:SkillHub — dsh-usage-android。