a42null/dsh-opencode-zen-plugin:DeepSeek Harness 的 OpenCode Zen 模型适配插件

DeepSeek Harness (DSH) 的核心理念是「一切皆插件」。OpenCode Console (Zen) 提供了独立的模型目录和 API 通道,但 DSH 原生并不直接支持。a42null/dsh-opencode-zen-plugin 插件的作用,就是将 OpenCode Console 的模型接入 DSH 的调用链,使其成为 DSH 的一个标准提供者。

该插件由 A42Null 维护,遵循 MIT 许可证。

核心功能

插件在运行时会自动完成模型目录获取、协议适配和元数据同步,开发者无需手动配置模型列表或端点。

  • 零配置模型目录:启动和定时器(默认 300 秒)时,插件会从 OpenCode 的公开接口获取模型列表并同步到 DSH 的选择器中。
  • 自动端点路由:根据模型名称前缀自动映射到不同的 API 协议:
    • gpt-*、grok-*、muse-spark*:映射到 OpenAI Responses API (/zen/v1/responses)
    • claude-* 以及特定 qwen 模型(如 qwen3.8-flash、qwen3.7-max 等):映射到 Anthropic Messages (/zen/v1/messages)
    • gemini-*:映射到 Google GenerateContent (/zen/v1/models/<id>:streamGenerateContent?alt=sse)
    • deepseek、glm、minimax、kimi、qwen3.8-max、big-pickle 等:映射到 OpenAI 兼容接口 (/zen/v1/chat/completions)
  • 元数据同步:从 models.dev 获取上下文窗口、输出预算和推理等级信息,并使用 7 天磁盘缓存(存储路径 ~/.opencode-zen/models.dev.json)。
  • 错误提示优化:针对资金不足(402)、权限限制(403)以及免费层级限制,提供具体的错误代码和解决建议,而不是笼统的「无效 API Key」。
  • 推理透传:支持 off / minimal / low / medium / high / xhigh / max 等推理等级,并将其透传至各协议的原生字段。
  • 流式协议支持:完整支持 Harness 流协议,包括流式文本、推理内容、工具调用、使用统计和停止原因映射。
  • 工具调用与图像输入:支持 Vision 模型接受图片附件。
  • 流监控:包含超时保护机制,首字节 120 秒或空闲 300 秒后中止请求,防止挂起。

安装与启用

推荐使用 DSH 的包管理器直接安装,无需配置 Git 仓库。

dsh plugin add @a42null/dsh-opencode-zen-plugin

安装完成后,需要重启 DSH 或重新加载插件,以便注册 opencode-zen 提供者。

配置

在 DSH 界面中,进入 Settings → Plugins → OpenCode Zen → Configure。

配置项 说明 默认值
apiKey OpenCode Console API Key(必需) 空
baseUrl OpenCode Zen 网关基础 URL https://opencode.ai/zen
includeFreeModels 是否包含免费模型(*-free) false
refreshSeconds 模型目录自动刷新间隔(秒) 300

保存设置后立即生效,无需重启 DSH。如果未配置 Key,模型列表仍可见(未认证),但调用时会返回明确的鉴权错误。

使用说明

  1. 配置 Key:在上述配置界面填入 OpenCode Console 的 API Key。
  2. 选择模型:在 DSH 的对话界面模型选择器中,会出现 opencode-zen 提供者的模型列表。
  3. 调用:选择模型进行对话。插件会自动根据模型类型切换底层协议,处理流式输出和工具调用。

注意事项

  • 免费模型限制:*-free 模型在 OpenCode 客户端内运行,通过 Console API 调用会返回 403 错误,因此默认隐藏。如需使用,需在设置中开启 includeFreeModels,但通常无法在 DSH 中正常工作。
  • SystemOne 模型:jev-* 系列模型被跳过,因为它们不具备聊天能力。
  • 付费模型:调用付费模型仍需确保 Console 账户资金充足。
  • 环境变量:API Key 也可以通过环境变量 OPENCODE_ZEN_API_KEY 传入,但设置面板中的 Key 优先级更高。

总结

该插件通过自动路由和元数据同步,解决了 DSH 用户想要使用 OpenCode Zen 模型的集成问题。它不仅支持标准的对话功能,还完整透传了推理参数和流式协议,适合需要在 DSH 环境中复用 OpenCode 模型的开发者。

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

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

Xiaoye