dsh-oc-go-usage:在 DSH 裏查看 OpenCode Go 訂閱的會話成本

前言

用 DeepSeek Harness(DSH)跑長會話時,模型調用會落在 OpenCode Go 訂閱上,但控制台裏的 request log 和 DSH 會話界面是分開的。想回答「這一輪 DSH 會話到底花了多少美元、用了哪些模型」,往往要在 opencode.ai 控制台裏自己篩時間窗口、加總 cost 字段。

下面介紹的插件 dsh-oc-go-usage(維護者 x01Jin,社區分類 admin-security)把 OpenCode 控制台推理請求日誌接到 DSH Web GUI:在會話標題欄增加 Opencode Go 標籤頁,並提供 /opencode-go 命令輸出同一套數字。數據來源是官方 console API,不是估算。

這是什麼

一句話:DSH 插件,按 當前 DSH 會話的時間窗口 彙總 OpenCode Go 訂閱在控制台 request log 裏的 USD 成本與 token 統計。

社區插件目錄是獨立站點,與 DeepSeek / 幻方無官方從屬關係;DSH 本身遵循「一切皆插件」的擴展方式,本插件是其中一條 admin-security 類工具鏈。

核心功能

界面與命令

  • 會話頭部分頁:Chat、Trajectory 旁增加 Opencode Go;會話開始後纔出現。
  • 斜槓命令:/opencode-go,以純文本打印與標籤頁相同的彙總。

標籤頁展示內容(README 已列)

  • 會話窗口內:總成本、請求次數、token 合計(input / output / cache reads)。
  • 按模型:成本與請求次數。
  • 最近六條請求。
  • 按本地小時:成本與請求次數。
  • 從 DSH 宿主讀取的會話指標:輪次、步數、LLM 與 tool 耗時、tokens/s、緩存命中率、上下文構成等。
  • Refresh 手動刷新;Save .txt 用系統文件夾選擇器寫入純文本快照。

數字怎麼算

OpenCode 在控制台爲每次推理保留一行 request log,含 startedAt、finishedAt、模型、token、outcome、USD cost。插件請求:

GET https://opencode.ai/console/api/request-logs
    ?category=inference&since=<session start>&until=<now>&limit=100

since 取 DSH 會話 header.createdAt,until 爲當前時間,窗口即會話生命週期;窗口內各行 cost 相加爲總成本。匹配依據是 時間,不是 session id——同一 OpenCode Go workspace 在窗口內若有其他客戶端請求,也會被計入。

安裝與啓用

前提(README Requirements):

  • 帶 Web GUI 的 DSH
  • OpenCode Go 訂閱
  • 能訪問 opencode.ai 控制台

安裝命令(原文):

dsh plugin add github:x01Jin/dsh-oc-go-usage

或在 GUI:Settings → Plugins → Add plugin,粘貼 github:x01Jin/dsh-oc-go-usage。重啓 DSH 或刷新頁面後,會話開始後可見標籤頁。

連接控制台(典型用法)

該 API 需要 瀏覽器控制台會話,個人 API key(oc_sk_...)訪問此端點會返回 403。

  1. 打開 https://opencode.ai/console,打開 DevTools Network。
  2. 刷新頁面,選中任意 request-logs 請求。
  3. 複製該請求 完整 cookie 請求頭值。
  4. 在本會話 Opencode Go 標籤頁,粘貼到 Console session,點 Save。

workspace id(控制台 URL 中的 wrk_...)在控制台允許時會自動發現;若界面要求填寫,可粘貼 id 或完整控制台 URL。插件接受 cookie: ... 或 authorization: Bearer ...;憑證存於 DSH credential store 的 OPENCODE_CONSOLE_COOKIE,workspace 爲 OPENCODE_CONSOLE_WORKSPACE。僅宿主進程向 opencode.ai 發送,瀏覽器端不直連 opencode.ai。

快照與本地路由

Save .txt 打開系統目錄選擇器,取消則不寫文件。文件名形如 20261028-072459-eb5c23ae.txt(本地時間 + 會話 id),便於按時間排序;內容含窗口、合計、衍生比率、宿主側 DSH 數字、按模型拆分、本地小時直方圖及當時適用的說明。

宿主提供的 HTTP 路由(前綴默認 /opencode-go,可配置):

method path 用途
GET /opencode-go/session-cost 單會話合計,session、refresh 查詢參數
POST /opencode-go/session-cookie 保存憑證與可選 workspace
DELETE /opencode-go/session-cookie 清除二者
POST /opencode-go/session-export 導出快照到所選文件夾

可選配置

各鍵均可省略:

key default 含義
credentialRef OPENCODE_CONSOLE_COOKIE 存放控制台會話的 DSH credential
apiBase https://opencode.ai console 源站
cacheMs 20000 單次 console 響應複用時長(毫秒)
maxPages 25 單次讀取分頁上限(每頁 100 行)
routePrefix /opencode-go 本地路由前綴
orgId 未設置 發現 workspace 被拒絕時手動指定 workspace id

credentialRef 也可指向環境變量名(DSH credential 會回退到進程環境)。

適用場景與注意

適合誰:已用 DSH Web GUI 且訂閱 OpenCode Go,需要在會話內對照美元成本、模型分佈,並偶爾導出 .txt 留檔的開發者或運維。

行爲與限制(README Limits):

  • 標籤頁在會話打開時每 30 s 刷新;宿主對 console 答案緩存 20 s(與 cacheMs 默認一致)。
  • 控制台 request log 保留約 30 天;更老的會話可能只有部分數據,標籤頁會標註。
  • 控制台會話隨瀏覽器會話過期;出現 unauthorized 時需重新粘貼 cookie。
  • 恢復的會話仍從原始 createdAt 起算窗口,中間時段若落在同一 workspace 也會被計入。
  • 無 cost 的行計入請求數但不參與加總,面板會報告條數。

安全與安裝前檢查:插件以 當前 DSH 宿主進程權限 運行,並向 opencode.ai 攜帶你保存的控制台憑證。安裝前應閱讀 源碼與 LICENSE,確認憑證存儲與網絡行爲可接受;不要將 console cookie 泄露到不可信環境。

結尾

dsh-oc-go-usage 把 OpenCode Go 控制台推理日誌與 DSH 會話時間窗對齊,在 GUI 和 /opencode-go 裏給出可刷新的成本與用量視圖,並支持導出文本快照。需要安裝或 issue 時見目錄頁 skillhub.cn/plugins/x01Jin/dsh-oc-go-usage 與 GitHub x01Jin/dsh-oc-go-usage。

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

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

小夜