dsh-account-balance:把 DeepSeek 賬戶餘額和模型花費顯示在 composer 下方

前言

在 DeepSeek Harness 裏跑久了,常見的問題是不知道自己這個賬號還剩多少錢、最近幾次會話到底花在哪個模型上。賬單要麼去 Platform 使用頁面逐條翻,要麼乾脆不看。dsh-account-balance 把這個信息搬到輸入框旁邊:登錄賬號的餘額懸停可見明細,點開則是按今日、近 7 天、近 30 天分模型的花費估算。

它由 octisfall 維護,MIT 許可,面向 DeepSeek Harness 0.2.x 客戶端,插件本體是一個純 npm 包(dsh-account-balance@0.1.1),沒有構建步驟。

一、定位與維護者

一句話:在 composer dock 上加一個只讀小部件,顯示當前 DeepSeek 賬戶餘額,以及本地會話按模型折算的花費。

值不值得用,取決於你的使用方式。如果只是偶爾問幾個問題、賬單在臺式機上看,原生 Platform 頁面足夠。如果你長期在終端裏的 DSH 上作業,會話開得多、模型切換頻繁,不想每次切出去看賬,這個部件省的是來回切換的成本。

社區目錄頁顯示星標爲 0,屬於早期階段的插件,README 寫得相當完整,但落地前仍建議自己跑一遍。

二、核心功能

下面介紹的能力均來自插件 README。

餘額

  • 顯示登錄 DeepSeek 賬戶的餘額,在掛載、窗口重新獲得焦點以及每兩分鐘各刷新一次。
  • 懸停顯示充值金額與贈送額度的拆分。
  • 登錄狀態異常、錢包讀取失敗或使用情況路由不可用時,顯示 Balance — 並給出原因,而不是靜默空白。

按模型花費

點擊小部件彈出面板,顯示今日、近 7 天、近 30 天的分模型花費,並有一個按鈕打開 Platform 使用頁面。面板裏的合計是總賬的核對入口。

數據來源

餘額走 Harness 已有的 account Remote 命名空間(getBalance),使用情況鏈接通過 getState 獲取;分模型花費來自插件自己註冊的本地路由。Client 展示的所有內容都經 Harness 本身,沒有獨立服務,也不輪詢 Platform。

文案走 Client 的 locale 服務(中英),顏色走 --dsw-alias-* 主題 token,所以部件跟隨應用主題和語言。

三、安裝與啓用

官方提供兩種安裝方式。圖形界面走 Settings → Plugins → Add;命令行走 plugin 子命令,該命令在 profile 目錄內轉發到 pnpm:

dsh plugin --profile <profile> add github:octisfall/dsh-account-balance

<profile> 換成實際使用的 profile 名。包聲明瞭 Cordis bundle patch 和 web Client 入口,所以會出現在該 profile 的插件列表裏,並在頁面加載後開始渲染。

安裝前先確認 prices.json 裏的費率是否需要更新。包內預置的是 DeepSeek API 對 deepseek-flash 和 deepseek-v4-pro 公佈的價目,單位是每百萬 token 的美元價。直接改這個文件即可生效,下次讀面板時自動拾取新的費率,無需改代碼。

四、內部結構

插件分 Host 和 Client 兩部分,這是 DSH bundle 的常規拆法。

半邊 文件 作用
Host index.js 註冊只讀路由 GET /plugin/account-balance/usage。把本地近期會話日誌經過 ctx.sessionQuery 摺疊,把每條 assistant/message 歸到當時生效的模型,按該步計價,結果緩存 60 秒。
Client client.js 註冊 conversation.composer.dock 條目,通過 account 命名空間的 getBalance 讀餘額,面板打開時拉取上面的 Host 路由。

想驗證 Host 部分是否正常,不必開 UI,直接 curl:

curl http://127.0.0.1:<port>/plugin/account-balance/usage

<port> 是當前 DSH 進程監聽的端口。

五、那個金額到底是什麼

這一點值得單獨說,因爲它決定了這個部件能用來做什麼。

會話日誌存的是 token 計數,不是發票。面板裏的金額是估算:本地會話的 token 計數乘以 prices.json 裏的費率。具體規則:

  • 峯谷判斷按每步的事件時間走:週一至週五 UTC 01:00–04:00、06:00–10:00 兩個窗口按峯值計價,其餘按半價。中國公衆假期不跟蹤,假期裏的工作日按普通工作日計價。
  • 緩存讀、緩存寫、新輸入分別計數,各自按對應費率計費;緩存寫按緩存未命中價計。
  • 遇到未知模型時只顯示 token 數,金額列顯示 —,該週期合計不做定價,而不是按某種默認價悄悄少算。

權威數據始終在面板鏈接的 Platform 使用頁面。這個部件用來在會話之間做量級判斷(“最近三天是不是主要燒在 v4-pro 上”)是夠的,拿來做精確對賬不夠。

六、隱私與運行邊界

  • 路由只讀本機已有的會話日誌裏的 token 計數,不上傳任何東西。
  • 路由跑在本地 Harness HTTP server 上,和其它插件路由一樣位於 /api bridge 之外,因此不帶瀏覽器會話認證。務必讓 server 綁定 loopback,這也是 DSH 默認配置。它只暴露聚合後的 token 數和金額,不含提示詞、消息、文件路徑或憑據。
  • 插件從不讀取或保存賬戶 token,餘額來自 Harness 已持有的賬戶命名空間。

這裏需要明確的是:插件運行在當前 DSH 進程的權限下,能讀到本機 session log。安裝前應檢查源碼與許可證。

七、兼容性

插件聲稱在 DeepSeek Harness 0.2.1-rc.5 上構建並通過驗證。它依賴 conversation.composer.dock、account Remote 命名空間、sessionQuery 和 webServer 這幾個接口。一旦 Harness 版本重命名或移除其中任何一個,這裏就需要同步修改。當前 badge 標 dsh-0.2.x。

八、適合誰

適合在 DSH 客戶端里長時間作業、希望在輸入框旁隨時看到餘額和分模型花費的人,以及想確認峯谷計費對賬單影響有多大的人。

不太適合需要精確對賬的場景,也不適合在非 loopback 暴露的 DSH 上使用。

結尾

這個插件的價值在於把一個本來要切到瀏覽器才能看的數字,放進了工作流視線裏,代價是金額只是基於本地日誌的估算。早期階段、依賴面集中在 DSH 內部接口,改動隨 Harness 版本走。

安裝之前建議通讀一遍 index.js、client.js 和 prices.json。目錄頁在 https://www.skillhub.cn/plugins/octisfall/dsh-account-balance ,源碼在 https://github.com/octisfall/dsh-account-balance (MIT 許可)。

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

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

小夜