dsh-cost-tracker:爲 DeepSeek Harness 添加可配置的 Token 成本跟蹤

前言

DSH 的理念是「一切皆插件」。在實際使用 DeepSeek Harness 時,一次會話裏的 LLM 調用可能包含 cache-hit input、cache-miss input 和 output;如果還啓用了峯谷價段,成本計算會更復雜。對需要管理 DSH 會話成本的開發者來說,問題不只是「調用了多少次」,而是「每個模型花了多少、哪些調用沒有價格、哪些調用落在峯谷窗口」。

下面介紹 yflmq001/dsh-cost-tracker。它用於給 finalized LLM calls 做 per-model 計價,併發布 per-session 成本讀數。

這是什麼

yflmq001/dsh-cost-tracker 是一個面向 DeepSeek Harness 的 DSH 插件,提供 Token cost tracking with per-model configurable pricing and peak/off-peak rates。

倉庫地址是 https://github.com/yflmq001/dsh-cost-tracker,許可證爲 MIT。

它解決的問題是:按模型價格表對已完成計數的 LLM 調用計價,並把會話級成本暴露給 Web UI 或 /cost 命令;對於沒有配置價格的模型,標記爲 unconfigured,而不是靜默猜測價格。

核心功能

  • 對 finalized LLM calls 計價,使用 assistant/message usage,並按模型配置價格表。
  • 價格字段包括 cache-hit input、cache-miss input、output,以及可選的 peak-window rates。
  • 發佈 per-session cost projection,包含 total、peak、off-peak 和 per-model 值。
  • 支持在 Web UI 中顯示 live session cost readout。
  • 標記落在已配置峯谷窗口內的調用。
  • 將沒有價格條目的模型顯示爲 unconfigured,並使用 placeholder。
  • 緩存寫入按 miss rate 計價。
  • 資料中給出跨會話全局賬單和 /cost 命令,標註爲 available 時可用。

安裝與啓用

資料給出的安裝命令如下:

dsh plugin --profile web add github:yflmq001/dsh-cost-tracker

這裏的示例使用了 --profile web。資料沒有明確該安裝方式是否適用於所有 DSH profile,因此應按實際 profile 名稱覈對。

安裝前建議先檢查倉庫源碼和許可證。該插件以當前 dsh 進程權限運行;插件代碼一旦進入 profile,就可能影響該 profile 的成本計算和會話展示行爲。

典型用法

從空價格表開始

安裝後,價格配置從空表開始:

models: {}

然後爲實際可觸達的模型手動填寫價格。資料明確:價格單位是 currency units per million tokens;非 DeepSeek 模型需要手動配置,沒有自動價格查詢。

配置 deepseek-v4-flash

資料給出的配置字段包括 inputMiss、inputHit、output,以及可選的 peak 配置。峯谷配置包含 hours、enabled、inputMiss、inputHit 和 output。

下面是一個字段結構示例;<手動填寫> 是佔位符,本文不給出未經確認的價格數字。

- id: cost-tracker
  config:
    models:
      deepseek-v4-flash:
        inputMiss: <手動填寫>
        inputHit: <手動填寫>
        output: <手動填寫>
        peak:
          hours: <手動填寫>
          enabled: true
          inputMiss: <手動填寫>
          inputHit: <手動填寫>
          output: <手動填寫>

配置其他模型

資料給出的其他模型示例是 gpt-4o:

- id: cost-tracker
  config:
    models:
      gpt-4o:
        inputMiss: <手動填寫>
        output: <手動填寫>

用 profile 的 cordis.patch.yml 覆蓋默認值

如果要在 profile 層覆蓋默認配置,在 profile 的 cordis.patch.yml 中添加 cost-tracker row。覆蓋時必須用 id 定位行,而不是 name:

- id: cost-tracker
  config:
    models:
      deepseek-v4-flash:
        inputMiss: <手動填寫>
        output: <手動填寫>

資料明確:以 name 作爲鍵的覆蓋行會被靜默丟棄,價格會保持爲 models: {}。

存儲與賬單

  • 資料指出,跨會話全局賬單和 /cost 命令在 available 時可用。
  • 沒有 storage backend 的 profile 只在內存中保留賬單。
  • per-session 成本是 projection,用於會話內的成本讀數。

適用場景與注意

適合:

  • 需要在 DSH Web UI 中看到會話級成本讀數的使用者。
  • 需要區分 total、peak、off-peak、per-model 成本的使用者。
  • 需要明確標記 unconfigured models 的團隊。
  • 需要手動配置非 DeepSeek 模型價格的 DSH 用戶。

注意:

  • 當前爲 developer preview。
  • 當 adapter reports no accounting 時,assistant/message.usage 可能缺失。
  • session format 沒有 compatibility promise。
  • 價格必須手動填寫,單位是 currency units per million tokens。
  • 覆蓋行必須使用 id: cost-tracker,不要用 name。
  • 插件以當前 dsh 進程權限運行,安裝前檢查源碼與許可證。
  • DSH 插件生態強調「一切皆插件」;社區目錄是獨立站點,與 DeepSeek / 幻方無官方從屬關係,本文不將其表述爲官方應用商店。

結尾

yflmq001/dsh-cost-tracker 的價值在於把 DSH 會話裏的 Token 成本拆成可配置的模型級價格、峯谷價段和未配置模型標記,避免未知模型被靜默計價。

GitHub 倉庫:https://github.com/yflmq001/dsh-cost-tracker

目錄頁 URL 未在已覈實資料中提供。

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

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

小夜