haipisao / dsh-plugin-opencode-go-quota

Listed

deepseek web端的一个小插件,显示opencode go套餐剩余额度的

mainOther View source

Installation

npx -y @deepseek-ai/dsh plugin --profile web add github:haipisao/dsh-plugin-opencode-go-quota

This installation command is an unverified starting point generated from the GitHub repository address.

README

Maintainer-authored documentation snapshot.

View on GitHub ↗
Commit 59fa542Synced Aug 18, 2026

dsh-plugin-opencode-go-quota

GitHub stars version license

OpenCode Go 额度悬浮窗 —— DeepSeek Harness (DSH) Web GUI 插件。

本插件由 DeepSeek V4 Flashdeepseek-v4-flash)开发,全程在 DSH 会话中完成设计、实现、调试与发布。 注:目前暂缓dsh相关插件的开发与更新,有问题可以提,可能回复解决的比较慢,目前已切换为古法编程模式

页面右下角圆形悬浮按钮(opencode 官方图标,可鼠标拖动),点击展开弹窗 展示当前所选 OpenCode Go 账号套餐各周期额度(5 小时滚动 / 每周 / 每月)的已用 百分比、限额与重置时间;再点按钮或 × 收起。弹窗打开期间每 5 分钟自动刷新。 限额文本按当前所选模型显示:2026-05 官方调价后,DeepSeek V4 Flash/Pro 等 高价模型的每月使用额度只有 $15,弹窗对应显示 $3 / $7.5 / $15;普通模型显示 $12 / $30 / $60

核心行为:仅当当前会话选中的模型属于 opencode go 系 provider 时才显示按钮, 切换到其他模型(如 deepseek-official)自动隐藏;多 opencode go 账号(含自定义 路由)按所选 provider 自动对应各自的 API key 与额度。

OpenCode Go 额度弹窗

安装

方式一:从 GitHub 安装(推荐)

dsh plugin --profile web add github:haipisao/dsh-plugin-opencode-go-quota

方式二:从打包 tarball 安装

# npm pack 产物(本地 `npm pack` 生成,或从 GitHub Releases 下载)
dsh plugin --profile web add ./dsh-plugin-opencode-go-quota-0.1.3.tgz

方式三:本地源码目录(开发调试)

dsh plugin --profile web add ./packages/dsh-plugin-opencode-go-quota

注册行(三种方式都需要)

~/.dsh/profiles/web/cordis.patch.yml 追加(HMR 注册即生效,无需重启):

- insert:
    - id: opencode-go-quota
      name: dsh-plugin-opencode-go-quota
      config:
        timeoutMs: 15000
        visibleProviders: [opencode-go, opencode-go-2]
        providers:
          opencode-go:
            usageUrl: https://opencode.ai/zen/go/v1/usage
            keyRef: OPENCODE_GO_API_KEY
          opencode-go-2:
            usageUrl: https://opencode.ai/zen/go/v1/usage
            keyRef: OPENCODE_GO_API_KEY_2

首次安装新 bundle 后,若 HMR 未生效,重启一次 dsh web 即可。

交给 Agent 安装(提示词模板)

把下面整段复制给任意 AI agent(DSH 会话或其他助手),即可由它完成安装与验证:

请帮我安装 DSH 插件 dsh-plugin-opencode-go-quota(OpenCode Go 额度悬浮窗,GitHub: haipisao/dsh-plugin-opencode-go-quota)。

执行步骤:
1. 安装插件包(二选一):
   - dsh plugin --profile web add github:haipisao/dsh-plugin-opencode-go-quota
   - 或本地 tarball:dsh plugin --profile web add ./dsh-plugin-opencode-go-quota-0.1.3.tgz
2. 在 ~/.dsh/profiles/web/cordis.patch.yml 追加注册行(若已存在相同 id 则跳过,不要重复插入):
   - insert:
       - id: opencode-go-quota
         name: dsh-plugin-opencode-go-quota
         config:
           timeoutMs: 15000
           visibleProviders: [opencode-go, opencode-go-2]
           providers:
             opencode-go:
               usageUrl: https://opencode.ai/zen/go/v1/usage
               keyRef: OPENCODE_GO_API_KEY
             opencode-go-2:
               usageUrl: https://opencode.ai/zen/go/v1/usage
               keyRef: OPENCODE_GO_API_KEY_2
3. 确认 API key 已配置在 DSH credentials seam(~/.dsh/.credentials.yaml 或进程环境变量):
   OPENCODE_GO_API_KEY(账号 1)、OPENCODE_GO_API_KEY_2(账号 2,可选);
   auth.json 兜底仅在未显式配置 keyRef 时(默认 opencode-go 场景)生效,按平台探测路径。
4. 验证(全部通过才算完成):
   - dsh --profile web --dump-config | grep opencode-go-quota        # 注册行已挂载
   - curl "http://127.0.0.1:3080/opencode-go-quota/api/usage?provider=opencode-go-2"
       → 返回 visible:true 且 usage 含 rolling/weekly/monthly 三个窗口
   - curl "http://127.0.0.1:3080/opencode-go-quota/api/usage?provider=deepseek-official"
       → 返回 visible:false(其他模型必须隐藏)
   - curl "http://127.0.0.1:3080/plugins/dsh-plugin-opencode-go-quota/client.js" → 200
   - 刷新页面,选中 opencode go 系模型后右下角出现可拖动的图标按钮;切到其他模型自动隐藏
5. 注意:
   - 首次安装新 bundle 若路由 404(HMR 未生效),重启一次 dsh web;
   - 不要修改插件源码;config 覆盖请通过注册行 config 完成;
   - 若页面未出现按钮,优先检查第 3 步 key 与第 4 步 visible 判定。

使用

  1. 刷新页面,在「设置 → 模型」里确保有 opencode-go 系 provider(Anthropic 或 openai-completions 风格均可),并配置对应 API key:
    • OPENCODE_GO_API_KEY(credentials seam:~/.dsh/.credentials.yaml 或环境变量)
    • 第二个账号 OPENCODE_GO_API_KEY_2(如需)
    • 未显式配置 keyRef 时(默认 opencode-go 场景),host 会回退读 OpenCode CLI 的 auth.json(按平台探测:Windows %LOCALAPPDATA%/opencode、macOS ~/Library/Application Support/opencode、Linux ~/.local/share/opencode, 可用 OPENCODE_GO_AUTH_PATH 覆盖);其余 provider 缺 key 会明确提示 「未找到 API Key」,绝不静默串用其他账号的 key
  2. 把会话模型切到 opencode go 系(如 opencode-go/deepseek-v4-flash)—— 右下角出现 opencode 图标按钮(可拖动)。
  3. 点击按钮展开弹窗:三个周期额度(百分比进度条 + 限额 + 重置时间)、 当前「路由」标识、手动刷新;再点按钮或 × 收起。
  4. 切到其他模型 → 按钮自动隐藏。

卸载

dsh plugin --profile web remove dsh-plugin-opencode-go-quota

并删除 ~/.dsh/profiles/web/cordis.patch.ymlopencode-go-quota 的 insert 注册行。 (实测:依赖、bundle 清单、node_modules 与注册行全部清除后,重启实例无任何残留。)

数据源

官方用量端点(接口未公开,解析为防御式),返回 usage.rolling / usage.weekly / usage.monthly 三个窗口的 percent(0–100)与 resetsAt(ISO-8601)。限额为套餐静态值,仅作参考:

  • 套餐基础限额:5 小时 $12 / 每周 $30 / 每月 $60
  • 2026-05 官方调价后,以下模型的每月使用额度只有 $15(其余模型 $60): deepseek-v4-pro / deepseek-v4-flash / grok-4.5 / gpt-5.6-luna / glm-5.3 / kimi-k3 / mimo-v2.5-pro / qwen3.8-max
  • 弹窗按当前所选模型显示限额:$15 额度模型对应 $3 / $7.5 / $15, 普通模型恢复 $12 / $30 / $60(限额 = 套餐限额 × credit/60);
  • 模型额度表可用配置 modelCredits 覆盖(官方再调价时优先改这里)。

host API(可选,自检用)

GET /opencode-go-quota/api/usage?provider=<llm-pi-ai 路由 id>
  • visible: true/false:provider 是否在可见名单;未知 provider / 缺 key 返回 结构化原因(unknown-provider / no-api-key),不抛错。
  • key 与端点解析:config.providers 显式优先,否则从 Settings → Models(llm-pi-ai)的 apiKeyEnv / baseURL 推导。

配置(注册行 config)

Key默认含义
timeoutMs15000拉取超时(毫秒)
visibleProvidersproviders 的键;缺省 [opencode-go, opencode-go-2]显示悬浮窗的 provider 名单
providers.<id>.usageUrl设置推导(baseURL + /usage)或官方默认该路由的用量端点
providers.<id>.keyRef设置推导(apiKeyEnv)该路由的凭据引用(credentials seam / env)
limits$12/$30/$60套餐基础限额显示文本(三个周期)
modelCredits.<model>内置表(见「数据源」;未知模型 60模型月度使用额度(美元);限额 = 套餐限额 × credit/60

验证

以下命令中的 3080 为默认端口,实际端口以你的 dsh web 为准。

node --check lib/index.js && node --check lib/client.js
curl "http://127.0.0.1:3080/opencode-go-quota/api/usage?provider=opencode-go-2"     # visible:true + 该账号额度
curl "http://127.0.0.1:3080/opencode-go-quota/api/usage?provider=deepseek-official"  # visible:false
dsh --profile web --dump-config | grep opencode-go-quota                            # 注册行已挂载

结构

文件角色
lib/index.jshost 端:同源 API(读 key → 拉官方端点 → 按 provider 归一化返回)
lib/client.jsclient 端 bundle:shell.overlay 槽位注入图标按钮 + 弹窗(手写 window.__ModuleLoader__.load 格式,免构建);拖动、按选中模型显隐
cordis.patch.yml空 patch(注册统一走 profile 层,避免重启后 duplicate loader entry id)
index.js兼容转发 shim,仅开发热更场景用,不随 npm 包发布(新进程直接按 main 加载 lib/index.js)

支持与分享

觉得好用的话,求个 ⭐ 支持一下,也欢迎分享给需要的朋友:

DSH 插件推荐:OpenCode Go 额度悬浮窗 —— 右下角可拖动的图标按钮,随时查看 5 小时/每周/每月额度,多账号自动对应,仅选中 opencode go 模型时显示。GitHub:https://github.com/haipisao/dsh-plugin-opencode-go-quota

致谢

💡 互推:以上参考项目都很优秀,觉得有用也请顺手 ⭐ 支持一下。

License

MIT

Project files and signals

Shown items are public repository signals detected in the directory snapshot.

DocumentationDetected

Repository information

Language
JavaScript
License
MIT
Latest release
v0.1.3
Last updated
Aug 17, 2026, 2:45 AM

Install deliberately

Review source code, permissions, lifecycle hooks, dependencies and network access. Test untrusted plugins in an isolated environment.