其他
完整应用
deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
PROJECT README
DeepSeek Harness Web GUI 插件:在设置页侧边栏新增 「OpenCode Go 用量」 分区,监测 OpenCode Go 订阅的套餐剩余量与每个 API Key 的 Token 用量。
lite),支持通过配置自定义各套餐限额常量。keyName,支持 keyLabels 映射覆盖,兼容多账号插件配置。llm/stream 归因统计,UI 明确标识数据来源。overview.json 快照机制,重启后秒开页面;仅在快照过期时后台静默刷新,杜绝加载卡顿。dsh plugin --profile web add ./dsh-opencode-go-meter
dsh-opencode-go-meter 目录复制到 $DSH_HOME/profiles/web/node_modules/ 路径下$DSH_HOME/profiles/web/cordis.patch.yml,追加以下配置:
配置完成后重启 dsh web,主机侧与客户端 bundle 即可生效。
在 cordis.patch.yml 的插件条目下通过 config 字段配置,完整参数如下:
- insert:
- id: opencode-go-meter
name: 'dsh-opencode-go-meter'
config:
baseUrl: https://opencode.ai/zen/go/v1/usage
timeoutMs: 8000
quotaCacheMs: 60000
recordsSyncMs: 60000
autoSyncMs: 300000 # 后台自动同步间隔(毫秒),设为 0 关闭
fullSyncMaxPages: 1000 # 全量回填最大页数(每页 50 条)
fullSyncMaxMs: 900000 # 单次全量回填总时长上限(毫秒),超时中止、下次续跑,0 为不限制
syncAwaitMs: 8000 # overview/refresh 接口等待同步完成的最长时间,超时则先返回已有数据
snapshotMaxAgeMs: 300000 # 本地快照有效期(毫秒);有效期内打开页面直接读快照,不发网络请求,0 表示始终使用快照
apiKey: '' # 也可通过凭据 OPENCODE_GO_API_KEY 或 opencode auth.json 读取
authCookie: '' # 也可通过凭据 OPENCODE_GO_AUTH_COOKIE 或页面内粘贴录入
workspaceId: '' # 留空则自动解析第一个工作区
providerFilter: opencode # 本地归因仅统计 provider 路由包含该字符串的调用
alertThreshold: 80 # 告警阈值(百分比)
retentionDays: 90 # 本地数据留存天数
keyLabels: {} # 可选:keyID 到显示名的映射,优先级最高,例如 { key_xxx: "我的主力 Key" };也会自动读取 opencode-go-multi-auth 的账号配置
planLimits: {} # 可选:按套餐自定义额度展示,例如 { lite: { rolling: "$12", weekly: "$30", monthly: "$60" } }
表格
| 凭据类型 | 解析顺序 |
|---|---|
| API Key(配额查询用) | config.apiKey → 凭据项 OPENCODE_GO_API_KEY → ~/.local/share/opencode/auth.json |
| auth cookie(明细查询用) | config.authCookie → 凭据项 OPENCODE_GO_AUTH_COOKIE → 页面内保存的 $DSH_HOME/plugins/opencode-go-meter/cookie.txt |
keyID 分组统计,本地数据按 provider 路由分组。planLimits 按套餐自定义(默认值为 $12 / $30 / $60)。enrichment.plan 字段解析(如 lite),仅用于展示与额度映射,不影响统计逻辑。纯 ESM 模块,无需构建步骤,为 Host + Client 双面插件。
表格
| 文件 | 职责 |
|---|---|
index.js |
主机侧:实现 OpencodeUsageGateway 远程服务,提供 overview /refresh/backfill /saveCookie/clearCookie 接口;管理后台自动同步定时器 |
local-meter.js |
本地用量归因:基于 llm/stream waterfall 链路统计,使用 JSONL 存储,作为官方数据的兜底方案 |
typert.host.js |
手写 Typert 主机接口清单,开启 zod 严格校验 |
client.js |
客户端 bundle:实现设置页分区 UI,包含配额卡、明细表格、合计行、来源标识、刷新 / 回填按钮、告警提示、Cookie 管理 |
package.json |
双面插件声明:包含 main、exports["./client"]、exports["./typert"] 与 dsh.client 字段 |
数据统一存储在 $DSH_HOME/plugins/opencode-go-meter/ 目录下:
records.jsonl:官方用量记录local.jsonl:本地统计样本cookie.txt:Cookie 存储文件(权限 0600)overview.json:最近一次查询快照(权限 0600)meta.json:回填标记与同步时间记录(权限 0600)overview/refresh 超过 syncAwaitMs 即返回当前数据,同步任务转入后台。fullSyncMaxMs 保护,超时自动中止并在下次同步时断点续跑。MIT
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。