DeepSeek Harness 插件:dsh-session-cost

DeepSeek Harness(DSH)採用插件化架構。在開發或調試智能體時,開發者往往難以直觀掌握單次對話或長會話的實際成本。dsh-session-cost 插件旨在解決這一問題,通過實時計算並展示當前會話的已花費金額,幫助開發者更好地控制成本。

這是一個由 dog-lin 維護的 Web 客戶端插件,主要功能是實時顯示當前會話已花費金額,支持自動同步官方價格並按會話統計。

核心功能

該插件提供以下核心能力:

  • 實時顯示:在輸入框下方的狀態條區域實時渲染當前會話的累計費用。
  • 自動同步:自動從 DeepSeek 官網抓取最新價格表,支持峯谷定價配置。
  • 本地覆蓋與凍結:支持通過本地配置覆蓋自動獲取的價格,或通過 pin: true 凍結價格。
  • 來源透明:顯示價格來源(官方自動、官方失敗降級、本地配置)與更新時間。
  • 按模型路由計算:根據模型路由(Model Router)計算每一步調用的費用。

安裝與啓用

使用以下命令從 GitHub 安裝插件:

dsh plugin --profile web add git+https://github.com/dog-lin/dsh-session-cost.git

安裝完成後,刷新瀏覽器頁面(F5)。dsh plugin add 會將插件寫入 profile 的 dsh.profile.bundles,插件自帶的 cordis.patch.yml(bundle 層)會在啓動時自動註冊。

注意:宿主代碼變更(如本插件功能升級)需要重啓一次 dsh web,因爲宿主模塊走 Node 模塊緩存。

配置與熱加載

插件配置位於 $DSH_HOME/profiles/web/cordis.patch.yml。配置項包括:

  • currency:顯示與計價貨幣(ISO 4217)。
  • autoUpdate:是否自動同步官網價格(默認 true)。
  • updateIntervalHours:抓取間隔(默認 24)。
  • pricing:按模型 ID 計價。官網抓取到新價後會更新此處,加 pin: true 則永不改動。
  • fallback:未在 pricing 中的模型計價規則(默認全 0,即未計價)。

若需修改配置但不想重啓,可使用 Profile 補丁熱加載,通過 id: session-cost 覆蓋整行配置:

# $DSH_HOME/profiles/web/cordis.patch.yml
- id: session-cost
  name: 'dsh-session-cost'
  config:
    currency: CNY
    autoUpdate: true
    updateIntervalHours: 24
    pricing:
      deepseek-v4-flash: { input: 1, output: 2, cacheRead: 0.02, cacheWrite: 0 }
      deepseek-v4-pro:   { input: 3, output: 6, cacheRead: 0.025, cacheWrite: 0 }
    fallback: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 }

注意:熱加載時 config 是整體替換,需寫全。若在 profile 層重複 insert 同一行,會導致啓動報錯 duplicate loader entry id: session-cost。

價格同步機制

插件通過三層機制確保價格正確:

  1. 官網價格自動同步:啓動時及每 updateIntervalHours(默認 24h)抓取 DeepSeek 官方價格頁。解析器會自動識別價格表中的所有模型。模型無關地發現新模型(如未來 v5),只要官網列出即自動取價。價格變動按生效時間追加到時間軸,歷史請求按其自身時間戳取價。抓取失敗時沿用上次價格並提示。
  2. 本地配置覆蓋 / 凍結:pricing 中的條目是種子,會被官網更新。設置 pin: true 可完全由用戶掌控。fallback 用於未收錄模型的兜底。
  3. 來源可見:投影值攜帶 pricingSource、pricingUpdatedAt 和 pricingWarn,客戶端懸浮提示可查看。

價格歷史持久化在 $DSH_HOME/storages/dsh-session-cost-pricing.json,重啓不丟失。

峯谷定價

DeepSeek 自 2026-08-17 起(北京時間)實行峯谷定價。插件支持兩種配置方式:

方式一:peak / offPeak 對象

pricing:
  deepseek-v4-flash:
    peak:    { input: 3.0, output: 9.0,  cacheRead: 0.10 }
    offPeak: { input: 1.5, output: 4.5,  cacheRead: 0.05 }

方式二:schedule 時間軸

pricing:
  deepseek-v4-flash:
    schedule:
      - from: 0
        input: 1
        output: 2
        cacheRead: 0.02
      - from: 2026-08-17T00:00:00+08:00
        peak:    { input: 3.0, output: 9.0,  cacheRead: 0.10 }
        offPeak: { input: 1.5, output: 4.5,  cacheRead: 0.05 }

默認高峯時段爲北京時間 09:00–12:00 和 14:00–18:00。

投影值與已知限制

sessionCost 投影值包含 totalCost、requests、unpricedRequests、inputTokens 等字段,以及價格來源信息。

已知限制如下:

  • 會話範圍:費用僅統計當前會話,子代理(subagent)的模型調用不計入父會話。
  • 推理 Token:推理 token 屬於輸出桶的子集,按輸出價計費,不額外加價。
  • 新模型識別:新模型需等待下一次抓取(默認 24h)才能識別。在此之前,請求計入 unpricedRequests 並標註未計價。
  • 抓取失敗:若官網改版導致連續抓取失敗,插件會沿用上次價格並提示,不會靜默給出錯誤數據。

總結

dsh-session-cost 提供了從日誌重放、價格同步到本地配置覆蓋的完整成本追蹤方案。對於需要精細化控制 DeepSeek 調用成本的 DSH 用戶,這是一個實用的工具。

  • 插件目錄:https://www.skillhub.cn/plugins/dog-lin/dsh-session-cost
  • GitHub 倉庫:https://github.com/dog-lin/dsh-session-cost
羽毛球分组比赛记分
小程序二维码

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

小夜