dsh-providers-live-models:为 DSH 接入 OpenCode、Codex 与 OpenDesign 实时模型目录

前言

在 DeepSeek Harness(DSH)里接第三方模型,常见做法是手写 provider 配置、自己维护模型列表,上游一改名或增删型号就要改配置。OpenCode Go/Zen、ChatGPT 订阅里的 Codex、以及 OpenDesign 等路线,各自还有登录方式、额度查询和网关头差异。维护者 Luca4Don3 的 dsh-providers-live-models 面向「模型推理」场景:在运行时刷新各路线的模型目录,提供逐模型开关、登录与订阅/额度展示,并保留 OpenCode 网关头与长上下文 prompt-cache 行为;目录数据不打包进插件,上游变更无需为此仓库发版。

下面介绍插件定位、路线与能力、安装配置和典型用法,事实以 GitHub 仓库 README 为准。

这是什么

dsh-providers-live-models 是 DSH 社区插件(目录页:skillhub.cn),为 Harness 提供多条「实时模型目录」路由,覆盖 OpenCode Go、OpenCode Zen、原生 OpenAI Codex 与 OpenDesign(prerelease)。插件在运行时刷新目录,增加按模型启停、各平台登录与订阅/额度查询;另含 compaction recovery:长历史按容量分批摘要,失败或取消时保留原始历史。

当前 package 版本为 0.12.0-rc.31,许可证 MIT。要求 DSH 0.1.5-rc.1 或更新;OpenDesign 另需 DSH 0.2.1-rc.2 且 pi-ai 1.1.0,版本不匹配时仅禁用 OpenDesign 路线。

支持的路线

README 用下表归纳各 route 的目录来源、凭证与额度含义:

Route 目录 登录 / 凭证 额度
opencode-go Pi + 实时 Go 名单 OPENCODE_GO_API_KEY Go quota
opencode(Zen) Pi + 实时 Zen 名单 API key 或 Console 设备登录 Zen balance
openai-codex Pi 公共目录 原生 ChatGPT OAuth OpenAI 订阅
opendesign(prerelease) 账户目录 API key 或设备授权 账户模式下的 quota 与 wallet

各路线目录约每五分钟刷新一次;端点、间隔与缓存年龄在源码中固定,网关 base URL 亦固定,避免远程目录重定向请求。

核心功能

实时目录与模型开关

在 DSH 插件界面 Model display(模型展示) 中可按模型开关,保存选择后生效。缺少完整描述或不支持协议的模型会被上报并跳过,不会猜测补全。

登录与额度

  • Codex 使用原生 OAuth;Go、Zen 通过环境变量中的 key 引用(见配置项)。
  • 在 Plugins → dsh-providers-live-models 可登录 ChatGPT、OpenCode Console 或 OpenDesign。
  • Settings → Account & balance 查看用量;Refresh usage 强制查询,卡片在重启后仍缓存,freshMs 默认五分钟。

所有登录信息只写入插件自有凭证记录,不会覆盖模型 API key 或 Codex OAuth。

请求侧行为

插件会做两类请求改写:保留 OpenCode session 头,以及 DeepSeek 长 prompt-cache 保留;显式请求或模型头优先。与 llm-pi-ai 内部实现耦合;DSH 升级若改动相关内部接口,会打警告并继续使用已安装的目录。

Compaction recovery

长对话历史在容量感知下分批摘要;摘要失败或用户取消时保留原历史。

安装与启用

DSH 社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系;插件以当前 DSH 进程权限运行,安装前建议自行查看源码与 MIT 许可证。使用 github: 安装规格时,主机需能访问 GitHub。

桌面端: Plugins → Add plugin,粘贴 github:Luca4Don3/dsh-providers-live-models,选择 Enable now,重启 DSH。

CLI:

dsh plugin --profile desktop add github:Luca4Don3/dsh-providers-live-models

配置

在 DSH 的 llm-pi-ai providers 中配置要使用的路线。Codex 走原生 OAuth;Go 与 Zen 使用下面 key 引用。

在 providers-live-models 条目上可设置:

config:
  freshMs: 300000
  timeoutMs: 15000
  goApiKeyRef: OPENCODE_GO_API_KEY
  zenApiKeyRef: OPENCODE_API_KEY
  openDesign:
    protocol: chat-completions # 或 responses
    stripTemperature: false

stripTemperature 仅用于拒绝 temperature 的 OpenDesign 网关。quotaSource 可取 auto、vela 或 control。

典型用法

  1. 在 llm-pi-ai providers 中配置实际使用的路线;Go、Zen 按上文 goApiKeyRef / zenApiKeyRef 指向环境变量。
  2. 打开 Plugins → dsh-providers-live-models,按需登录 ChatGPT、OpenCode Console 或 OpenDesign,在 Model display(模型展示) 中切换模型,再 Save selection。
  3. 在 Settings → Account & balance 查看额度;需要即时数据时点 Refresh usage。

更细的 OpenDesign、provider 契约、协议探测与目录注入说明见仓库 docs/(如 OpenDesign)。

适用场景与限制

适合: 已在 DSH 中使用或计划使用 OpenCode Go/Zen、ChatGPT Codex 订阅、OpenDesign 的开发者,希望模型列表跟上游同步、在 UI 里开关模型并查看订阅或余额,而不想每次上游改表就改本地静态配置。

需注意:

  • Zen 计费端点返回 403 表示端点拒绝访问,不一定表示 key 无权限;README 建议优先 Console 登录。
  • DSH 内置 pi-ai 0.87.1 时,OpenCode Go 路线无 Google transport,因此不可用 gemini-4-argon-contributor。
  • 目录刷新间隔、缓存与网关 URL 以插件源码为准,不可通过远程 catalog 重定向改请求目标。

开发侧可用 npm test 跑离线 fixture,无需网络与凭证;CI 使用 Node 18 与 24。

结尾

dsh-providers-live-models 把 OpenCode Go/Zen、OpenAI Codex 与 OpenDesign 的实时模型目录、逐模型开关、登录与额度查询收进一个 DSH 插件,并处理网关头与 prompt-cache 等与上游一致的细节。安装与配置以 README 为准。

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

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

小夜