前言¶
在 DeepSeek Harness (DSH) 的 Web 插件生態中,針對 opencode.go 和 commandcode 這兩個主流開發計劃的額度管理,通常需要手動訪問官網或通過命令行查詢。lbwfff/dsh-usage-estimator 是一個專門爲此設計的雙端插件。它通過 Host 端獲取數據,在 Browser 端渲染,無需單獨部署進程,直接在 DSH 側邊欄提供實時額度條以及基於官方定價文檔的模型預算估算表。
插件簡介¶
插件名稱:lbwfff/dsh-usage-estimator
維護者:lbwfff
許可證:MIT
核心價值:爲 opencode.go 和 commandcode.ai 提供零配置的實時額度監控與預算估算。
核心功能¶
該插件主要提供以下能力:
- 實時額度條:在側邊欄展示 opencode.go 和 commandcode 的滾動/每週/每月配額,並顯示重置時間。
- 模型預算估算:根據官方定價文檔,生成包含 OpenCode Go 與 Command Code GOAT 兩個計劃的對比表格,顯示每個模型的請求預算(每 5 小時/每週/每月)。
- 全語言支持:UI 界面完全本地化,跟隨 DSH 的語言設置(簡體中文/英文)。
- 隱私保護:Cookie 讀取功能是可選的。開啓後,Cookie 僅發送至 opencode.ai 和 commandcode.ai 官方域名,且絕不離開本地機器,不進行第三方日誌記錄。
- 零配置數據源:請求表數據直接從官方定價文檔抓取,無需用戶手動維護。
安裝與啓用¶
安裝此插件需要先確保 pnpm 已安裝在系統路徑中,然後通過 DSH 的插件命令安裝。
- 安裝 pnpm
npm i -g pnpm
# 或者
corepack enable
- 安裝插件
dsh plugin --profile web add github:lbwfff/dsh-usage-estimator
- 重啓 DSH Web
插件安裝後會自動註冊到dsh.bundle和cordis.patch.yml中,需重啓dsh web使其生效。
配置說明¶
插件的配置位於 Web profile 的補丁文件中:~/.dsh/profiles/web/cordis.patch.yml。
在 config 節點下,需要設置以下字段:
- insert:
- id: dsh-usage-estimator
name: dsh-usage-estimator
config:
# opencode.go 工作區 ID(必須設置以顯示 OpenCode Go 額度條)
opencodeWorkspaceId: wrk_xxxxxxxxxxxxxxxxxxxxxxxx
# commandcode 每月信用上限(用於計算月度百分比)
commandcodeMonthlyCap: 70
# 是否讀取瀏覽器 Cookie 以進行身份驗證
cookieEnabled: true
# 當實時 API 不可用時,用於回退的 HAR 文件路徑
# harPath: /path/to/commandcode.ai.har
字段說明¶
opencodeWorkspaceId:opencode.go 的 workspace ID(格式爲wrk_...)。留空將禁用 OpenCode Go 的額度條顯示。commandcodeMonthlyCap:commandcode 的每月信用上限。未設置時,月度百分比會回退到 API 報告的上限或顯示爲不可用。cookieEnabled:默認爲true。設爲false將禁用 Cookie 讀取,此時實時額度條將不可用,但請求計數表仍可正常顯示。harPath:默認路徑爲~/.dsh-usage-estimator/commandcode.ai.har。這是當實時 API 無法訪問時的備選數據源。
隱私與安全¶
啓用 cookieEnabled: true 後,插件會讀取瀏覽器中針對 opencode.ai 和 commandcode.ai 的 Cookie。
- 數據流向:Cookie 僅被髮送至上述兩個官方域名以獲取配額數據,絕不離開本地機器。
- 日誌記錄:插件不會進行任何第三方日誌記錄。
- HAR 回退:如果需要,用戶可以手動導出 HAR 文件(通過瀏覽器開發者工具),插件可讀取該文件作爲備份數據源。
架構與實現¶
該插件採用“雙端”架構,Host 端與 Browser 端協同工作。
Host 端 (lib/index.js)
* 作爲 Cordis 插件註冊,在 DSH Web 服務器的 webServer 上註冊一個精確的 /quota 路由。
* 該路由通過 execFile 調用 Python 腳本 (scripts/quota.py) 獲取數據。
* 數據會被緩存約 120 秒後返回 JSON 格式。
* 不需要單獨的進程或端口,共享 DSH 的服務器上下文。
Browser 端 (lib/client.js)
* 一個 React 組件,通過 window.__ModuleLoader__.load() 加載。
* 注入到側邊欄底部的 sidebar.footer.action 插槽中。
* 定期(每 10 分鐘)輪詢 /quota 路由。可以通過 ?force=1 參數手動刷新。
* 使用 DSH 的原生 Modal 組件展示請求計數表。
數據處理 (scripts/quota.py)
* 負責計算額度條和請求計數表。
* 從官方定價文檔抓取數據(緩存約 6 小時)。
結語¶
lbwfff/dsh-usage-estimator 旨在解決 opencode.go 和 commandcode 用戶的額度管理痛點。通過將官方定價數據與實時 API 結合,它爲開發者提供了一個無需額外操作的監控方案。配置簡單且注重隱私,適合需要在 DSH 環境中高效管理這兩個特定服務額度的用戶。
- GitHub 倉庫:https://github.com/lbwfff/dsh-usage-estimator
- 插件目錄:https://www.skillhub.cn/plugins/lbwfff/dsh-usage-estimator