前言¶
在 DeepSeek Harness(DSH)裏跑多輪對話、子代理(subagent)時,主機側通常不會直接給出「這一會話花了多少錢」。若你接的是 AiSpot(sapi)一類按分組定價的部署,分組和模型單價還會隨提供商更新,硬編碼價表很快失效。sapi-budget 是社區插件,從兼容的 sapi 部署拉取分組與價目,在界面裏展示會話合計與每輪 assistant 成本,並把子代理子樹一併計入;切換分組時歷史數字會按當前價目即時重算,無需重載或重放會話。
這是什麼¶
sapi-budget(包名 dsh-sapi-budget,GitHub:Lanstzz/sapi-budget)由維護者 Lanstzz 發佈,分類爲模型推理。它解決的是:在 DSH 中把 AiSpot 各分組的模型價格同步到本地緩存,並在對話標題區與會話末尾用瀏覽器側價目計算展示費用;主機不發佈金額,投影只攜帶 token 分桶,由前端對照實時目錄計價。
核心功能¶
會話與子樹合計¶
對話標題區顯示會話總成本,計算方式爲 subtree(s) = own(s) + Σ subtree(children),即當前會話自身加上所有後代 subagent 的開銷。
每輪成本與明細¶
每條 assistant 回合結束處顯示當輪成本。鼠標懸停可查看 breakdown:模型名、各 token 分桶數量與合計。
分組列表與即時重定價¶
分組列表從提供商抓取,不寫死在插件裏;分組增減會隨提供商變化。在對話標題區的下拉里選擇當前分組;歷史會話數字會立即按新分組重算,無需 reload 或 replay。
價目數據來源¶
插件向提供商三個無需認證的公開接口取數:
| 接口 | 用途 |
|---|---|
/api/pricing |
模型列表、ratio 與 tiered_expr 表達式 |
/api/status |
額度單位與匯率 |
/api/user/groups |
分組名與各分組 ratio 乘數 |
分層表達式由 pricing.js 中的手寫 tokenizer 與遞歸下降解析器求值,不使用 eval 或 new Function。
精度與邊界說明¶
- 分層(tiered)模型在 UI 中標註爲「估算」/ estimate。
- subagent 的花費按根會話的模型費率計價(主機側無法跨會話歸因模型),相關行同樣標爲估算。
- 插件安裝前已結束的 subagent 沒有可讀投影,顯示爲 unknown,不會顯示爲
$0.00。
主機側能力¶
index.js 提供定價服務、三個 HTTP 路由、sapiCost 會話投影,以及 sapi_price agent 工具;client.js 負責 Web 端插槽、分組選擇與 tooltip。
安裝與啓用¶
插件以當前 DSH 進程權限運行;安裝前請自行審閱 GitHub 倉庫 源碼與 MIT 許可證。
官方安裝方式:
dsh plugin add github:Lanstzz/sapi-budget
若使用本地檢出目錄:
dsh plugin add /absolute/path/to/sapi-budget
安裝後需重啓應用:bundle 在啓動時加載。
配置(可選)¶
在 profile patch(cordis.patch.yml)中可設置:
- id: sapi-budget
name: 'dsh-sapi-budget'
config:
baseUrl: https://aispot.swj0227.icu # 任意兼容部署
group: '' # '' 表示由提供商選最便宜分組
currency: USD
refreshMinutes: 30
分組通常是在 UI 中選擇並寫入瀏覽器 localStorage(鍵 sapi-budget.group);配置裏的 group 僅作回退。
典型用法¶
- 按上文命令安裝並重啓 DSH。
- 打開對話,在標題區下拉選擇 sapi 分組(或使用默認最便宜分組)。
- 正常多輪對話或觸發 subagent;觀察標題區會話合計與各 assistant 回合末尾的當輪成本。
- 需要覈對單價時,懸停當輪成本查看模型與 token 分桶 breakdown。
- 切換分組後,同一會話內已有輪次的顯示金額應即時更新,無需刷新頁面。
開發自檢(來自 README,供貢獻者參考):
node --check index.js && node --check client.js && node --check pricing.js
node --test test/index.host.test.js
node --test test/client.test.js
node probe-tooltip.mjs
適用場景與注意¶
適合:接 AiSpot(或兼容 baseUrl 的 sapi 部署)、需要在 DSH Web 界面直觀看到會話/輪次/子代理樹成本,並隨分組切換重算曆史的開發者。
注意:
- DSH 生態是「一切皆插件」;社區目錄站點 SkillHub 插件頁 與 DeepSeek / 幻方無官方從屬關係,並非官方應用商店。
- 分層模型與 subagent 費率歸因存在估算與 unknown 邊界,不宜當作賬單級精確結算。
- 價目緩存默認每 30 分鐘刷新(
refreshMinutes),極端情況下與提供商即時價可能有短暫偏差。
結尾¶
sapi-budget 把 sapi 分組價目同步進 DSH,並在對話標題與會話輪次上展示含 subagent 子樹的成本;分組來自提供商、歷史可即時重定價,適合在 Harness 裏做成本可見性而非硬編碼價表。
- 目錄頁:https://www.skillhub.cn/plugins/Lanstzz/sapi-budget
- 源碼與說明:https://github.com/Lanstzz/sapi-budget