dsh-opencode-cli-bridge:经本机 OpenCode CLI 在 DSH 里用 OpenCode 兼容模型

前言

在 DeepSeek Harness(DSH)里接模型,常见做法是走 HTTP API 或自建适配层。若你本机已经用 OpenCode CLI 管理模型与登录态,再为 DSH 单独配一套 Key 或 sidecar,往往多一层运维和权限面。

dsh-opencode-cli-bridge 由社区维护者 home-river 发布,走 DSH 原生 LlmAdapter:由本机 opencode 进程出流量,无 sidecar、无额外常驻进程、也不在插件里要求 API Key。下面介绍它做什么、怎么装、怎么用,以及配置与会话绑定的行为。

这是什么

一句话:DeepSeek Harness 插件,在 DSH Web 里通过本机 OpenCode CLI 调用 OpenCode 兼容模型,并在模型选择器里以 opencode-bridge provider 出现。

DSH 生态强调「一切皆插件」;SkillHub 等目录是社区站点,与 DeepSeek / 幻方无官方从属关系。

核心功能

资料中列出的能力如下,安装满足前置后可直接使用。

  1. 原生 adapter:模型选择器出现 opencode-bridge 分组,选好模型即可对话。
  2. 会话一对一续接:DSH 会话与 OpenCode session 绑定,工具结果跨轮仍可见;映射写在 ~/.dsh-opencode-cli-bridge/sessions.json,账本漂移或 OC 会话失效时会重建并全量重放一次。
  3. 打字机流式:OpenCode 整段输出切块,并加节奏层模拟流式;思考与工具回传以结构化方式镜像到 DSH(工具调用/结果借 reasoning 块承载,避免 tool-call 触发 DSH 工具循环造成双重执行)。
  4. CLI 环境检测:OC-bridge 面板顶部常驻状态卡(版本、路径、来源);未安装时按环境推荐 npm / scoop / choco 等安装命令,只读探测、一键复制,不自动安装。
  5. 模型暴露筛选:侧边勾选要出现在选择器里的模型,保存后下次打开选择器生效。
  6. 健壮性:五层超时、取消时杀进程树(Windows 使用 taskkill /T)、12 类错误分类、协议解析防护。

数据流(摘自 README):

DSH 会话 → DSH LLM 服务 → opencode-bridge LlmAdapter
  → opencode run --format json(本机 CLI,--dir 工作区 / --session 会话绑定)
  → JSON Lines 事件 → DSH text-delta / reasoning / usage / finish

前置要求

依赖 要求
DeepSeek Harness 0.2.x(README 实测线 0.2.1)
Node.js ≥ 20
pnpm ≥ 10(dsh plugin add 装依赖用,需在 PATH)
OpenCode CLI 必须;本插件经本机 opencode 出模型流量

插件在 package.json 中声明:engines.dsh 为 >=0.2.1-0 <0.3.0。不满足时整包跳过并列入 skippedBundles;可用 dsh plugin --profile <p> allow-version <pkg@ver> --dsh-version <ver> --accept-risk 强行豁免(风险自担)。

安装与启用

推荐用 npm 源安装(命令来自 README):

# npm 安装(推荐)
dsh plugin --profile web add dsh-opencode-cli-bridge

本地 tgz 或自打包源码时:

npm pack
dsh plugin --profile web add ./dsh-opencode-cli-bridge-0.1.0.tgz

找不到 dsh 时可用:

npx -y --package @deepseek-ai/dsh dsh plugin --profile web add dsh-opencode-cli-bridge

验证步骤:

  1. 重启 dsh web。
  2. 打开模型选择器,应出现 opencode-bridge 分组并列出模型。
  3. 选中模型开始对话。

OpenCode CLI 若未装,可先打开左栏 OC-bridge 面板,在「CLI 环境」区块查看状态并复制推荐安装命令。

典型用法

  1. 直接对话:在模型选择器里选 opencode-bridge 下的模型即可。
  2. 面板配置模型列表:左栏「插件」旁的 OC-bridge 面板——顶部为 CLI 环境状态;下方勾选要暴露的模型,保存后下次打开选择器生效。
  3. 停止生成:在 DSH 侧取消生成会杀掉 CLI 进程树,避免孤儿进程。

面板写回的配置文件路径为 ~/.dsh-opencode-cli-bridge/config.json,也可手改。示例:

{
  "models": {
    "include": ["opencode/mimo*", "opencode/gpt*"],
    "exclude": ["opencode/gpt-5-pro"]
  }
}

规则(匹配完整模型 id,模式仅支持 *):

  1. include 非空时只展示命中项;留空表示全放行。
  2. exclude 优先级最高,命中即隐藏。
  3. opencode-go/* 默认隐藏,需要时在 include 里显式写回。

改完即生效(每次打开选择器重读);配置损坏不报错,退回默认并记诊断日志。

思考强度:插件声明 reasoning.efforts 并把 reasoningEffort 透传到 opencode run --variant;README 注明免费模型实测可能不响应 --variant,转发不等于上游一定生效。

适用场景与注意

适合谁

  • 本机已装 OpenCode CLI,希望在 DSH Web 里复用同一套模型与登录,不想为 DSH 再开 HTTP 代理或 sidecar。
  • 需要 DSH 与 OpenCode 会话对齐、多轮工具结果可见的场景。

安全与隐私(README 原文要点)

  • 只调用本机已装的 OpenCode CLI,流量从本机直达模型上游;插件侧无遥测、无第三方统计。
  • 诊断目录 ~/.dsh-opencode-cli-bridge/ 含 requests.log、diagnostics.log、sessions.json,不含 API Key。
  • 取证日志 last-request.md 会保存最近一次请求的 prompt 原文,介意可删除该文件,功能不受影响。

安装前建议

插件以当前 dsh 进程权限运行,会 spawn 本机 opencode。安装前应自行查看仓库源码与 MIT 许可证,确认符合你的合规与内网策略。

结尾

dsh-opencode-cli-bridge 把 DSH 的 LLM 请求桥到本机 OpenCode CLI:原生 LlmAdapter、会话续接与流式展示,并在面板里完成 CLI 检测与模型筛选。若你已在用 OpenCode 生态,可按上文命令装入 DSH 0.2.x Web 配置后验证 opencode-bridge 分组。

  • 目录页:https://www.skillhub.cn/plugins/home-river/dsh-opencode-cli-bridge
  • GitHub:https://github.com/home-river/dsh-opencode-cli-bridge
羽毛球分组比赛记分
小程序二维码

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

Xiaoye