dsh-session-tariff:在 DSH 輸入框狀態欄顯示本會話估算花費

前言

用 DSH(DeepSeek Harness) 跑長會話時,旁邊往往已經有輪次、步數、token 吞吐和緩存命中率等統計,但很難直接回答「這一整段對話大概花了多少錢、高峯和空閒各佔多少」。官方 tokenUsage 投影只給全量聚合桶,沒有時間維度,也無法按 provider 分賬。

下面介紹社區插件 dsh-session-tariff(維護者 xuanyuanli,分類爲客戶端):在輸入框狀態欄增加「本會話花費」膠囊,按每條請求所屬 provider 的高峯 / 空閒兩檔價估算金額,點開可看各時段、各模型的 token 桶與分攤金額。價目可在 GUI 裏按 DSH 當前註冊的 provider / 模型編輯,保存後立即生效。

這是什麼

dsh-session-tariff 是給 DSH Web GUI 用的插件:在原有統計控件之後、上下文佔用圓環之前顯示 ⊙ ≈¥x.xx 一類的估算花費膠囊。口徑與會話全量日誌一致(不是當前窗口),與旁邊 token 統計對齊。

內置 DeepSeek 官方(deepseek-account)與 阿里雲百鍊(bailian / bailian-chat)價目表和時段規則;也可用 config.providers 逐 provider 覆蓋,或通過設置頁改價並寫入 profile 的 cordis.patch.yml。金額帶 ≈,表示按 token 與單價推算的估算,不是賬單。

目錄頁:skillhub.cn/plugins/xuanyuanli/dsh-session-tariff
源碼與說明:github.com/xuanyuanli/dsh-session-tariff(MIT,當前 package 版本 1.3.2)。

界面與交互

狀態欄示例(膠囊在 token 統計與上下文圓環之間):

 ⌁ 3 輪 102 步 · 251 tok/s     ⛁ 18.2M tok · 緩存命中 99%     ⊙ ≈¥1.72     ◔ 19%

點擊膠囊會打開明細:按高峯 / 空閒分組,列出請求次數,以及緩存讀取、未緩存輸入、緩存寫入、輸出四個用量桶的 token 數與金額;底部註明本次實際結算的單價與時段規則。會話跨多個 provider 時,明細行會帶 provider 小標籤,底部說明按 provider 分組。

插件跟隨 DSH 主題與語言(中 / 英),支持 Esc 關閉面板、點擊面板外關閉。token 列可用 K / M 縮寫,懸停可看完整千分位數。

核心功能

按 provider 與時段計價

  • 每條 模型調用 計爲一次請求;歸屬時段取 step/start 的發起時刻(UTC+8,中國無夏令時)。
  • provider / 模型 以該次 assistant/message 的 message.source.provider / message.source.model 爲準;同一步驟內 assistant/attempt 的用量會被最終 assistant/message 覆蓋,不重複計;llm/retry-started 後的重試另算一次。
  • 工作日 09:00–12:00、14:00–18:00 爲高峯;其餘含週末與法定節假日爲空閒;調休上班日(workdays)優先於週末與節假日,工作時段內仍可按高峯計。

宿主投影 sessionCost

插件在宿主側註冊會話投影 sessionCost(host.js),摺疊 session/* 事件流得到「provider × 模型 × 時段」賬本;客戶端(client.js)取數、套單價並渲染。該摺疊與官方 tokenUsage 同口徑,兩檔合計應與 tokenUsage 逐項一致(README 稱已驗證)。

GUI 價目編輯

裝好後不必先改 YAML。路徑包括:設置 → 插件 → dsh-session-tariff(或該行「配置」)、以及 設置 → 內置插件 → 會話花費——三處同一份編輯器。行由 DSH 的 listProviders() / listModels() 生成;改單格只覆蓋該格,清空即恢復繼承;保存經 POST /dsh-session-tariff/api/save 校驗後寫盤,無需重啓 DSH(只改客戶端半時刷新頁面即可;改 host.js 或從舊版升級宿主狀態時需重啓)。

安裝與啓用

前置:可用的 DSH(Desktop 或帶 profile 啓動的 dsh),插件按 profile 安裝,對該 profile 下所有會話生效。聲明兼容 @deepseek-ai/dsh ^0.2.1-rc.2,README 寫明實測於 0.2.1-rc.3;0.1.x 的客戶端 slot / 投影 API 與 0.2 不同,未測過。

方式一:npm(發佈後可用)

dsh plugin add dsh-session-tariff

方式二:讓 DSH 助手從源碼安裝(README 推薦、當前可用)

在 DSH 會話中對助手說明(原文示例):

把這個插件裝到當前 profile:https://github.com/xuanyuanli/dsh-session-tariff,克隆到本地後用 plugin_manager install_bundle 安裝那個目錄。

安裝後:客戶端半刷新頁面即可(必要時 Ctrl+Shift+R);宿主半投影在 DSH 進程內註冊,從 1.1.0 升級且宿主狀態形狀變化時需 重啓 DSH 以裝載新模塊。

卸載:助手執行 plugin_manager remove_bundle dsh-session-tariff;npm 安裝則用 dsh plugin remove dsh-session-tariff。

配置要點

除 GUI 外,仍可在 profile 的 Cordis patch 裏寫 YAML。兜底單價(無內置預設且無 config.providers 條目時)默認與 DeepSeek 官方文檔中 deepseek-flash 檔一致(單位:貨幣 / 百萬 tokens),例如:

- insert:
    - id: session-tariff
      name: dsh-session-tariff
      config:
        pricing:
          currency: '¥'
          idle: { cacheHit: 0.02, cacheMiss: 1, cacheWrite: 1, output: 4 }
          peak: { cacheHit: 0.04, cacheMiss: 2, cacheWrite: 2, output: 8 }

config.providers.<provider> 可覆蓋單個 provider 的時段規則與模型行價目;價目不會從 API 實時拉取,官方調價後需自行更新配置或 GUI 中的價目。

適用場景與注意

適合需要在 同一會話日誌 上快速對照 token 統計、並按 高峯 / 空閒 與 多 provider 理解花費結構的 DSH 用戶(例如混用 DeepSeek 官方與百鍊、或切換模型 / 子代理的長跑任務)。

使用時請注意:

  • 顯示爲 估算,四捨五入後分項相加可能與時段合計差 ±0.001。
  • 插件以 當前 DSH 進程權限 運行,安裝前應閱讀源碼與 MIT 許可證,確認符合你的環境策略。
  • SkillHub 插件目錄 是社區站點,與 DeepSeek / 幻方無官方從屬關係;星標等元數據以目錄頁爲準(當前線索爲 0 star)。

結尾

dsh-session-tariff 把「本會話花了多少、高峯空閒各多少、每個 provider / 模型怎麼攤」從 token 聚合裏拆出來,放在輸入框狀態欄一眼可見,並可在設置裏維護價目。需要安裝或改價時,以倉庫 README 爲準:

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

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

小夜