Skip to content

dsh-llm-opencode-go

Verified

dsh-llm-opencode-go · v0.2.0 · MIT · Web UI

DeepSeek Harness LLM adapter for OpenCode Go (opencode.ai/zen): /models discovery with cache, three wire protocols (OpenAI Responses, OpenAI-compatible Chat Completions, Anthropic Messages), tool calling, reasoning mapping, streaming, and the required x-o

Install

dsh plugin add dsh-llm-opencode-go

Confirm the layer applied with dsh --profile default --dump-config — see the install guide.

Source

Tags

Creators

Readme

dsh-llm-opencode-go

English | 简体中文

npm 版本 npm 下载量 离线检查 ci 许可证

简介

一个 DeepSeek Harness(DSH)插件, 把 OpenCode Go(https://opencode.ai/zen/go/v1)作为 DSH 的原生模型 provider 接入。

插件自己实现 OpenCode Go 提供的三种线格式:把 Harness 的 messages、tools、reasoning 翻译成 对应协议的请求,再把流式响应翻译回 DSH 的 StreamChunk。

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

这是全部必需配置。apiKeyEnv 是一个凭据引用,不是密钥值:密钥值不写进配置文件,插件每次请求 通过 Harness 的凭据接缝解析它,因此在 Web 的「模型」页写入的 key 对下一次调用即生效,无需重启。

功能

Provider 路由 opencode-go(可配置)
协议 OpenAI Responses、OpenAI 兼容 Chat Completions、Anthropic Messages
模型发现 GET /models,带内存缓存 + 磁盘缓存
会话亲和 x-opencode-session,每个会话一个稳定 id
工具调用 每一次已派发的调用都完整往返:定义、分片参数、工具结果、后续轮次
推理 按协议映射思考等级,包含 Anthropic thinking budget
流式 SSE → StreamChunk,带 usage、结束原因和空闲看门狗
失败 稳定的 provider 无关错误码(AUTH、RATE_LIMIT、QUOTA、CONTEXT_WINDOW_EXCEEDED 等)
图形化配置 Web 客户端里的一页,设置导航里有自己的一行,Plugins 页上本插件的行上也有配置控件:API 密钥、凭据引用、模型可见性、模型变体、获取模型列表、用量
快速入口 侧边栏底部的额度胶囊(每个窗口一枚环:5H / 周 / 月,各自显示剩余)、一个独立的用量面板(从该处或快捷键打开)、设置里的一个用量页
运行环境 Node.js ≥ 20;无运行时依赖

安装使用方法

安装

dsh plugin add dsh-llm-opencode-go

安装后需要完全重启该 profile:bundle 层只在启动时读取。启动日志里应出现:

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

给它一个 Key

可以在启动 DSH 的环境里导出 OPENCODE_GO_API_KEY,也可以走凭据接缝写入它——Web 的「模型」页 写的就是这里。插件按请求解析这个引用,两种方式都可用,且都不需要重启。

查看用量

用量有三个入口,读的是同一份数据:

入口 位置
侧边栏底部的额度胶囊 Settings 旁边。一行三组——◉ 5H 92% │ ◉ 周 58% │ ◉ 月 9%——不点击即可见;点这一行打开用量面板,点右边的齿轮打开插件配置页。
用量面板 从胶囊那一行点开,或用快捷键(桌面端 Ctrl/Cmd+U):订阅的三个窗口在上,本路由的计数在下,标题行在滚动时留在原处——上面有直达插件配置页的按钮和回到对话的 ×。
设置 → 内置插件 一个页签,内容与用量面板相同。

三者都需要 Web 客户端;没有 Web 客户端的部署里这三者都不存在,插件其余部分不变。详见 配置。

配置方法

上面那段 config 是必需的全部;其余每个键都是可选的。完整字段表、目录塑造与图片输入见 配置。

换一个凭据引用,让插件读取另一个名字的环境变量:

config:
  apiKeyEnv: OC_KEY

配置文件里读取的永远只是变量名,不是它的值。

用 Web 界面改。 设置里有一行自己的 OpenCode Go 设置,排在 Harness 自带的那些页面之后; 侧边栏的 Plugins 页也能到同一页——dsh-llm-opencode-go 组合包中 opencode-go 行上有 配置(Configure)控件。两扇门打开的都是插件自己的页面:API 密钥、密钥所在的凭据引用、目录里每个 模型一个的「是否在选择器中出现」开关、模型变体、一个重新读取服务端模型列表的控件,以及这条路由 花掉了多少。密钥写进凭据存储,不写进 cordis.patch.yml;这一页只有提供 Web 客户端的部署才会 挂载。详见配置。

文档

细节都在 docs/ 里,按需查阅:

  • 模型——按模型选协议、训练数据门控、容量快照、text/image 划分
  • 配置——完整字段表、塑造目录、图片输入、图形化配置与快速入口
  • 线协议——endpoint 与鉴权、x-opencode-session、推理与工具调用翻译
  • 可靠性——稳定错误码与限制
  • 开发——项目状态、验证套件、重测探针、目录结构

许可证

MIT