前言¶
在 DeepSeek Harness(DSH)裏走 OpenCode Go 時,官方 /inference/go/v1/usage 只給一組四捨五入的 rolling / weekly / monthly 百分比,且不區分模型;實際套餐卻是按模型分別計額度。多賬戶輪換又往往交給另一個插件維護狀態文件。若要在設置裏一眼看到「每個模型本月還剩多少、本週燒了多少」,並在同一頁管理賬戶池,就需要把會話日誌、官方額度快照和賬戶路由讀在一起展示。下面介紹社區插件 2869949486/dsh-opencode-usage(npm 包名 dsh-opencode-usage-settings,當前版本 1.4.1)的做法。
這是什麼¶
維護者 GitHub 用戶 2869949486,分類爲客戶端,同時在 Host 側暴露 JSON 接口。一句話定位:在 DSH 設置裏提供「OpenCode 賬戶與用量」頁面,按模型統計 OpenCode Go 套餐用量與剩餘額度,並逐個賬戶展示官方額度;賬戶池數據只讀 dsh-opencode-quota-router 的狀態文件,管理操作走該路由插件的 HTTP 接口。
插件簡介(目錄頁):DSH plugin: per-model OpenCode Go usage and remaining allowance in a Settings page。完整能力以 GitHub README 爲準。
核心功能¶
設置頁(客戶端)¶
頁面掛在 DSH 設置 → OpenCode 賬戶與用量(settings.section 槽位),依賴 @deepseek-ai/dsh-client-ui-settings 注入,Web 端 immediately: true 加載。
- 每 60 秒自動刷新;右上角有「立即刷新」。
- 模型相關表格以「本月剩餘 / 本月用量 / 本週用量」爲列頭;表格支持按住左右拖動。
- 頁面上還有「此刻用哪個更划算」類卡片:按每 100 萬輸出 tokens 折算金額,匯率默認
cnyPerUsd爲 7.1(可在cordis.patch.yml修改)。
數據接口(Host)¶
設置頁數據源:
GET /opencode-usage.json
需要先用官方接口拉一次額度快照時:
GET /opencode-usage.json?refresh=1
價格與峯谷相關信息:
GET /opencode-usage.prices.json
(價格 JSON 在 README 中與 peak.chinaHolidays、下游賬本對齊有關;具體字段以倉庫爲準。)
數據接口只監聽迴環地址;插件路由本身不做鑑權,部署時需注意本機訪問邊界。
多賬戶與賬戶管理¶
賬戶池由 dsh-opencode-quota-router 擁有,狀態文件路徑爲 $DSH_HOME/opencode-quota-router.json。本插件只讀該文件獲取賬戶列表;增刪改、探測、排序等管理通過 GET|POST /opencode-quota-router.json(quota-router 插件提供)完成。因此在同一設置頁既能看額度,也能管賬戶。
頁面上主要包括:
- 頂部狀態條:
正常/全量回退及原因、當前賬戶、下次探測;「立即探測」「重置封禁標記」。 - 賬戶表:掩碼後的密鑰、官方 5 小時 / 本週 / 本月百分比、狀態(可用 / 額度用盡 / 鑑權失敗 / 已停用 / 未配置)。
- 行內操作:設爲當前、↑ / ↓ 調順序、停用 / 啓用、改密鑰、刪除。
- 添加賬戶:填寫備註與
oc_sk_…形式密鑰;密鑰寫入憑據庫,頁面僅顯示掩碼。
按順序使用的行爲(由賬戶池策略描述):當前賬戶任一窗口用盡時自動切到下一個並重試當前步驟,全部用盡纔回退備用模型。按模型的統計仍是全局的——會話日誌不區分具體用了哪個賬戶的密鑰。
狀態文件不存在時,頁面退化爲 apiKeyRef 指向的單個賬戶;兩個插件分開安裝也可各自工作。
響應裏與賬戶相關的字段包括:accounts[](id / label / keyRef / enabled / active / configured / hint / usage / usageError / checkedAt)、activeAccount、usage(當前賬戶)、usageError。
按模型用量怎麼算¶
官方 usage 接口無法按模型拆分,本插件自行彙總:
- 啓動時回掃
$DSH_HOME/sessions下近 40 天會話日誌,取每條assistant/message的usage與message.source(時間用事件自帶的time)。 - 之後監聽
session/event,同一套 reducer 寫入內存。 - 金額按內置價格表(離峯 / 標準價)估算;DeepSeek 模型在 UTC 週一至週五 01–04、06–10 峯段乘 2;免費模型價格爲 0。中國法定節假日規則見下一節。
- 窗口起點優先用官方
resetsAt反推,monthly以 UTC 月初爲界。
頁面上仍會展示官方那一行百分比,供與自算結果交叉覈對。
峯谷、節假日與套餐¶
頁面上有兩套時鐘,用於「此刻用哪個更划算」等展示:
| 峯段時段 | 是否認中國法定節假日 | |
|---|---|---|
| OpenCode Go | UTC 週一至週五 01–04、06–10 | 不認(節假日白天仍可能按峯段計) |
| DeepSeek 官方 API | 北京週一至週五 09–12、14–18 | 認,節假日整天算谷 |
Go 不認節假日來自官方答覆(issue anomalyco/opencode#53071):Go pricing follows our own schedule, not DeepSeek’s holiday calendar.
內置日曆 HOLIDAYS(2026–2031)主要服務官方 API 一側:判斷「官方此刻是否谷段」、/opencode-usage.prices.json 的 peak.chinaHolidays 與下游賬本對齊,以及在 holidayAware: true 時讓歷史估算走官方口徑。默認 holidayAware: false,按模型統計金額即 Go 賬單口徑。
經濟結論(README 說明,非實測案例):Go 套餐約 $10/月換 $100 官方價額度,額度內走 OpenCode 相對官方直連約爲一折量級;峯段使額度消耗加快,但通常仍低於官方直連現價。例外包括額度用盡或某模型先觸頂(例如 Go 檔 Pro 月額度約 $15)。
cordis.patch.yml 的 plan 決定各模型月額度表,可選 go(默認)、go-plus、go-teams。官方百分比僅在額度變化 ≥1.5× 等明確場景下便於自動識別;Go $100 與 Go Teams $105 差距在估算噪聲內時以配置爲準。
安裝與啓用¶
已抓取 README 未給出 dsh plugin add … 一類安裝命令,此處不編造命令。一般可在 DSH 社區目錄頁查看該插件的安裝說明:
- 目錄頁:https://www.skillhub.cn/plugins/2869949486/dsh-opencode-usage
- 源碼與文檔:https://github.com/2869949486/dsh-opencode-usage
package.json 要求 DSH 引擎:
"engines": {
"dsh": "^0.2.0-rc.1"
}
許可證:MIT。bundle 通過 cordis.patch.yml 打補丁;客戶端導出 ./client,Host 入口爲 ./index.js。
若需完整多賬戶 UI 與路由,需同時安裝並配置 dsh-opencode-quota-router;僅單賬戶時可只依賴 apiKeyRef 退化模式。
典型用法¶
- 安裝並啓用插件後,打開 DSH 設置,進入 OpenCode 賬戶與用量。
- 查看按模型排列的本月剩餘、本月用量、本週用量;需要時點擊「立即刷新」,或等待 60 秒自動刷新。
- 多賬戶場景:在「賬戶」表中設爲當前、調整順序、停用或改密鑰;通過「添加賬戶」寫入
oc_sk_…密鑰。 - 需要強制同步官方額度後再看頁面數據時,可對 Host 請求:
GET /opencode-usage.json?refresh=1
- 調整套餐檔位或匯率時,編輯插件自帶的
cordis.patch.yml(plan、cnyPerUsd、holidayAware等,以倉庫文件爲準)。
適用場景與注意¶
適合誰:在 DSH 內長期使用 OpenCode Go、需要按模型看 harness 內用量估算,並希望在設置頁統一管理 quota-router 賬戶池的開發者。
侷限(README 原文要點):
- 只統計本 harness 發出的調用;OpenCode 官方客戶端等其它工具不計入。
- 金額爲估算;官方百分比無法按模型拆分,頁面僅作對照展示。
- 數據接口監聽迴環、路由無鑑權,勿暴露到不可信網絡。
安全:插件以當前 DSH 進程權限運行,會讀取 $DSH_HOME/sessions、賬戶狀態與憑據引用。安裝前請閱讀源碼與 MIT 許可證,確認密鑰與日誌訪問範圍可接受。
DSH 生態強調「一切皆插件」;skillhub.cn 上的社區目錄爲獨立站點,與 DeepSeek / 幻方無官方從屬關係。
結尾¶
dsh-opencode-usage 把 OpenCode Go 的按模型用量估算、官方額度快照和多賬戶管理收進同一設置頁,並輔以 Host 側 opencode-usage.json 供自動化讀取。若要覈對功能細節或提交 issue,見 GitHub 倉庫 2869949486/dsh-opencode-usage;目錄入口見 skillhub 插件頁。