dsh-opencode-go:OpenCode GO 與 CommandCode 套餐用量監控插件

在 DeepSeek Harness (DSH) 的 Web 端開發或調試場景中,監控 OpenCode GO 與 CommandCode 的套餐用量往往需要依賴外部工具或手動切換頁面。這增加了上下文切換的成本。dsh-opencode-go 插件旨在解決這一問題,它直接在會話頭部提供常駐的用量狀態芯片,讓用量監控與對話過程融爲一體。

核心功能

該插件主要實現以下能力:

  1. 會話頭部常駐顯示:在 conversation header 的 utilities 槽位註冊芯片,顯示各賬號的周用量百分比。顏色編碼遵循以下規則:≥90% 爲紅色(受限),≥70% 爲橙色,否則爲綠色。
  2. 懸停查看詳情:鼠標懸停在芯片上時,會彈出氣泡,分別展示滾動 5h、每週、每月的用量數據,以及當前滾動窗口的剩餘時間。
  3. 自動與手動刷新:支持 3 分鐘自動刷新數據,同時也提供手動刷新按鈕。
  4. 智能緩存:切換會話時複用模塊級共享緩存,避免重複發起網絡請求。
  5. 獨立容錯:單個賬號的 API 調用失敗不會影響其他賬號,失敗的賬號行會顯示「獲取失敗」。
  6. 安全性:API 密鑰僅存儲於宿主側(.credentials.yaml),瀏覽器端永遠不會直接接觸這些密鑰。

安裝與啓用

通過 DSH 插件管理器安裝:

dsh plugin --profile web add github:305037991x-pixel/dsh-opencode-go

安裝完成後,需要重啓 dsh web 服務,並在瀏覽器中執行硬刷新(Ctrl+Shift+R)以加載新組件。

配置方法

插件需要宿主側提供 API 密鑰才能正常工作。請在 $DSH_HOME/.credentials.yaml 文件中配置以下內容:

# OpenCode GO 賬號 A(必填)
OPENCODE_GO_API_KEY: sk-xxx
# OpenCode GO 賬號 B(可選,不配置則只顯示一個賬號)
OPENCODE_GO_API_KEY_B: sk-yyy
# CommandCode(可選,不配置則不顯示該行)
COMMANDCODE_API_KEY: cmd-zzz
  • OpenCode GO Key:在 opencode.ai/auth 創建。
  • CommandCode Key:在其 Studio 創建(即 Provider API 使用的 CMD_API_KEY)。

工作原理

插件採用宿主端與客戶端分離的架構:

  • 宿主端:負責註冊 GET /dsh-opencode-go/usage 接口。該端點並行解析各賬號憑證,調用官方接口獲取用量數據並返回。
  • 客戶端:在 conversation.session.header.utilities 槽位註冊芯片組件。它維護模塊級的共享緩存和定時器,負責數據的獲取、渲染和交互邏輯。

數據源主要來自兩個官方接口:
* OpenCode GO:使用 https://opencode.ai/zen/go/v1/usage 接口,官方直接返回 rolling/weekly/monthly 窗口的 percent 和 resetsAt。
* CommandCode:使用 https://api.commandcode.ai/alpha/billing/credits 等非公開的 /alpha 系列端點(與官方 CLI 使用同源接口),通過 windowLimits 計算百分比。

兼容性與依賴

該插件與 DSH 核版本解耦。所有 @deepseek-ai/dsh-* 核心包均聲明爲可選的 peerDependencies(範圍 >=0.1.0-rc.6 <0.2.0)。

插件自身不安裝、不攜帶任何核心包副本,運行時一律使用宿主正在運行的那份核。因此,升級 DSH 核心包不需要重裝本插件。

主要依賴項包括:
* dsh-credentials:用於獲取憑證。
* dsh-launch-environment:用於獲取運行環境。
* 瀏覽器端通過 dsh.client.inject 由宿主的客戶端模塊表提供依賴。

適用場景

此插件適合需要在長時間對話或開發過程中持續監控 API 套餐額度,希望減少手動查詢成本的用戶。建議在安裝前檢查插件源碼與許可證(MIT)。

插件目錄 | GitHub 倉庫

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

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

小夜