前言¶
在 DeepSeek Harness(DSH)里做对话或智能体开发,模型来源通常依赖自建 API、付费通道,或各自维护的 provider 插件。若你只想在本地 Harness 里试用 OpenCode Zen 提供的免费模型,又不想单独注册账号、填 API key、或再起一个代理进程,就需要一个把 Zen 免费通道「注册成 DSH 原生 provider」的适配层。
下面介绍社区插件 dsh-zen-adapter(维护者 seonzzy),它把 Zen 免费模型以 provider id zen-free 接入 DSH,并支持从上游实时发现模型目录。
这是什么¶
dsh-zen-adapter 是 DSH 的「模型推理」类插件:将 OpenCode Zen 的免费模型注册为 DSH 原生 LLM provider,无需注册、无需 API key、无需额外进程。简介与仓库说明一致:OpenCode Zen free models for DeepSeek Harness, with live catalog discovery and no dependencies.
- 目录页:https://www.skillhub.cn/plugins/seonzzy/dsh-zen-adapter
- 源码与文档:https://github.com/seonzzy/dsh-zen-adapter
- 当前 package 版本:0.2.0,许可:MIT
DSH 生态强调「一切皆插件」;SkillHub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。安装插件前,建议自行阅读仓库源码与许可证——插件在当前 DSH 进程权限下运行。
核心功能¶
零配置与零依赖¶
装上插件、重启 DSH 后,即可在模型选择器中看到 OpenCode Zen (free lane) 分组。插件 dependencies 为空;@deepseek-ai/* 与 @earendil-works/pi-ai 仅作为 optional 的 peerDependencies,运行时复用 DSH 宿主自带的 pi-ai,避免机器上出现两份 pi-ai 导致与其他 provider 插件(例如会校验 pi-ai 世代的插件)冲突。
动态模型目录与免费判定¶
模型列表不是写死在插件里的,而是启动时后台拉取,之后每 30 分钟 自动刷新。目录来自两个上游源的交集:
| 源 | 提供 | 不提供 |
|---|---|---|
opencode.ai/inference/v1/models |
当前在售的模型 id | 价格、上下文 |
models.dev/api.json |
cost、limit.context、limit.output |
是否在售 |
免费判定以 models.dev 的 cost 为准(input 与 output 均为 0)。仅当 metadata 缺失时,才退回看 id 是否带 -free 后缀。上下文与输出上限同样来自 models.dev。
缓存写在 ~/.cache/dsh-zen-adapter/catalog.db;在售列表缓存约 5 分钟,models.dev 元数据约 24 小时。可通过环境变量 ZEN_CACHE_DIR 更换缓存目录;删除该目录可清空缓存。
可用性检测与插件面板¶
「目录里有」不等于「当前机器能调通」。免费通道受上游端点、地区与按 IP 计的配额影响。在 设置 → 插件 → dsh-zen-adapter 页面可:
| 按钮 | 作用 |
|---|---|
| 获取模型 | 从上游重新拉取目录(绕过缓存) |
| 检测可用性 | 逐个真实请求,标记哪些模型当前可用 |
表格展示模型名、上下文大小、输出上限、可用状态与判定依据。
安装与启用¶
前提:DSH 需带 llm.registerAdapter 与 webServer 的版本;Node ≥ 20(由 DSH 提供);网络能访问 opencode.ai 与 models.dev。不需要单独安装 pi-ai、API key 或 npm/pnpm 依赖。
官方安装命令如下(将 <你的 profile> 换成实际 profile 名):
dsh plugin --profile <你的 profile> add github:seonzzy/dsh-zen-adapter
也可从本地目录安装:
dsh plugin --profile <你的 profile> add <本目录绝对路径>
安装完成后重启 DSH,在对话输入框的模型选择器中选择 OpenCode Zen (free lane) 下的模型即可。
卸载:
dsh plugin --profile <你的 profile> remove dsh-zen-adapter
然后重启 DSH。
典型用法¶
- 按上文命令安装并重启 DSH。
- 在模型选择器里选 OpenCode Zen (free lane) 中任一模型开始对话。
- 新环境或模型列表异常时,打开插件详情页,先点 获取模型,再点 检测可用性,根据表格选择当前可用的条目。
插件本身没有必填配置项。若需改 provider id、目录拉取前的占位模型或 30 分钟刷新间隔,需编辑 lib/index.js 顶部常量(如 PROVIDER_ID、SEED_MODELS、refreshTimer),属于进阶改动。
适用场景与注意¶
适合谁: 已在用 DSH、希望零 key 试用 OpenCode Zen 免费模型、且希望模型列表随上游更新而不必等插件发版的开发者。
上游限制(插件无法修复):
| 现象 | 原因 | 建议 |
|---|---|---|
429 |
配额用尽或请求过密 | 稍后重试或换网络 |
403 RegionError |
模型不对所在地区开放 | 换其他模型 |
5xx / 400 |
上游暂时故障 | 换模型或稍后再试 |
| 选择器里没有某模型 | 尚未被判定为免费 | 点「获取模型」刷新 |
安装前请阅读 https://github.com/seonzzy/dsh-zen-adapter 源码与 MIT 许可,确认接受插件在 DSH 进程内的行为与网络访问范围。
结尾¶
dsh-zen-adapter 把 OpenCode Zen 免费模型以原生 provider zen-free 接入 DSH,强调零依赖共存、双源动态目录与面板侧的可用性检测。需要入口时可访问 SkillHub 目录页 https://www.skillhub.cn/plugins/seonzzy/dsh-zen-adapter,细节以 GitHub 仓库 https://github.com/seonzzy/dsh-zen-adapter 为准。