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,模型列表仍可见(未认证),但调用时会返回明确的鉴权错误。
使用说明¶
- 配置 Key:在上述配置界面填入 OpenCode Console 的 API Key。
- 选择模型:在 DSH 的对话界面模型选择器中,会出现
opencode-zen提供者的模型列表。 - 调用:选择模型进行对话。插件会自动根据模型类型切换底层协议,处理流式输出和工具调用。
注意事项¶
- 免费模型限制:
*-free模型在 OpenCode 客户端内运行,通过 Console API 调用会返回 403 错误,因此默认隐藏。如需使用,需在设置中开启includeFreeModels,但通常无法在 DSH 中正常工作。 - SystemOne 模型:
jev-*系列模型被跳过,因为它们不具备聊天能力。 - 付费模型:调用付费模型仍需确保 Console 账户资金充足。
- 环境变量:API Key 也可以通过环境变量
OPENCODE_ZEN_API_KEY传入,但设置面板中的 Key 优先级更高。
总结¶
该插件通过自动路由和元数据同步,解决了 DSH 用户想要使用 OpenCode Zen 模型的集成问题。它不仅支持标准的对话功能,还完整透传了推理参数和流式协议,适合需要在 DSH 环境中复用 OpenCode 模型的开发者。