🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

免费模型通道 nicholas7242/opencode2dsh

DeepSeek Harness
nicholas724215 天前有提交已提供中文文档扫描:无法判定

免密钥接入 OpenCode Zen 免费模型,装好即聊

30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/17 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add nicholas7242/opencode2dsh
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:待复验
是什么
dsh 原生插件 · model
装得上吗
曾在 dsh 0.2.0-rc.2 下真实安装成功,但当前 dsh 已更新至 0.2.1-rc.5,本站尚未在新版下复验
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 15 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
⚪ 扫描:无法判定尚无人工评估
展开查看扫描说明与证据 ↓

已尝试扫描但取不到可分析的源码:仓库或包不存在、已删除,或为非 JS/TS 实现、未随包发布源码。无法判定,不代表安全。

  • · 取源不可用(Error: github tarball HTTP 404 @ https:
  • · api.github.com
  • · repos
  • · nicholas7242
  • · opencode2dsh
  • · tarball)
扫描于 2026/10/31(1 天前)

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

DSH 插件——为 DeepSeek Harness(DSH)提供 OpenCode Zen 免费模型。免费 LLM API,无需 API key。在 DSH 中使用 OpenCode Zen 免费模型,无需 API key

README

由 DeepSeek 最新模型翻译生成
opencode2dsh 免费使用 OpenCode Zen 模型,原生跑在 DSH(DeepSeek Harness)里。 不用 API key,不用注册,不用额外进程。 opencode2dsh 注册一个原生 DSH LlmAdapter,直接从 OpenCode Zen 的匿名免费通道流式拉取模型。OpenCode 自家命令行不登录时用的就是这些模型,现在它们以 opencode2dsh 这个服务商的身份出现在你的 DSH 模型选择器里。 请求离开你的机器时,看起来和 OpenCode 命令行的流量一模一样(同样的 user agent,同样的关联请求头),模型目录则靠三级回退链保持最新。不用登录,也不用自己托管任何东西。
展开完整文档(README 剩余 1 节)
opencode2dsh

免费使用 OpenCode Zen 模型,原生跑在 DSH(DeepSeek Harness)里。

不用 API key,不用注册,不用额外进程。

opencode2dsh 注册一个原生 DSH LlmAdapter,直接从 OpenCode Zen 的匿名免费通道流式拉取模型。OpenCode 自家命令行不登录时用的就是这些模型,现在它们以 opencode2dsh 这个服务商的身份出现在你的 DSH 模型选择器里。

请求离开你的机器时,看起来和 OpenCode 命令行的流量一模一样(同样的 user agent,同样的关联请求头),模型目录则靠三级回退链保持最新。不用登录,也不用自己托管任何东西。

亮点

- 零凭证,零配置 —— 匿名通道不需要 key;装好,重启,开聊
- 原生适配器,没有 sidecar —— 一个 npm 包,不起子进程,不带二进制,不占本地端口(旧的 Go sidecar 不在发布包里,见 legacy/)
- 和命令行同款伪装 —— 请求带上 OpenCode 命令行的 user agent,以及它那套 session/request/project 请求头,按会话逐个生成
- 可选思考等级 —— 支持推理的免费模型会在 DSH 模型选择器里给出 effort 选项(模型元数据提供了阶梯就用它声明的,否则用 Off/Minimal/Low/Medium/High);仅走 Responses 的 muse-spark- 模型只暴露上游支持的 effort 等级,不选就沿用服务商默认值
- 声明支持才收图片 —— 只要模型的 models.dev 条目在 modalities.input 里列了 image,就接受图片附件;只声明 text 的模型一律拒绝;models.dev 没写的话,回退到实测可用的视觉模型系列
- 实时目录带回退链 —— 上游实时列表 ∩ 元数据标记为免费的模型,失败则回退到离线缓存,再回退到实测过的静态列表
- 自愈 —— 启动快速重试,定期刷新,还会写一份健康快照供诊断
- 错误面清晰 —— 上游故障(限流、鉴权、超时、传输)在 DSH 里表现为分类好的结束原因,重试仍由 DSH 自己管

安装

从插件市场(推荐,前提是这个仓库已经上架):在 DSH 里打开 Settings → Plugin Market,搜索 opencode2dsh,一键安装。

从 npm:

dsh plugin --profile web add @opencode2dsh/dsh-plugin

从源码(自己构建 tarball):

git clone https://github.com/FishBottle7/opencode2dsh.git
cd opencode2dsh/packages/plugin
pnpm install && pnpm pack
dsh plugin --profile web add ./opencode2dsh-dsh-plugin-<version>.tgz

验证:重启 dsh web,打开模型选择器,从 opencode2dsh 分组里挑一个模型。

需要 DSH(DeepSeek Harness)0.1.7 或更新版本,并带 web 配置档(IP 池设置页依赖 0.1.7 的 Plugins 页契约);Node.js ≥ 20(DSH 能跑就说明已经有了);能对外发起 HTTPS 请求,访问 opencode.ai 和 models.dev。

配置

默认值开箱即用。要覆盖默认值,改配置档的 cordis.patch.yml: yaml
- id: opencode2dsh
name: '@opencode2dsh/dsh-plugin'
config:
mode: adapter # adapter (default) | sidecar
providerId: opencode2dsh
refreshSeconds: 300 # catalog refresh cadence

| 选项 | 默认值 | 说明 |
| mode | adapter | adapter:原生 LlmAdapter,直接从 Zen 流式输出。sidecar:旧的本地智能体模式,不随包提供——从 legacy/agent 构建智能体,再传 agentPath。 |
| providerId | opencode2dsh | DSH 里显示的服务商名称。 |
| refreshSeconds | 300 | 实时目录刷新间隔。定价元数据每 24 小时刷新一次。 |
| agentPath | 自动解析 | 仅 sidecar:智能体二进制的路径。 |
| agentArgs | — | 仅 sidecar:传给智能体的额外命令行参数。 |
| restartDelayMs / restartMaxDelayMs / maxConsecutiveCrashes | 1000 / 60000 / 5 | 仅 sidecar:重启退避与熔断。 |
| firstEventMs / bodyIdleMs / responsesBodyIdleMs | 30000 / 120000 / 300000 | 仅 adapter,插件 0.3.7+:流存活看门狗,单位毫秒(整数,1 到 600000)。分别是首个流事件的等待时间、响应中途 body 静默时间、Responses 模型(muse-spark-)的 body 空闲下限。冷启动慢就调大 firstEventMs。不设置则用默认值;改完重启 DSH。 |

工作原理

DSH session
│ harness chunks (block-start / text-delta / usage / finish …)
▼
ZenAdapter (registered LlmAdapter)
│ pi-ai openai-completions stream (chat models)
│ pi-ai openai-responses stream (muse-spark-, Responses-only on Zen)
▼
https://opencode.ai/zen/v1 ← Authorization: Bearer public
with CLI-identical headers:
user-agent: opencode/…
x-opencode-client, x-opencode-session, x-session-affinity,
X-Session-Id, x-opencode-request, x-opencode-project

- 会话关联——会话 id 和项目 id 由对话第一条用户消息经 SHA-256 派生(同一对话内稳定,不可逆),每个请求再生成一个全新随机 id,与命令行行为一致。
- 目录回退链——S1:实时 GET /v1/models;S2:由 models.dev 定价元数据判定「免费」;S3:编译期校验过的静态列表。磁盘缓存(约 7 天 TTL)兜住上游故障。
- 容错——adapter 启动时立即注册;如果首个目录拉取会和你的网络抢跑(VPN/TUN 重连、DNS),插件会以较短节奏(约 1 分钟)重试,之后才进入周期性刷新。
- Sidecar 模式(mode: sidecar,旧版)—— 在 127.0.0.1:<random> 上拉起本地 Go 智能体(opencode2api 的单租户移植版),带 token 鉴权,并注册标准 llm-pi-ai 路由。不在已发布的包内;从 legacy/agent 构建(go build ./cmd/agent),再把 agentPath 指向该二进制文件。

健康检查与故障排查

每轮刷新后,插件会写一份健康快照:

~/.opencode2dsh/adapter-status.json
json
{
"status": "ready",
"total": 64,
"exposed": 9,
"lastError": "",
"writtenAt": "2026-08-29T07:01:54.915Z"
}

| 症状 | 可能原因与修复 |
| 403 FreeTierError / "OpenCode's free tier can only be used from within OpenCode" | 上游限制了免费层客户端。插件会保留这段说明,而不是报成 API key 无效。请改用受支持的 OpenCode 客户端,或官方 API 服务。 |
| 启动界面显示 Failed to load plugins … list slot "plugins.item" requires options.id,或 IP 池条目没有配置页 | 你的 DSH 早于 0.1.7 的 Plugins 页契约。把 DSH 升级到 0.1.7(推荐最新版)。在 0.1.6 及更早版本上,该页面根本不会挂载(它受 configForms.whileServed 控制)—— 模型路由不受影响。 |
| 安装插件后 DSH 0.1.7/0.2 无法启动(pending … settingsScope) | 把插件升级到 0.3.5。在 DSH 0.2 上,通过 Plugins 页里已安装的 opencode2dsh 行配置 IP 池。 |
| 只有 3 个模型 | 启动拉取和你的网络抢跑了;重试会在约 1 分钟内补上。查看 adapter-status.json 里的 lastError。 |
| lastError: "fetch failed" 持续存在 | 到 opencode.ai 的出站 HTTPS 被拦截;检查代理/VPN 规则。 |
| 聊天里出现限流错误(429 … Endpoint is unavailable) | 匿名通道按 IP 计配额,免费模型竞争激烈。自 #51 修复后,插件的服务商重试策略会静默扛过 429 突发(8 次重试,约 1s→20s 退避,每步最坏约 90s),不再把它们抛出来;如果竞争仍然占上风,就降低推理强度、换一个竞争没那么激烈的 -free 模型,或在插件设置页启用 IP 池(多出口轮换)。 |
| 推理后达到输出上限,却没有答案 | 插件 0.3.6 会在模型支持时关闭思考重试一次。只要出现任何答案文本或工具调用事件,就不会重放。重试保留原始输出上限,仍可能失败;两次请求的用量都会计入。不支持关闭思考的模型(包括 Muse)需要手动改设置或换模型。 |
| Muse 报 REGION_BLOCKED /「This model is not available in your country」 | Zen 已拒绝当前网络区域使用该模型。插件 0.3.5 保留这条说明;旧版本把同一个 403 误标成 API key 无效。匿名通道不需要个人 key。请改用你所在区域可用的模型。 |
| 连接 127.0.0.1: 报错 | 残留的 sidecar 路由遮蔽了适配器;插件 ≥ 0.2.1 会在启动时清掉它。 |
| 安装失败,报 ERR_PNPM_IGNORED_BUILDS | pi-ai 的传递依赖(@google/genai、protobufjs)带有构建脚本,但运行时并不需要。在插件市场里批准或拒绝它们,或者在配置档的 pnpm-workspace.yaml 中把 allowBuilds: 下的这两项都设为 false。 |

安全

- 不涉及任何密钥:匿名通道的 key 就是字面字符串 public;不存储任何东西,也不上报遥测。
- 安装路径只限 lib/;依赖不会执行任何构建脚本。
- 所有请求都从你的机器直接发往 opencode.ai / models.dev。

开发 sh
git clone https://github.com/FishBottle7/opencode2dsh.git
cd opencode2dsh/packages/plugin
pnpm install
pnpm typecheck && pnpm test
pnpm build # bundle to lib/

旧的 Go sidecar 放在 legacy/agent(go test ./...)。架构说明和移植记录放在 docs/。

发布:在 packages/plugin 里执行 pnpm pack(prepack 会构建并同步文档)。

致谢

- opencode2api,作者 @jasonxu114514 —— legacy/agent 里的旧 Go sidecar 移植自它的匿名通道实现,目录回退链和请求伪装细节也源自它。
本项目站在它的肩膀上。
- OpenCode —— 提供免费匿名 Zen 通道。
- @earendil-works/pi-ai —— 适配器模式使用的通信层。
- DeepSeek Harness 以及 dsh-market 社区。

友链

LinuxDo — 新的理想型社区 / a new ideal community

许可证

MIT © FishBottle7
预览分享卡片长什么样 ↓nicholas7242/opencode2dsh
分享 · DeepSeek Harness Hub
nicholas7242/opencode2dsh

免密钥接入 OpenCode Zen 免费模型,装好即聊

回到顶部