dsh-llm-opencode-go
Verifieddsh-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 | 简体中文
简介
一个 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