dsh-opencode-go-sub:为 DeepSeek Harness 注入 OpenCode Go 订阅与 Zen 模型目录

前言

DeepSeek Harness(DSH)通过插件扩展模型支持。OpenCode Go 和 Zen 模型通常需要特定的 provider 路由。本插件注册 opencode-go(订阅)和 opencode-zen(免费)路由,使 DSH 模型选择器看起来像官方客户端。

核心功能

  1. 注册路由:注册 opencode-go(订阅)与 opencode-zen(免费)两个 provider 路由。
  2. 动态模型列表:实时拉取公开端点 https://opencode.ai/zen/go/v1/models,自动同步新增/下架模型;端点不可达时回退到内置快照。
  3. 零配置密钥:自动从 DeepSeek Harness 自身发现订阅 key,支持环境变量、凭证文件、key pool 三种方式。
  4. 错误原样透出:将网关返回的原文(如 403 错误)显示在 GUI 里。
  5. 接口适配:实现新版 DSH 适配器接口(prepareCall),兼容 dsh-llm 0.1.0-rc.6 ~ 0.1.1-rc.x。

安装与启用

在终端执行以下命令安装插件:

dsh plugin --profile web add github:Yuanloss/dsh-opencode-go-sub

安装完成后,重启 dsh web。模型选择器会出现两个分组:OpenCode Go(订阅) 与 OpenCode Zen(免费)。

密钥配置

插件支持三种密钥来源,优先级从高到低为:环境变量 > ~/.dsh/.credentials.yaml > key pool。

推荐在 DSH 凭证界面输入一次 API key。DSH 会将凭证写入 ~/.dsh/.credentials.yaml,插件启动时读取该文件。若使用环境变量,需在重启 dsh web 前设置 OPENCODE_GO_API_KEY。

若使用 key pool,需在 pool-config.json 的 pools.opencode-go 下配置 keys。

重要注意事项

  1. 避免手动添加同名 Provider:不要手动添加名为 opencode-go 的自定义提供商模型 provider。插件内部已注册该路由,手动添加会触发 DUPLICATE_ADAPTER 冲突。
  2. 检查内置冲突:DSH 内置的 pi-ai 自带 opencode-go provider。若在 Models 设置页启用了它,会导致整批注册失败。请删除同名 provider(或删除 settings.yaml 中 llm-pi-ai.providers.opencode-go 整段)。
  3. 会话头处理:网关要求每个推理请求带稳定的 per-conversation id(x-opencode-session 头)。插件会自动读取 DSH agent-loop 注入的会话 id 并发送,无需手动配置。
  4. 图片附件:当前版本暂不转发图片附件,image block 会被忽略。
  5. 区域限制:中国大陆区域访问 GPT / Grok 系列会 403;DeepSeek 新版需在 opencode.ai 控制台开启 “Enable models hosted in China”。

已知限制

  1. gpt-5.6-luna / grok-4.5:这两个模型走 Responses API。在中国大陆区域会被上游拒绝(403),需要系统级 TUN 模式(浏览器级代理对 dsh web 进程无效)。
  2. qwen3.7-max:上游走 Anthropic /messages 方言。当前版本经 chat/completions 调用可能失败,建议使用 qwen3.8-max 或 qwen3.7-plus。
  3. DSH 版本兼容:适配器契约已在 dsh-llm 0.1.0-rc.6 ~ 0.1.1-rc.x 下兼容。

总结

该插件通过注册特定路由和自动密钥发现,解决了在 DSH 中管理 OpenCode Go 和 Zen 模型的繁琐问题。安装后,DSH 将具备与 opencode 官方客户端一致的模型目录展示能力,同时支持自动处理会话头等细节。

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

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

小夜