OpenCode Connect:把 OpenCode Desktop 免费模型接入 DeepSeek Harness

前言

在 DeepSeek Harness(DSH)里做多步推理、智能体编排时,除了主模型,往往还要接第二路 LLM。常见做法是自备 API Key、处理计费与限流,或折腾各家认证。另一条路是本地已安装的 OpenCode Desktop:它提供一批面向编码、推理与长上下文的免费模型,但和 DSH 的 Cordis / LLM 运行时并不直接互通。

下面介绍社区插件 OpenCode Connect(包名 dsh-plugin-opencode-connect,仓库 Dreftian/Opencode-Connect)。它在本机 OpenCode 与 DSH 之间做适配与目录同步,让你在 Harness 里选用 OpenCode Desktop 的免费模型,而无需为这些模型单独配置 API Key。

这是什么

OpenCode Connect 由维护者 Dreftian 发布,在 SkillHub 等社区目录中归类为模型推理类 DSH 插件。定位可以概括为:通过本地 OpenCode CLI,发现并映射 OpenCode Desktop 的免费模型目录,以 LLM Adapter 形式注册进 DeepSeek Harness,并支持后台自动同步模型列表变更。

插件当前在 GitHub 上为 MIT 许可;package.json 中版本为 1.0.0,对等依赖 @deepseek-ai/cordis(>=4.0.0)。

核心功能

资料中明确的能力如下。

零 API Key 接入本地 OpenCode
插件依赖本机已有的 OpenCode Desktop 实例,通过标准路径或你配置的 CLI 路径调用 opencode models 做发现,而不是要求你为 OpenCode 模型再填云端密钥。

免费模型目录映射
README 列出 10+ 个由 OpenCode Desktop 提供的免费模型 ID(例如 opencode/beam-free、opencode/big-pickle、opencode/deepseek-v4.1-flash-free 等),并给出在 DSH 中的显示名、上下文长度、是否支持 thinking/reasoning、模态与适用场景。安装成功后,这些模型会出现在 Harness 的模型选择器中(名称带 [Free] 等映射规则以仓库文档为准)。

动态自动同步
后台组件 OpenCodeModelSynchronizer 会周期性对比 OpenCode 模型快照;当 OpenCode 更新注册表、改配置或新增免费模型时,触发 models-updated,由 OpenCodeAdapter 热更新 DSH 的 provider 目录,无需重启应用即可在下拉框里看到新模型。

与 Harness 流式协议对齐
集成 Cordis 与 DSH 的流式能力,支持实时 token 流,以及 reasoning/thinking 轨迹(thinking_delta、text_delta);可通过配置开关 thinking 流。

安装与启用

插件以当前 DSH 进程权限运行,安装前建议浏览仓库源码与 LICENSE。社区目录页:Opencode-Connect @ SkillHub。

图形界面(README 推荐)

  1. 打开 DeepSeek Harness Desktop。
  2. 左侧进入 Complementos(Plugins)。
  3. 点击右上角 + Agregar complemento(Add Plugin)。
  4. 在输入框粘贴官方仓库地址:
https://github.com/Dreftian/Opencode-Connect

(文档亦说明可填包名 dsh-plugin-opencode-connect(若已发布)或本地目录路径。)

  1. 点击 Instalar(Install)。安装后插件会尝试自动检测本机 OpenCode Desktop 模型。

CLI / Cordis Patch

使用 DSH CLI 工具链时,README 给出的命令为:

# Using pnpm
pnpm dsh plugin add dsh-plugin-opencode-connect

# Or using npm
npm install --save dsh-plugin-opencode-connect

或在 cordis.patch.yml 中插入 bundle 片段:

- insert:
    - id: llm-opencode-connect
      name: dsh-plugin-opencode-connect

本地目录(开发或离线)

若已从源码构建出插件目录,可在 GUI 中选择 Cargar desde directorio local(从本地文件夹加载),填入该目录的绝对路径后确认。构建步骤见仓库 README(npm install、npm run build);需自行保证 OpenCode Desktop 已安装且至少运行过一次,以便 CLI 可用。

配置项

在 cordis.yml 或插件选项中,可使用如下字段(默认值以 README 为准):

dsh-plugin-opencode-connect:
  cliPath: ""
  syncIntervalMs: 30000
  onlyFreeModels: true
  providerPrefix: "opencode"
  providerDisplayName: "OpenCode Desktop"
  enableThinking: true
  timeoutMs: 180000
  logLevel: "info"
  • cliPath:留空则在 Windows / macOS / Linux 常见安装路径下自动探测 opencode 或 opencode-cli。
  • syncIntervalMs:后台轮询同步间隔,默认 30 秒。
  • onlyFreeModels:默认仅同步 OpenCode Desktop 的免费模型。
  • enableThinking:是否流式输出内部 reasoning/thinking token。

若出现 “OpenCode CLI binary not found”,需确认 OpenCode Desktop 已安装并曾启动,或在 cliPath 中写明可执行文件路径(详见仓库 Troubleshooting 章节)。

典型用法

完成安装并保证本机 OpenCode 可用后,流程大致如下。

  1. 在 DSH 桌面端打开会话或 Agent 配置,在 LLM 提供方中选择 OpenCode Desktop(或你在 providerDisplayName 中自定义的名称)。
  2. 在模型下拉框中挑选已同步的免费模型,例如需要长上下文全库分析时可关注 opencode/longcat-2.5-preview-free(文档标注 262,144 上下文);需要 thinking 时可选用表中标注支持 reasoning 的条目。
  3. 正常发起对话或 Agent 任务;流式回复与 thinking 块行为受 enableThinking 与模型本身能力约束。

插件在启动时会通过 CLI 做一次全量发现,之后按 syncIntervalMs 做差分同步;OpenCode 侧新增模型后,一般无需重启 DSH 即可在界面中看到。

适用场景与注意

适合谁
已在用或愿意安装 OpenCode Desktop、希望在 DSH 里用其免费模型做辅助编码、审查、长文档分析或多模态(如文档列出的 Nemotron 3.5 Super VL Free)的开发者;不想为第二路模型单独维护 API Key 与账单时,该插件是对齐两条工具链的较直接方式。

依赖与边界
- 模型列表与可用性以 OpenCode Desktop 本地服务 / CLI 为准;插件不负责托管模型推理,只做发现、映射与请求转发适配。
- 需要本机已安装并可调用的 OpenCode;同步与调用均在 DSH 进程权限下执行,请仅在信任的来源安装插件并审阅代码。
- SkillHub 等目录为社区生态站点,与 DeepSeek / 幻方无官方从属关系;星标与收录状态以各站点展示为准(当前线索为 GitHub 0 stars,不代表功能不可用,仅反映社区关注度)。

结尾

OpenCode Connect 把 OpenCode Desktop 的免费模型目录接进 DeepSeek Harness:本地 CLI 发现、差分同步、热更新注册表,并兼容 DSH 流式与 thinking 输出。若你正在 DSH 里编排智能体却想省掉第二套付费 API,可先装好 OpenCode Desktop,再按上文方式安装插件并核对 cliPath 与同步间隔。

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

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

小夜