dsh-session-usage-meter:在側邊欄會話懸浮卡片裏看 Token 與預估成本

前言

在 DeepSeek Harness(DSH)裏開多個會話時,模型調用會逐條產生 usage,但界面側欄通常只顯示會話標題,很難快速判斷「這一條會話累計花了多少 Token、大致多少錢」。若要到後端或賬單裏對照,又和當前正在懸停的那條會話對不上號。

下面介紹維護者 limingwei-88 的客戶端插件 dsh-session-usage-meter(npm 包名同插件名,當前版本 0.1.0,MIT 許可證):在側邊欄會話行的懸浮卡片裏彙總該會話的累計 Token,並按可配置價格表給出人民幣估算,數據只讀當前會話已落盤事件,不額外發請求。

這是什麼

dsh-session-usage-meter 是 DSH 的 Web 客戶端插件,分類爲客戶端。Host 端(index.js)僅用於讓 bundle 可被解析,不註冊資源;實際 UI 在 client.js 中通過 ctx.slots.inject('sidebar.session.row.hover', ...) 注入區塊。

它解決的是「按會話一眼看清用量與粗略成本」的問題,和在整個應用裏做全局計費儀表盤不同:數字只在鼠標懸停該會話行時出現,且明確標註爲估算而非賬單。

核心功能

  1. 按會話彙總 usage
    對當前會話每個 assistant/message 事件上的 usage 求和,包含輸入、輸出、緩存命中(cacheRead)、緩存寫入(cacheWrite)。

  2. 懸浮卡片展示
    一行摘要形如:12.4k Tokens · 估算 ¥0.0081;繼續懸停可見分項明細。

  3. 內置價格表與本地覆蓋
    默認價格在 client.js 的 DEFAULT_PRICES 中,按模型名匹配;匹配不到則用 default。可在瀏覽器 localStorage 寫入 dsh-session-usage-meter.prices 覆蓋,無需改代碼或重新構建。

  4. 界面與主題
    跟隨 DSH 主題,不單獨引入配色;中英文文案隨界面語言切換。

  5. 數據邊界
    數據全部來自該會話自身的事件窗口,不把用量寫回會話,也不發起額外 HTTP 請求。

安裝與啓用

安裝前請自行查看 GitHub 倉庫 源碼與 MIT 許可證;插件隨當前 dsh 進程與 Web 前端運行,權限與所用 profile 一致。

README 給出的安裝方式如下(--profile web 爲默認 Web profile;若本機用 Desktop 等其它 profile,請換成實際啓動名,否則會裝到別的 profile 裏當前界面看不到):

# 從 npm 安裝(發佈後)
dsh plugin --profile web add dsh-session-usage-meter

# 從 GitHub 安裝
dsh plugin --profile web add github:limingwei-88/dsh-session-usage-meter

# 從本地目錄安裝(開發調試)
dsh plugin --profile web add "C:\\path\\to\\dsh-session-usage-meter"

安裝後重啓 dsh 並刷新頁面。dsh plugin ... add 只是把包加入 profile 依賴;bundle 掛載還需 dsh.bundle.patch 被 profile 選中。本包自帶 cordis.patch.yml,在支持 dsh.bundle 的 DSH 版本上會自動登記。

運行環境要求(來自 package.json):Node >= 20。

典型用法

日常查看

  1. 完成安裝並重啓、刷新後,在側邊欄將鼠標移到目標會話行上。
  2. 在會話行懸浮卡片中查看累計 Token 與「估算 ¥…」;需要明細時保持懸停即可。

覆蓋默認價格(人民幣 / 每百萬 Token)

默認字段含義與默認值:

字段 含義 默認值
input 輸入(緩存未命中) 2
cacheRead 緩存命中 0.2
cacheWrite 緩存寫入 2
output 輸出 3

在瀏覽器控制台執行後刷新頁面:

localStorage.setItem(
  'dsh-session-usage-meter.prices',
  JSON.stringify({ default: { input: 2, cacheRead: 0.2, cacheWrite: 2, output: 3 } })
)

可按模型名在 JSON 中增加與 DEFAULT_PRICES 相同的鍵,實現按模型區分單價;自定義 provider 下模型名對不上表項時會落到 default。

金額僅爲估算:不含套餐折扣、階梯計價、緩存策略差異,也不包含未被 usage 覆蓋的消耗。

適用場景與注意

適合誰

  • 在 DSH Web 側欄頻繁切換會話、希望懸停即可對比各會話 Token 與粗略成本的開發者或智能體調試者。
  • 需要本地自定義單價、又不想動插件源碼重新打包的場景。

已知限制(來自 README)

  • 只統計帶 usage 的 assistant/message;早期歷史或中斷的調用可能沒有 usage。
  • 懸浮卡片僅在懸停該會話行時掛載,沒有常駐數字。
  • 價格按模型名精確匹配;陌生模型名走 default。

DSH 生態理念是「一切皆插件」;SkillHub 目錄頁 爲社區站點,與 DeepSeek / 幻方無官方從屬關係。

結尾

dsh-session-usage-meter 把單會話 Token 彙總與人民幣粗算放進側欄會話行懸浮卡片,只讀本地會話事件、可 localStorage 調價,適合邊跑 Harness 邊對照用量。安裝與價格細節以倉庫 README 爲準。

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

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

小夜