dsh-ocgo-lite OpenCode Go 用量常驻条 — DeepSeek Harness 插件。 聊天输入框下方(composer dock)常驻展开显示 OpenCode Go 套餐余量、token 消耗与花费,零外部依赖。
https://opencode.ai/zen/go/v1/usage(Bearer auth.json key) | 账户级(含其他设备/软件),不受范围切换影响 | | token / 花费 | DSH 会话事件(assistant/message 的 usage,按 provider 分组统计) | DSH 会话全部 provider(opencode-go / deepseek-official / 其他套餐,自动识别切换),范围=全部/本次会话/最近对话 | | 金额 | 按官方定价表估算(per 1M tokens) | 输入 $0.14 / 输出 $0.28 / 缓存读 $0.0028(deepseek-v4-flash);无官方定价的模型金额不计入,显示「定价未知」 | ### 实时性 - Client 轮询携带 ?live=<sessionId>,Host 增量直读会话日志文件 (帧级流式解压:逐帧 zstd 解压 + 逐行解析,单帧即弃):只重读 mtime 变化的 会话(活跃会话),未变化的直接用缓存条目 → 常规轮询仅处理 1lib/index.js 的 PRICING),启动时与每 24 小时自动抓取 opencode.ai/docs/go 官方定价表覆盖——官方改价后自动跟随, 抓取失败静默回退内置表。API 响应的 meta.pricingUpdatedAt 标注最近抓取时间。 ## 🚀 安装 ### 方式 A:官方 bundle(推荐,随 DSH 启动自动加载) sh # GitHub 直接安装(推荐) dsh plugin --profile web add github:OK-wx/dsh-ocgo-lite # 或从源码目录安装 dsh plugin --profile web add <本目录> dsh --profile web 或手动等价操作:把 dsh-ocgo-lite 加入 profile package.json 的 dependencies(link:<本目录>)与 dsh.profile.bundles,建立 node_modules junction, 并应用 cordis.patch.yml。 ### 方式 B:运行时热装配(免重启) 在 DSH 会话里用注入器(dsh-super-injector): dev_install_package {"dir": "<本目录>", "profile": "web"} ### 方式 C:插件市场 - dsh.aitreez.com(DSH-Plugin Store,GitHub topic 自动收录) - YELEBAI 插件市场 / dsh-market(收录后可在设置 → 插件市场一键安装) ## 🔌 Host API - GET /ocgo-lite/api — 聚合 JSON(配额 + DSH token/花费 + 按模型/按会话 + 账户掩码) - GET /ocgo-lite/api?live=<sessionId> — 实时通道:增量直读 mtime 变化的会话日志文件 (未变化的会话用缓存条目),替换后重聚合全局 → 本次会话/全部范围均实时 - GET /ocgo-lite/key — 完整 API Key(仅本机同源,供复制) - 模型工具 opencode_go_usage — 对话里直接查询 ## 🛠️ 开发 纯手写 ESM bundle 插件,无构建步骤(无需 tsc/tsdown): lib/index.js Host:配额抓取 + DSH 会话统计(增量实时/内存保护) + 定价动态更新 + HTTP 路由 + 模型工具 lib/client.js Client:composer.dock 常驻条 + 详情卡片(Portal 渲染)+ 范围/模型切换 + 会话配置记忆 改完 lib/ 后:dev_reload_package {"packageName": "dsh-ocgo-lite"} 热重载(或重启 dsh web)。 ## 📋 环境要求 - DeepSeek Harness(dsh web) - 本机已登录 OpenCode Go(~/.local/share/opencode/auth.json 含 opencode-go key) - Node.js ≥ 22.5(fetch、node:sqlite) ## ⚖️ License MIT