opencodezen4dsh:DeepSeek Harness 的免费 OpenCode Zen 模型

前言

DeepSeek Harness (DSH) 采用“一切皆插件”的理念。在使用开源模型时,配置 API Key 或维护本地进程(Sidecar)通常比较繁琐。opencodezen4dsh 插件通过原生 DSH 适配器,直接对接 OpenCode Zen 的免费通道,省去了注册与鉴权步骤,并在会话日志处理和思考级别上做了改进。

插件介绍

这是一个维护 fork 项目,基于 FishBottle7/opencode2dsh(上游 0.3.11)。它向 DSH 注册了一个原生 LlmAdapter,直接流式传输来自 OpenCode Zen 匿名免费通道的响应。

安装与启用

安装插件需要先下载构建好的 .tgz 包,然后通过 DSH CLI 添加。

1、下载 Release 附件中的 .tgz 包,或从源码构建:

# 从源码构建(位于 packages/plugin)
git clone https://github.com/defaver04/opencodezen4dsh.git
cd opencodezen4dsh/packages/plugin
pnpm install && pnpm pack

2、使用 DSH CLI 安装插件:

dsh plugin --profile web add ./opencodezen4dsh-dsh-plugin-<version>.tgz

3、重启 dsh web 以加载新插件。因为 Cordis 在进程启动时导入插件模块,仅刷新选择器无法生效。

4、在模型选择器中找到 opencodezen4dsh 分组,选择一个模型即可开始对话。

配置说明

默认配置即可工作,如需调整,可在对应配置文件中编辑 cordis.patch.yml:

- id: opencodezen4dsh
  name: '@opencodezen4dsh/dsh-plugin'
  config:
    mode: adapter        # 默认模式,原生适配器
    providerId: opencodezen4dsh
    refreshSeconds: 300  # 目录刷新间隔(秒)

主要配置项:
* mode:默认为 adapter,使用原生流式适配器;sidecar 为遗留模式,不包含在发布包中。
* refreshSeconds:控制模型目录的刷新频率,默认 300 秒。
* restartDelayMs / restartMaxDelayMs / maxConsecutiveCrashes:适配器或 Sidecar 的重启退避与熔断配置。

核心特性

  • 零凭据,零设置:利用 OpenCode Zen 的匿名免费通道,无需 API Key 或注册。
  • 原生适配器:单个 npm 包,无子进程,无本地端口占用。
  • CLI-identical disguise:请求头包含 OpenCode CLI 的 User Agent 和会话关联头,伪装成 CLI 流量。
  • 可选思考级别:推理模型支持 xhigh 和 max 思考级别(强制覆盖);仅响应模型(如 muse-spark-*)保持上游支持的级别。
  • 图片输入:仅当模型在 models.dev 中声明支持图片输入时才允许附件,否则拒绝。
  • 自愈能力:包含快速启动重试、定期刷新和健康快照诊断。
  • 会话日志安全:修复了无 ID 工具调用(如文本模拟工具调用)可能导致日志损坏的问题,将其降级为普通文本处理。

注意事项

  • 环境要求:DSH 版本需 0.1.7 或更高,且需启用 Web Profile;Node.js 版本需 ≥ 20。
  • 网络要求:需要出站 HTTPS 连接至 opencode.ai 和 models.dev。
  • 已屏蔽模型:以下模型在当前 fork 中被屏蔽:
    • jev-1.13-free(仅限 SystemOne)
    • exo-free
    • ling-3.0-flash-fin-free
  • 维护状态:插件维护 fork 了上游项目,主要修复了会话日志污染问题并解锁了部分 muse-spark 模型。

生态背景

DSH 社区目录是独立站点,与 DeepSeek 或幻方无官方从属关系。本插件旨在提供一种无需 API Key 的本地化模型接入方案。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜