dsh-opencode:在 DeepSeek Harness Web UI 中監視 OpenCode 線路與 Go 套餐

前言

用 DeepSeek Harness(DSH)對接 OpenCode 時,官方狀態頁在瀏覽器裏,Go 套餐額度在控制台或 API 裏,本機到 opencode.ai 的線路質量又要自己 ping。三塊信息分散,很難在同一次開發會話裏判斷「是上游掛了、額度打滿,還是本地網絡抖了一下」。

下面介紹的 dsh-opencode(維護者 JAYcodr,GitHub:JAYcodr/dsh-opencode)是 DSH 生態裏的客戶端類插件:在 Harness Web UI 一角掛一塊懸浮儀表,把線路質量、服務狀態燈、Go 額度進度條、可選的真實推理探針和公開用量數據疊在同一塊面板裏。插件以 MIT 許可發佈,與 OpenCode、Anomaly 無隸屬關係,只讀其公開或未文檔化端點。

這是什麼

一句話:OpenCode 線路儀表——在 DSH Web UI 的 shell.overlay 懸浮層裏展示 opencode.ai 的狀態、本機往返時延、Go 套餐額度,並可按需發起極小的流式探針驗證「Go 推理是否真的通」。

宿主側用 Cordis patch(cordis.patch.yml)註冊輪詢與同源 API;瀏覽器側 client.js 只消費主題 token,不引入 Harness Client 包。當前倉庫版本爲 0.1.0(見 package.json)。

核心功能

資料中列出的能力可歸納爲五塊,彼此獨立刷新頻率可在配置中調節。

線路質量

每次抓取 https://opencode.ai/status/api/status 時,在本機測量到 opencode.ai 的往返時延,並提供滑窗均值、抖動、成功率與輪詢進度。

服務狀態燈

反映 opencode.ai/status 公佈的控制台、推理、Go、按量、免費等分項狀態。

實測 GO(真探針)

在配置允許時,用 Go 套餐憑據向 https://opencode.ai/inference/go/openai/v1/chat/completions 發一次極小流式請求(max_tokens: 16,輸入 Say ok),得到真實首字時延(TTFT)、計費來源(是否走 go)、本次計入額度與 x-opencode-log-id;失敗時按密鑰、額度、限流、上游、超時等分類提示。這是唯一會消耗 Go 月額度的請求,README 估算單次約 \(0.00001**,默認每 600 秒一次約 **\)0.001/天,界面會顯示「今日 N 次 · 計入 $x」。

Go 額度

經 GET https://opencode.ai/zen/go/v1/usage(Bearer 爲 Go key,只讀、不耗額度)讀取 5 小時窗口、本週、本月三條 percent 與 resetsAt;rate-limited 或高佔用時進度條與收起態膠囊燈會變色。

數據臺賬

週期性拉取 https://opencode.ai/data/index.json 等公開 JSON,展示用量排位、會話成本、緩存命中、地區分佈等;模型價格來自 Go 官方清單,並標註當前時段倍率(如 DeepSeek V4.1 Flash 在工作日部分 UTC 時段爲峯值 ×2)。

安裝與啓用

安裝方式以倉庫 README 爲準,不要憑插件名拼接 dsh plugin add github:owner/repo。

  1. Plugin Manager(npm 發佈後):在 DSH 的 Plugin Manager 中搜索並安裝 dsh-opencode。README 註明:npm 上的 dsh-opencode 包名可能被其他作者佔用,若走 npm 發佈可能需要換名(例如 dsh-opencode-meter);尚未發佈時可先用目錄方式。
  2. 從目錄安裝 bundle:將本插件所在目錄在 Plugin Manager 裏用「從目錄安裝 bundle」(等價於 plugin_manager 的 install_bundle),DSH 會 link 進當前 profile。
  3. 刷新 Web UI(⌘R / Ctrl+R),右上角應出現懸浮儀表;若無,可重啓一次 Harness 讓客戶端模塊重掃。

憑據方面:若 profile 已配置 OPENCODE_GO_API_KEY(使用 opencode-go provider 時常見),探針與額度查詢可直接使用;否則在儀表「設置」頁籤保存一把具 Go 訂閱的 key,或將配置項 probeKeyEnv 指向你自己的憑據引用名。專用 key 寫入 DSH 憑據庫 DSH_OPENCODE_PROBE_KEY,不下發瀏覽器、不出現在 /api/state。

典型用法

安裝並配置 key 後,可按 README 中的交互方式日常查看:

  1. 拖動標題欄移動儀表;右上角 ⟳ 立即刷新狀態、用量與 Go 額度;⌃ 收成小膠囊(膠囊可拖,輕點展開)。
  2. 收起後的膠囊燈取「官方 Go 狀態」與「最近一次實測結果」的較差者:官方顯示正常但本機 key/額度異常時,膠囊也會變紅。
  3. 在狀態頁 「實測 GO」 使用 「測一下」 手動探針(30 秒冷卻);自動探針按 probeIntervalSeconds 運行,倒計時顯示在界面上。
  4. 標題旁可關 實測、額度 兩個開關:關閉後對應區塊隱藏,宿主停止相應定時請求(實測不再花額度、額度不再輪詢)。
  5. 設置頁可改探針/額度輪詢間隔(分鐘)、保存或清除專用 key;改動持久化到 $DSH_HOME/plugin-data/dsh-opencode/settings.json(權限 600)。

同源 API(供 Web UI 使用,不含 key)包括:

  • GET /dsh-opencode/api/state — 合併狀態、用量、探針、額度與設置
  • POST /dsh-opencode/api/probe — 手動探測,可選 {"model":"..."},冷卻 30s
  • POST /dsh-opencode/api/settings — 開關與間隔
  • POST /dsh-opencode/api/key、DELETE /dsh-opencode/api/key — 專用 key 讀寫

配置要點

可在 profile 的 cordis.patch.yml 中覆蓋插件 dsh-opencode 的 config,例如:

- id: dsh-opencode
  config:
    statusIntervalSeconds: 60      # 20–600
    dataIntervalSeconds: 300       # 60–3600
    requestTimeoutSeconds: 15      # 5–60
    probeSamples: 120              # 20–500(本地時延樣本數)
    probeEnabled: true             # 關掉則完全不發推理請求
    probeIntervalSeconds: 600      # 120–3600
    probeKeyEnv: OPENCODE_GO_API_KEY  # 憑據引用名,不是 key 本身
    probeModel: deepseek-v4.1-flash
    probeTimeoutSeconds: 30        # 5–60
    goModelsIntervalSeconds: 1800  # 600–7200
    usageEnabled: true             # Go 額度查詢(只讀,不消耗額度)
    usageIntervalSeconds: 120      # 60–3600

數據來源與默認輪詢間隔見下表(均可通過上述字段調整探針與額度相關項):

數據 地址 默認頻率
實時狀態 https://opencode.ai/status/api/status 60s
用量數據 https://opencode.ai/data/index.json 300s
Go 模型/價格 https://opencode.ai/inference/go/v1/models 1800s
實測探針 https://opencode.ai/inference/go/openai/v1/chat/completions 600s(可關,最低 120s)
Go 額度 https://opencode.ai/zen/go/v1/usage 120s(可關,最低 60s)

適用場景與注意

適合誰:在 DSH 里長期使用 OpenCode Go 線路、希望不離開 Harness 就能對照「官方狀態 + 本機線路 + 額度 + 可選真探針」的開發者。

運行與安全:插件隨當前 DSH 進程權限訪問網絡與憑據服務;安裝前應查看源碼與 MIT 許可證,並知悉其會按間隔請求 OpenCode 公開端點,探針開啓時會用你們的 Go key 發起計費極小的推理請求。端點可能隨官方變更;除探針外數據緩存在宿主內存、不落盤。安全問題見倉庫 SECURITY.md。

DSH 奉行「一切皆插件」;社區目錄(如 SkillHub 插件頁)爲獨立收錄,與 DeepSeek、幻方無官方從屬關係。

結尾

經過上面的步驟,dsh-opencode 把 OpenCode 狀態頁、額度 API 和本機鏈路觀測收進 Harness 同一塊懸浮儀表,並用可關閉的真探針回答「Go 推理此刻是否真的能走通」。若要進一步瞭解實現或貢獻索引,可查閱 GitHub 倉庫 與目錄頁 SkillHub:JAYcodr/dsh-opencode。

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

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

小夜