前言¶
DeepSeek Harness(DSH)支持通过插件扩展模型推理能力。开发者在使用免费模型时,常遇到服务端门禁问题:OpenCode Zen 的免费模型直接请求会被 403 拒绝,必须通过真实的 OpenCode 进程发起请求。本插件通过在隔离环境中运行官方 OpenCode 二进制,并提供 OpenAI 兼容端点,解决了这一直连问题。
这是什么¶
本插件将 OpenCode 的免费模型(big-pickle、LongCat、MiMo、Nemotron、Space Bunny 等)接入 DSH 的模型选择器。这些模型以 opencode-xdbridge 分组显示。同时,它在设置 → OpenCode-XD 中提供了一个可视化的交互面板。
核心功能¶
- 连接模型:将 OpenCode 免费模型接入 DSH 模型选择器。
- 可视化面板:在设置 → OpenCode-XD 提供状态监控和交互入口。
- 运行时管理:下载并运行官方 OpenCode 二进制,支持自动下载、断点续传和完整性校验。
- 端点转换:提供本地 OpenAI 兼容端点转换。
- 状态监控:提供状态指标和模型详情面板。
- 安全隔离:本地动作零执行(权限拦截),隔离运行时环境。
- 可用性检测:支持模型可用性检测,分为不稳定(超时/限流)和不可用(鉴权/额度)。
- 自动压缩:上下文长度自动压缩,防止无效请求。
安装与启用¶
- 确保环境满足依赖:需要 Node.js (>=22.19.0 或 >=24.0.0) 和 DSH (>=0.1.1-rc.1),以及
@deepseek-ai/cordis、@deepseek-ai/dsh-llm等依赖。 - 执行安装命令:
dsh plugin --profile <profile> add dsh-opencode-xdbridge
- 重启 DSH。
典型用法¶
- 使用模型:重启后,在模型选择器中找到
opencode-xdbridge分组,直接选择模型进行对话。 - 管理面板:在设置 → OpenCode-XD 中打开交互面板,查看服务状态、模型列表和详情。
- 配置路径:在
settings.yaml中配置dataDir、binaryPath或runtimeVersion,或使用环境变量OPENCODE_BINARY_PATH指定运行时路径。
适用场景与注意¶
- 权限要求:运行时需要
{'*':'ask'}权限,插件会在本地拒绝所有审批请求,仅允许转发给 DSH。 - 上下文处理:插件不会直接报告模型的原始窗口,而是报告一个可用预算:
(声明窗口 - 输出预留) * (1 - 15% 安全余量)。这有助于 DSH 提前触发压缩,避免因窗口过大导致的无效请求。 - 下载与缓存:首次启动约下载 57 MB 运行时(缓存),支持断点续传。
- 失败分类:检测失败分为“不稳定”(超时/限流,保留在列表中)和“不可用”(鉴权/额度,移除),避免因偶尔的超时误删可用模型。
结尾¶
该插件通过桥接官方运行时,让 DSH 用户能够访问 OpenCode 免费模型,并提供了一套可视化的管理工具。完整的源代码和文档位于 GitHub。