dsh-opencode-xdbridge
Run OpenCode Zen's free models inside DeepSeek Harness through a managed, isolated OpenCode runtime.
一句话定位
Run OpenCode Zen's free models inside DeepSeek Harness through a managed, isolated OpenCode runtime.
安装方式
在 DSH 的 web profile 中执行下面的命令;装完刷新页面即可。
$ dsh plugin --profile web add dsh-opencode-xdbridge@0.1.0
兼容的 DSH 版本
>=0.1.1-rc.1 <0.2.0
作者与热度
XDTrees · ★ 16 · 更新于 2026-10-09
关于这个插件
DSH OpenCode XD Bridge
在 DeepSeek Harness 里使用 OpenCode Zen 的免费模型。
这是什么
把 [OpenCode](https://opencode.ai/) 的免费模型(big-pickle、LongCat、MiMo、Nemotron、Space Bunny 等)接进 DSH 的模型选择器,作为 opencode-xdbridge 分组使用,并在设置 → OpenCode-XD 里提供一个可视化的交互入口。
为什么必须这么做
OpenCode Zen 的免费模型有一个服务端门禁:
FreeTierError: OpenCode's free tier can only be used from within OpenCode
实测(2026-09-29)确认:
- 直连不行:
https://opencode.ai/zen/v1/chat/completions直接请求返回 403。 - 改 User-Agent 不行:试过
opencode、opencode/1.18.33、Bun/1.2.0等 9 种写法,全部 403。判据不是 UA。 - 必须跑真正的 OpenCode 进程:本机启动真实
opencode serve后,同一批免费模型立刻可用。 - 权限策略是关键:agent 的
permission必须是{'':'ask'};改成{'':'deny'}或tools: {'*':false}会立刻变回 403。
所以本插件不自造协议技巧,而是:下载官方 OpenCode 二进制 → 在隔离环境里跑起来 → 在本地转成 OpenAI 兼容端点 → 注册给 DSH。
> 权限必须是 ask 意味着"每个本地操作都要审批"。插件在本地把所有审批请求全部拒绝,所以运行时看起来像正常 OpenCode 会话(门禁放行),但本地一个动作都不会执行。真正执行的是 DSH。
安装
从 npm(推荐,最省事):
dsh plugin --profile add dsh-opencode-xdbridge
从 GitHub 源码:
dsh plugin --profile add github:XDTrees/dsh-opencode-xdbridge
或者手动链接(开发用):
# 1. 链接插件到 profile New-Item -ItemType Junction -Path "$env:USERPROFILE\.dsh\profiles\desktop\node_modules\dsh-opencode-xdbridge" ` -Target "D:\DSH\dsh-opencode-xdbridge" # 2. 在 profile package.json 的 dsh.profile.bundles 里追加 "dsh-opencode-xdbridge" # 3. 重启 DSH Desktop
首次启动会下载约 57 MB 的官方 OpenCode 运行时(只下载一次,缓存在数据目录)。
关于这次下载
下载的是 OpenCode 官方二进制(opencode-windows-x64 这个 npm 包,57.4 MB)。它必须存在,因为免费模型的门禁只认真实 OpenCode 进程发出的请求——插件自身只有 71 KB,不含模型代码。
下载被设计成不会失败,只会慢:
- 断点续传:已下载的部分会保留,中断后重启从断点继续,而不是从头再来。
- 30 分钟总预算:不再有单次请求的 5 分钟硬超时。
- 多源:优先 npm 官方 registry,取不到或太慢时自动改用本仓库 GitHub Release 上的同名包。
- 完整性校验:下载后比对 npm registry 发布的 sha512,不一致就丢弃重来——所以任何来源(包括镜像)都不可能让不同的代码被执行。
如果确实很慢,可以自己下载一次并指给它,插件会直接复制而不联网:
# 方式一:把已装好的 opencode 指给它 set OPENCODE_BINARY_PATH=C:\path\to\opencode.exe # 方式二:指定一个下载源 set OPENCODE_XDBRIDGE_RUNTIME_URL=https://your-mirror/opencode-windows-x64-1.18.33.tgz
使用
重启后:
1. 模型选择器里会出现 OpenCode 免费模型 分组(provider 为 opencode-xdbridge),直接选即可。
2. 设置 → OpenCode-XD 是插件的交互面板(布局参考 OW Bridge 控制面板)。
可用的模型随上游变化,插件每次启动都会重新读取。
交互面板
设置页里这张卡片就是插件的控制台:
| 区域 | 作用 |
| --- | --- |
| 服务状态 | 状态点 + 一行当前状态(启动中 / 运行中 / 错误 / 重启中),错误时直接给「重试」 |
| 指标条 | 已发现 / 可用 / 待检测 / 不可用 四个计数 |
| 运行时信息 | OpenCode 版本、本地端点、数据目录 |
| 模型目录 | 每个模型一行:名称、推荐用途、能力徽章(推理 / 图片)、状态徽章、最近响应耗时 |
| 详情 | 点任意一行展开:推荐用途、上下文与输出上限、图片与工具能力、推理档位、最近一次调用的动作数 / 被拦截的本地尝试 / 转交的外部工具 |
| 操作 | 读取模型(重新向上游取清单)、检测全部(逐个发真实请求验证)、重启运行时 |
同分类对比
同一分类下 Star 最高的 5 个,便于横向比较。
| 插件 | 作者 | Star | 版本 | 更新 |
|---|---|---|---|---|
| dsh-our-free-model | Ebony-Vinyl | 68K | 2.1.0 | 2026-11-10 |
| next-ai-draw-io | DayuanJiang | 36.9K | 0.4.10 | 2026-11-09 |
| MemOS | MemTensor | 12.3K | 0.0.0 | 2026-11-09 |
| bisheng | dataelement | 12.2K | 0.0.0 | 2026-11-10 |
| webnovel-writer | lingfengQAQ | 7.9K | 0.0.0 | 2026-11-07 |