DeepSeek Harness (DSH) Plugin Introduction: dsh-llm-opencode-go

前言

DeepSeek Harness (DSH) 是一个插件化的框架,dsh-llm-opencode-go 是其中一款插件,它将 OpenCode Go 作为原生 DSH 模型提供者接入。该插件自行实现了 OpenCode Go 的三种 wire 格式,将协议请求、工具调用和推理映射到 DSH 的消息结构中,并将流式响应转换回 DSH 的 StreamChunk 值。

核心功能

  • 协议支持:原生支持 OpenAI Responses、OpenAI 兼容的 Chat Completions 以及 Anthropic Messages。
  • 模型发现:支持 GET /models 接口,并实现内存与磁盘混合缓存机制。
  • 工具调用与推理:实现工具调用的完整往返流程(定义、参数、结果、后续轮次),并支持按协议映射推理(包括 Anthropic 的 thinking budgets)。
  • 会话关联:使用 x-opencode-session 头部实现会话亲和性。
  • 流式输出与错误处理:将 SSE 转换为 StreamChunk,提供 usage 和结束原因;提供稳定的、与提供者无关的错误码(如 AUTH, RATE_LIMIT, QUOTA, CONTEXT_WINDOW_EXCEEDED)。
  • 界面集成:在 DSH 网页客户端提供单页配置界面,侧边栏底部设有配额胶囊。

安装与启用

使用官方安装命令添加插件。安装后必须完全重启 profile,因为 bundle 层在启动时读取。

dsh plugin add dsh-llm-opencode-go

启动日志应显示以下内容:

dsh-llm-opencode-go: provider "opencode-go" ready at https://opencode.ai/zen/go/v1 (credential OPENCODE_GO_API_KEY, models discover)

配置方式

插件需要配置 API Key 引用。apiKeyEnv 指定的是凭证引用名,而非密钥本身。

在 cordis.patch.yml 中插入以下配置:

- insert:
    - id: opencode-go
      name: dsh-llm-opencode-go
      config:
        apiKeyEnv: OPENCODE_GO_API_KEY

使用与监控

  • 设置 API Key:可以通过环境变量 OPENCODE_GO_API_KEY 设置,或通过 DSH 的凭证 seam(网页 Models 页面)设置。插件会在每次请求时解析引用。
  • 查看用量:插件在侧边栏底部提供配额胶囊,显示当前会话的 5H/周/月 使用情况;也可以通过配置页面查看用量面板。

注意事项

  • 运行环境:需要 Node.js ≥ 20。
  • 零运行时依赖:插件本身不依赖外部运行时库,但需要 Node.js 环境。
  • Web 客户端:图形化配置和配额胶囊功能依赖 DSH 的网页客户端。

相关链接

GitHub 仓库

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

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

Xiaoye