dsh-opencode-go-quota-settings:在设置页查看 OpenCode GO 额度与模型目录

前言

在 DSH 里用 OpenCode GO 做模型路由时,除了能正常聊天,往往还需要随时看清三窗口额度还剩多少、官方目录里有哪些模型、以及网关和密钥是否配置一致。社区里已有在侧栏底部常驻 widget 的用法插件;若你更习惯把账户类信息收进 设置,且不想为额度单独再配一把 key,就需要一个入口与 Command Code、Codex 账户页同级、又不占用左侧栏的客户端插件。下面介绍维护者 zztdandan 发布的 dsh-opencode-go-quota-settings(当前 package 版本 0.7.2,MIT 许可证)。

这是什么

dsh-opencode-go-quota-settings 是 DSH 的 web 客户端插件:在 设置 → OpenCode GO 一页内展示 OpenCode GO 的三窗口额度、模型目录、密钥与连接参数;浏览器通过 同源代理 访问用量与模型接口,密钥由 host 端调用,不进前端。对话里还提供斜杠命令 /opencode-go-quota。

本仓库是 @astervolans/dsh-opencode-go-usage 的改造分支(上游又来自 yumusb/dsh-opencode-go-usage)。与上游 1.5.0 相比,入口从侧栏 widget 改为 settings.section;展示改为三张额度卡;密钥 复用 DSH opencode-go 模型路由 的解析顺序,并可在设置页内填写;额外读取 模型目录、密钥指纹与诊断快照;不注册任何侧栏槽位。

数据来源为官方接口:GET https://opencode.ai/zen/go/v1/usage 与 GET https://opencode.ai/zen/go/v1/models(网关地址可在页内配置,默认 https://opencode.ai/zen/go)。

核心功能

设置页:额度、模型、密钥、连接

  • 额度:5 小时 / 每周 / 每月三窗口,每张卡含剩余百分比、进度条、已用比例、重置倒计时、绝对时间与窗口占比;支持手动刷新与按间隔自动刷新。
  • 模型目录:来自 host 拉取的 /v1/models,展示上下文与输出上限、视觉/工具/推理能力、每 1M token 价格、峰时倍率等;可搜索、按能力筛选,逐个开关后保存到 llm-pi-ai 的 providers.<route>.models(模型选择器只显示已启用项);「恢复目录默认」可撤销限制。
  • API 密钥:与 设置 → 模型 → OpenCode Go 同源,不必为额度单独复制 key;页面可显示当前引用与来源、密钥指纹(不暴露明文);未绑定时可用 同步到模型设置 补配置。
  • 连接与刷新:网关地址、自动刷新间隔、额度缓存 TTL、是否注入 x-opencode-session、是否显示模型目录/诊断等,写入本插件 profile 后 热生效。

密钥解析顺序(与模型设置同源)

插件按下列顺序解析 key(资料原文顺序):

  1. llm-pi-ai 的 providers.opencode-go.apiKeyEnv(无 opencode-go 时也会参考 providers.opencode);
  2. llm-pi-ai 登录凭据 llm-pi-ai/opencode-go;
  3. 环境引用 OPENCODE_API_KEY;
  4. 兜底:本插件配置 apiKeyEnv(默认 OPENCODE_GO_API_KEY)。

在设置页保存密钥时,会写入模型路由使用的同一凭据引用;必要时补上 providers.opencode-go.apiKeyEnv,与模型页保存等效。

仍可用文件方式(与模型页同一凭据域):

# ~/.dsh/.credentials.yaml
OPENCODE_API_KEY: sk-...

路由与命令

与上游路径并存、不冲突,例如:

  • /dsh-opencode-go-quota-settings/usage
  • /dsh-opencode-go-quota-settings/models
  • /opencode-go-quota

DSH Go(手机 App)

插件通过 ctx.settings.configure({ auto: false }) 关闭自动生成表单,App 直接打开插件自带的 settings.section 整页(与 Command Code、Prime Memory 同一路径):额度、模型目录、密钥与连接参数同屏,窄屏单列布局。资料说明不在输入框上方占用状态条。

可配置项(插件 profile)

键 默认 说明
apiKeyEnv OPENCODE_GO_API_KEY 兜底凭据引用
baseUrl https://opencode.ai/zen/go GO 网关
cacheMs 30000 host 端额度缓存 TTL
refreshMs 60000 设置页自动刷新间隔(最小 15 秒)
modelsCacheMs 300000 模型目录缓存 TTL(最小 60 秒)
requestTimeoutMs 20000 /v1/usage、/v1/models 超时
injectSessionHeader true 是否为 GO 网关聊天注入 x-opencode-session
showModels true 是否显示模型目录卡片
showDiagnostics false 是否显示诊断卡片

开启诊断后,「复制诊断」输出不含密钥明文的 JSON,便于贴到 issue。

版本门禁:peerDependencies 为 @deepseek-ai/dsh >=0.1.7-rc.1 <0.3.0;README 记载在 DSH 0.2.1-rc.2 隔离 profile 中用真实 key 做过只读接口验证(2026-10-31)。

安装与启用

若曾安装侧栏版 OpenCode GO 用量插件,先移除,避免设置里出现两份 OpenCode GO:

dsh plugin --profile web remove @astervolans/dsh-opencode-go-usage
dsh plugin --profile web add dsh-opencode-go-quota-settings

未走 npm 分发时,也可从 GitHub 安装:

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

经过上面的步骤,重启 dsh web,并在浏览器 硬刷新。入口:设置 → OpenCode GO;对话中可用 /opencode-go-quota。

回滚:

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

典型用法

  1. 确认 设置 → 模型 → OpenCode Go 已能聊天,或在本插件 API 密钥 卡片粘贴 key 并保存。
  2. 打开 设置 → OpenCode GO,查看三窗口额度;需要时用页内「刷新」或调整 自动刷新 / 额度缓存。
  3. 在 模型目录 中搜索、筛选,启用/禁用模型后保存;用「测试连接」确认 /v1/models 可达。
  4. 排查问题时打开 显示诊断信息,用「复制诊断」导出 JSON(不含 key 明文)。

页内 连接与刷新 与 设置 → 插件 里该插件的配置表单是同一份数据。

适用场景与注意

适合:已在 DSH web(及资料所述的 dsh-go App 路径)使用 OpenCode GO,希望额度与模型管理集中在设置页、且密钥与模型路由一致的用户;不想侧栏再占一个 widget 时,本插件与上游侧栏版可二选一。

注意:

  • 插件在 当前 dsh 进程权限 下运行,安装前请自行查看 GitHub 仓库 源码与 MIT 许可证及 NOTICE 中的 fork 说明。
  • 关闭 注入 x-opencode-session 后,资料提示聊天可能被网关拒绝。
  • 社区插件目录 SkillHub 上的条目 为独立站点信息,与 DeepSeek / 幻方无官方从属关系;DSH 生态本身是「一切皆插件」的扩展方式。

结尾

dsh-opencode-go-quota-settings 把 OpenCode GO 的额度、模型目录、密钥与连接参数收进 设置 → OpenCode GO,同源代理保护 key,并与模型路由共用凭据;侧栏无入口,对话可用 /opencode-go-quota。

  • 目录页:https://www.skillhub.cn/plugins/zztdandan/dsh-opencode-go-quota-settings
  • GitHub:https://github.com/zztdandan/dsh-opencode-go-quota-settings
羽毛球分组比赛记分
小程序二维码

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

小夜