dsh-turn-price:在 DSH Web 界面顯示每輪對話的 CNY 花費

前言

用 DeepSeek Harness(dsh)跑長會話時,token 用量往往分散在多步事件裏,平臺賬單又是事後對賬。若想在本地界面裏直接看到「這一輪大概花了多少錢」,並能在改價後讓歷史回合一起重算,就需要客戶端側把會話日誌裏的 usage 與本地價格表結合起來。dsh-turn-price 是社區維護者 littlefish04 發佈的 dsh 客戶端插件,在每個已完成回合下方單獨一行展示該輪估算金額(默認以人民幣符號展示),點擊可展開明細。

這是什麼

dsh-turn-price 是標準的 dsh 組合包(dsh.bundle.patch + dsh.client),面向 dsh Web 界面。它在每個已完成回合的操作行上方增加一行花費信息,不佔用 hover 纔出現的操作行。金額按當前價格表實時計算:token 用量取自 dsh 會話日誌裏每個步驟的 usage,插件不做字符數估算;事後修改價格表後,所有歷史回合的金額會立刻按新價重算。

界面上的金額是預估,不是賬單:等於 provider 上報的 token 數乘以本地價格表單價,實際結算以平臺爲準。

  • 維護者:littlefish04
  • 分類:客戶端(Web)
  • 許可證:MIT
  • 兼容 dsh:>=0.2.0-rc.1 <0.3.0
  • npm 當前推薦版本:0.2.3

核心功能

回合下方的花費行與明細

已完成回合下方顯示「本輪花費」、金額(如 ¥0.0874)、可選規則徽標(如「限時優惠」或「高峯×2」)以及展開箭頭。點擊金額可展開「本輪花費明細」,通常包括:

  • 模型(provider / model);若一輪內換過模型,會註明按路由表中最後一個計價
  • 計費時刻(按設置中的時區偏移,默認 UTC+8)
  • token 來源說明(宿主摺疊的會話事件或頁內回退數據)
  • 生效價格與單價口徑(默認每 1,000,000 tokens)
  • 類別 / tokens / 單價 / 金額 明細表及合計

價格表與計價規則

在 設置 → 每輪花費 中按模型維護價格表。四個計費類別爲:未緩存輸入、緩存命中、緩存寫入、輸出。生效單價按回合結束時間判定,優先級爲:

  1. 限時特價(promos):絕對時間區間,區間內自成一套價格,不疊加峯谷係數
  2. 峯谷規則(rules):一週內循環時段,價格乘以係數,支持跨零點
  3. 基礎價:未命中上述規則時使用

同類規則多條命中時,列表靠後的優先。插件對 DeepSeek 官方峯谷口徑提供了推薦填法(基礎價取空閒時段價,峯谷規則 ×2 覆蓋工作日高峯時段),並預填部分模型,設置頁提供「恢復 DeepSeek 官方價」按鈕。

token 用量來源

插件按每個步驟的 usage 容錯求和,而不是僅依賴 dsh 內置的嚴格摺疊(缺少 totalTokens 或完整 cache 字段時,嚴格摺疊可能整輪不顯示)。缺字段記 0,缺 usage 的步驟跳過,重試步驟按規則累加;整輪沒有任何樣本則不顯示金額(而非顯示 ¥0.0000)。宿主不可用時,瀏覽器側可回退到頁面上每步的 assistant-step.usage 做同樣容錯求和。

0.2.x 擴展能力

README 標明 0.2.3 爲推薦完整功能版本,除每輪花費與價格表外,還包括餘額、今日/本月/會話彙總、消費日曆、手工記賬、日賬導出等(設置頁內 模型價格 → 賬戶與餘額 → 消費記錄 → 顯示項 四張卡片)。0.1.1 僅保留早期「每輪花費 + 價格表」能力;不要安裝 0.1.0,會導致 dsh 無法啓動。

存儲與隱私

價格表保存在插件 Cordis Config 中,落盤路徑形如:

<DSH_HOME>/profiles/<profile>/cordis.patch.yml     # 條目 id: turn-cost

每輪金額所需的 token 與單價計算均在本地完成;宿主半體讀取當前會話事件流,不掃描其它會話正文,不讀取 API Key,不向第三方發送用量數據。

安裝與啓用

本插件三種地址形式等價,安裝時需指定 profile(桌面版常用 desktop,dsh web 常用 web)。

地址形式 命令
npm 包名 dsh plugin --profile <profile> add dsh-turn-price
Git 倉庫 dsh plugin --profile <profile> add github:littlefish04/dsh-turn-price
本地目錄 / tarball dsh plugin --profile <profile> add <絕對路徑>

也可在應用側邊欄 插件 頁通過「添加插件」填入上述任一地址。

建議釘死版本,避免鏡像同步延遲裝到舊版:

dsh plugin --profile desktop add dsh-turn-price@0.2.3

覈對 npm 官方源最新版:

npm view dsh-turn-price version --registry https://registry.npmjs.org

裝好後需重啓該 profile 才生效(桌面應用完全退出後重開,或重啓 dsh web)。升級需先卸再裝(dsh 目前不支持插件自動更新;價格表在同一 profile 配置空間,卸載重裝不會丟失):

dsh plugin --profile desktop remove dsh-turn-price
dsh plugin --profile desktop add dsh-turn-price@0.2.3

卸載:

dsh plugin --profile <profile> remove dsh-turn-price

典型用法

  1. 按上文命令安裝 dsh-turn-price@0.2.3 並重啓 profile。
  2. 打開 設置 → 每輪花費,爲常用模型配置基礎單價;若對接 DeepSeek 官方峯谷,可按 README 建議填基礎價與兩條工作日高峯 ×2 規則,或使用「恢復 DeepSeek 官方價」。
  3. 回到會話界面,在已完成回合下方查看花費行;需要覈對時點擊金額查看 token 分類明細與命中規則。
  4. 若官方調價或你方合同價變化,在設置頁改價並保存,歷史回合金額會立即按新表重算。

常用顯示相關默認值包括:顯示每輪花費與彙總行(開)、貨幣符號 ¥、明細小數位 4、彙總行小數位 2、時區偏移 +8、每多少 tokens 1000000、未配置模型默認「不顯示金額」。

適用場景與注意

適合誰: 在 dsh Web 里長期調試智能體、需要按回合對照 token 結構與本地單價、或需要峯谷/限時規則做估算的開發者。

兼容性邊界:

  • 需要 Node >=20 與 dsh >=0.2.0-rc.1 <0.3.0;不兼容時安裝器可能拒絕,可按文檔使用 dsh plugin allow-version 放行精確版本。
  • 多模型同一回合無法按模型拆分用量,按路由表中最後一個不同路由計價。
  • 跨時段回合按回合結束時間定價。
  • 關閉內置「性能用量」緊湊模式不影響本插件金額顯示。

安裝前: 插件在 dsh 進程權限下運行,安裝前應自行查看倉庫源碼與 MIT 許可證,確認符合你的環境與合規要求。社區插件目錄爲獨立站點,與 DeepSeek / 幻方無官方從屬關係。

鏈接

  • SkillHub 目錄頁:https://www.skillhub.cn/plugins/littlefish04/dsh-turn-price
  • GitHub 倉庫:https://github.com/littlefish04/dsh-turn-price
  • npm 包:dsh-turn-price

經過上面的步驟,你可以在 dsh 會話裏把「每輪用了多少 token、按什麼規則算成多少錢」放在同一視線內,改價也能回溯歷史回合,便於本地控費與調試對照。

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

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

小夜