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

OpenCode 免费模型 UweLombardo0343/opencode2dsh

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

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

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

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

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

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么
dsh 原生插件 · model
装得上吗
实装验证未通过(unknown),装前请到仓库确认最近更新与 issue
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 14 天前
档位由哪些信号合成

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

验证判据与等级说明 →
⚠︎ 实装验证未通过(unknown · 2026/10/18) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
⚪ 扫描:无法判定尚无人工评估
展开查看扫描说明与证据 ↓

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

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

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

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

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

README

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

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

不用 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 条目里把 image 列进 modalities.input,就接受图片附件;只声明 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)。分别是首个流事件的等待时间、响应中途正文静默时间、Responses 模型(muse-spark-)的正文空闲下限。冷启动慢就调大 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
预览分享卡片长什么样 ↓UweLombardo0343/opencode2dsh
分享 · DeepSeek Harness Hub
UweLombardo0343/opencode2dsh

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

回到顶部