DeepSeek Harness (DSH) 是一個插件化的平臺,允許通過組合包擴展功能。如果你正在使用 OpenCode Go,需要監控滾動 5 小時、每週和每月的剩餘額度,dsh-opencode-go-quota 插件可以自動抓取用量看板數據,將剩餘百分比以類似遊戲血條的形式顯示在對話輸入框旁,並在設置中提供完整的卡片視圖。
該插件由 weijianguizhou 維護,遵循 MIT 許可證。
核心功能¶
插件提供以下能力:
* 實時額度顯示:抓取並解析 OpenCode Go 的用量看板,顯示剩餘百分比。
* 對話區 HUD:在對話輸入框下方展示三檔額度(5h / Week / Month)的血條,懸停可查看重置倒計時。
* 設置卡片:在「設置 → 插件配置」中提供完整的進度條展示。
* 手動刷新:點擊按鈕即可立即觸發數據抓取,無需重啓。
* 自動更新:按配置的間隔自動抓取並解析數據。
安裝與啓用¶
安裝過程需要指定你使用的 DSH profile 名稱(如 web、desktop 或 tui)。
- 打開終端,執行安裝命令:
dsh plugin --profile web add https://github.com/weijianguizhou/dsh-opencode-go-quota
> 將 `web` 替換爲你實際的 profile 名稱。
- 安裝完成後,DSH 會將此組合包追加進該 profile 的配置中。安裝步驟完成後,需要重啓相應的 profile 才能加載插件。
配置¶
憑據僅存儲在本地,插件優先讀取配置文件,配置文件缺省時回退至環境變量。
1. 配置文件(推薦)¶
在你 profile 的 cordis.patch.yml 文件中,插入以下內容:
- insert:
- id: opencode-go-quota
name: dsh-opencode-go-quota
config:
workspaceId: '你的workspaceId'
authCookie: '你的browser-auth-cookie'
timeoutMs: 10000
refreshMinutes: 5
2. 環境變量(備用)¶
如果配置文件中未填寫憑據,插件會嘗試讀取以下環境變量:
export OPENCODE_GO_WORKSPACE_ID=...
export OPENCODE_GO_AUTH_COOKIE=...
authCookie 在插件中標記爲敏感信息,不會出現在任何日誌或響應中。
獲取憑據¶
authCookie 是 HttpOnly 且可能被瀏覽器 App-Bound Encryption 加密存儲,無法通過腳本自動提取,需手動獲取。
- 使用瀏覽器登錄 opencode.ai。
- 進入 Go 用量頁面(能看到 Rolling / Weekly / Monthly 的頁面)。
- 按 F12 打開開發者工具,切換到 Network 標籤頁,刷新頁面。
- 點擊列表中第一個
opencode.ai的文檔請求(Type 爲document)。 - 在右側 Headers → Request Headers 中找到
Cookie行。 - 複製
auth=後面的整段字符串。
獲取 workspaceId:查看看板 URL,格式爲 https://opencode.ai/workspace/<這一串>/go,中間段即爲 workspaceId。
注意:Cookie 通常有效期約 90 天,過期後需重新獲取。
桌面端額外步驟(重要)¶
在 DSH 桌面端(非 Web 服務),設置命名空間需要顯式加入 allowlist 纔會被前端讀取,否則 HUD 和卡片不會顯示。
- 找到桌面端安裝目錄下的文件:
<DSH Desktop>/resources/app.asar.unpacked/node_modules/@deepseek-ai/dsh-host-apiproxy/lib/index.js
- 在該文件中找到
WEB_SETTINGS_NAMESPACES數組,添加"opencode-go-quota":
const WEB_SETTINGS_NAMESPACES = [
"agent-loop",
"shell",
"locale",
"permission",
"ui-conversation",
"ui-theme",
"web-search-deepseek",
"opencode-go-quota", // <-- 添加這一行
];
- 保存並重啓 DSH Desktop。
注意:桌面端更新後會覆蓋
app.asar.unpacked目錄,此補丁需在每次更新後重新應用。
驗證是否生效¶
安裝並配置完成後,重啓 DSH 並進入對話界面:
- HUD:在輸入框下方應出現
OpenCode Go一排血條。 - 設置卡片:進入「設置 → 插件配置」,應能看到「OpenCode Go 剩餘額度」卡片。
若顯示「尚未配置」,說明憑據未填寫正確;若顯示「加載失敗」,多爲 Cookie 過期或看板結構變動。
開發與構建¶
DSH 插件要求 ./client 導出的是預構建的 bundle(window.__ModuleLoader__.load 形式)。倉庫中的 lib/client.js 已隨提交,若修改源碼需重新構建:
npm install
npm run build
npm run check
npm test
適用場景與注意¶
- 適用場景:需要頻繁查看 OpenCode Go 剩餘額度,希望在不離開對話界面的情況下監控使用情況。
- 注意:插件以當前 DSH 進程的權限運行,安裝前建議檢查源碼。桌面端用戶務必完成 allowlist 配置步驟。
更多詳情與源碼,請訪問 GitHub 倉庫。