dsh-cost-balance-chip:在輸入框旁顯示本次會話預估費用與賬戶餘額

前言

在 DeepSeek Harness(DSH)里長時間跑 Session 時,token 會不斷累積,但 Web 客戶端默認不會在輸入區直接給出「這一通對話大概花了多少錢、錢包還剩多少」。要對照賬單,往往得切到平臺側或自己記數。社區插件 dsh-cost-balance-chip(倉庫 jieyueriluo/DSH_balance-chip)把當前 Session 的預估花費和賬戶可用餘額做成輸入框右側的一小塊 chip,點開後還能看到按 token 桶拆分的明細。下面介紹它的定位、能力與安裝方式。

這是什麼

dsh-cost-balance-chip 是面向 DSH Web 客戶端的社區插件(非 DeepSeek 官方包),維護者爲 jieyueriluo,在 SkillHub 目錄中歸類爲客戶端插件。npm 包名與安裝名均爲 dsh-cost-balance-chip(版本 1.0.0,許可證 MIT)。

它在對話卡片輸入區右側控件簇(掛載點 conversation.input.right)裏、模型選擇器之前插入兩行緊湊信息:本次(當前 Session 預估花費)與餘額(充值錢包 + 贈送錢包的可用總額)。花費爲客戶端估算,平臺賬單仍以官方爲準。

核心功能

輸入框旁的 chip

界面示意(來自 README):

┌─────────────────────────────┐
│ ● 本次   ¥15.93            │
│   餘額   ¥13.35            │
└─────────────────────────────┘
  • 本次:基於持久化 Session 日誌上的 tokenUsage 投影,以及當前所選模型的參考單價,估算本 Session 費用。
  • 餘額:通過 DSH 自帶的 remote.account 代理讀取,不經過插件自行上傳憑證。掛載時刷新,之後每 30 秒、頁面重新可見時、以及每次用量結算後 shortly 再刷。
  • Session 運行中時,行首圓點會脈衝動畫;文案與主題跟隨 DSH 的 zh / en 與明暗主題。

點擊後的明細麪板

點擊 chip 可展開面板,內容包括:

  • 當前模型與 cache 命中率;
  • input、output、cache-read、cache-write 四類 token 數量;
  • 各桶對應的費用貢獻;
  • 充值與贈送錢包、上次刷新時間,以及手動刷新。

若餘額讀失敗,chip 上顯示 — 而非僞造爲 0;面板說明原因並提供重試。

費用如何估算

客戶端沒有獨立計費 API,單價在 client.js 中以「每百萬 token、人民幣」爲參考默認值,例如:

const DEFAULT_PRICING = { input: 2, cacheRead: 0.2, cacheWrite: 2, output: 3 }
const MODEL_PRICING = {
  'deepseek-flash': DEFAULT_PRICING,
  'deepseek-v4-pro': { input: 4, cacheRead: 0.4, cacheWrite: 4, output: 12 },
}

面板會展示當前生效的費率。若賬號實際價目不同,需改 client.js 後重載頁面。

已知限制:同一 Session 內若切換模型,目前會把該 Session 全部 token 按最後一次所選模型計價;若要按請求分段,需要讀完整 Session 日誌並按請求頭切分,插件尚未實現。

實現要點(便於排查)

  • 花費:@deepseek-ai/dsh-token-meter 的 useProjection('tokenUsage')。
  • 模型:useProjection('modelSelection')(next.model,回退 lastUsed.model)。
  • 餘額:ctx.remote.account.getBalance(clientMetadata),插件顯式注入 remote.account 命名空間。
  • Host 側:index.js 導出空的 apply(),無需 Host 半端邏輯。

安裝與啓用

DSH 引擎要求 >=0.2.1-rc.3(見 package.json 的 engines.dsh)。僅 Web Client,不註冊面向模型的 tools 或 prompts。

在任意 profile 下從 npm 安裝:

dsh plugin --profile <profile> add dsh-cost-balance-chip

若使用本地檢出目錄,將 <absolute-path-to-this-directory> 換爲倉庫絕對路徑:

dsh plugin --profile <profile> add <absolute-path-to-this-directory>

安裝後 bundle patch 會插入 cost-balance-chip 行。重啓 DSH,或等待 profile 的 HMR 重載 Web 頁面後再看輸入框右側。

典型用法

  1. 安裝並重載 Web 客戶端後,打開任意對話,在輸入框右側模型選擇器左側應出現 chip。
  2. 進行多輪對話或長 Session,觀察 本次 隨 token 投影更新;運行中注意行首脈衝點。
  3. 點擊 chip,覈對四類 token、各桶費用與面板中的單價是否與你的賬號一致;不一致則按 README 修改 client.js 中的 MODEL_PRICING。
  4. 需要即時餘額時,在面板中使用手動刷新;餘額異常時查看面板中的失敗原因並重試。

無需額外配置文件;行爲由 DSH 會話投影與 account Remote 驅動。

適用場景與注意

適合:日常在 DSH Web 裏調試 Agent、長 Session 或頻繁換模型時,希望在 composer 內快速感知「這一通大概多少錢、錢包夠不夠」,並偶爾下鑽到 token 桶明細的開發者。

注意:

  • 插件以當前 DSH 進程與 profile 的權限運行;安裝前建議閱讀 GitHub 源碼 與 MIT 許可證,確認 remote.account 與 client 注入符合你的安全預期。
  • 社區目錄 SkillHub 條目 與 GitHub 倉庫由社區維護,與 DeepSeek / 幻方無官方從屬關係;DSH 生態本身是「一切皆插件」,本插件是其中一例。
  • 預估費用不等於發票;切換模型時的計價侷限見上文。

結尾

dsh-cost-balance-chip 把 Session 級 token 投影和賬戶餘額收進輸入框旁的兩行 chip,並附帶可點擊的拆分面板,適合需要「邊聊邊看錢」的 DSH Web 用戶。目錄與源碼:

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

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

小夜