DSH Plugins Marketplace

DSH Plugins

Plugins

/

Models & Providers

/

dsh-opencode-go-second

y

dsh-opencode-go-second

Manifest valid

Adds an independent OpenCode Go connection with credential settings, manual model discovery, and per-conversation session headers.

UI (client)hasBundlePatch

OpenCode Go · 2

这是独立的 DeepSeek Harness 模型插件,只注册 opencode-go-second。 第一套 opencode-go 和其他供应商继续由原生适配器管理。

安装

适用于 DeepSeek Harness 0.2.1-rc.1 / 0.2.1-rc.2,需要 Node.js >=22.19.0。 DSH 官方包通过 peer dependencies 复用宿主,模型 SDK 使用 pi-ai 1.1.0。 插件兼容范围通过新版 engines.dsh 声明。仍使用 DSH 0.2.0-rc.2 时请保留插件 v0.2.2。

桌面端通过 npm 安装:

dsh plugin --profile desktop add dsh-opencode-go-second

市场会通过 npm 检查已发布的新版,出现更新提示后点击更新即可。后续发布 npm 新版 不需要逐次修改市场收录条目。开发目录的 link: 安装不参与 npm 自动检查更新。

Web 端将 --profile desktop 改为 --profile web。也可以从源码安装:

dsh plugin --profile desktop add github:yfwu2020/dsh-opencode-go-second

安装后重启 DSH,在设置 → 模型 → OpenCode Go · 2 → 管理中配置 OpenCode Go API 密钥,点击“获取可用模型”,选择后保存。模型是否能实际调用由账号权限、额度 和上游服务状态决定,目录查询成功不代表逐个模型已通过推理测试。

本插件新增独立的 opencode-go-second 连接,不替换原生适配器或其他供应商配置。 默认使用密钥引用 OPENCODE_API_KEY;如果已在别处使用相同引用,请先为新连接 选择独立引用,避免更新密钥时影响使用同一引用的其他连接。

本地开发

克隆仓库后运行 npm ci 和 npm test。需要联调时,将 DSH profile 的 package.json 依赖指向 link:<项目的绝对路径>,在 dsh.profile.bundles 中添加 dsh-opencode-go-second,并合并本仓库 cordis.patch.yml 中的条目;不要覆盖已有 profile 文件。DSH profile 通常位于 ~/.dsh/profiles/desktop。

migration.mjs 仅供处理本项目特定的旧覆盖方案,不随发布包交付。 普通安装不需要运行它;维护旧方案前应备份并核对原配置。

使用与隔离

设置 → 模型中显示“OpenCode Go · 2”。密钥沿用 DSH 密钥库里的 OPENCODE_API_KEY 引用,插件不保存或打印密钥。内置 38 个备用模型;可手动刷新当前账号可用的模型。 点卡片右侧“管理”可查看和搜索模型、选择启用模型、获取可用模型。 有改动时显示“保存模型”和“撤销修改”;替换密钥需要单独点“更新密钥”。 收起面板保留未保存的修改。原生编辑入口仅在此插件卡片中隐藏,第一套不受影响。 各模型按资料使用 Chat Completions、Responses 或 Anthropic Messages 接口; 新加入的 Google 模型使用 Google Generative AI 接口。 会话标识取自 DSH 当前聊天,User-Agent 复用 DSH 的请求标识。 两个连接之间没有密钥轮换、自动降级或路由覆盖。

迁移时第二套内部名称由 opencode 变为 opencode-go-second,避免与原生 Zen 设置目录冲突。当前全局默认模型会迁移到新名称,模型和推理等级保持原值。 聊天记录不修改;若某个旧聊天单独保存了旧连接选择,需要重新选择“第二套”。 不同适配器之间的历史按 DSH 官方规则转换为通用历史,原生专用回放信息可能 不再被复用,但文本、工具调用与结果仍保留。

实现

依赖官方发布的 @deepseek-ai/dsh-llm-pi-ai@0.2.1-rc.1 / 0.2.1-rc.2 和 @earendil-works/pi-ai@1.1.0,复用公开的 PiAiAdapter 以及原生 Go provider。 没有复制核心适配器源码、替换原生包或导入 app.asar 内的绝对路径。 package-lock.json 固定依赖版本;升级 DSH 后仍需检查公开接口的兼容性。

模型元数据合并了当时的原生 Go/Zen 目录与 models.dev 的 Go 资料。 可用 ID 来自第二套认证的 /zen/go/v1/models 查询,不使用未认证的公共列表。 两个旧别名 deepseek-flash、omen-alpha 沿用已存在的能力配置,能力上限未经 额外实测。DSH 支持的输入为文本和图片;不会声称支持音视频/PDF 原始输入。

更新模型目录

只在点击设置面板中的“获取可用模型”时查询列表;启动、定时任务和密钥更新均不会触发刷新。 手动刷新会用第二套已保存的密钥(或尚未保存的草稿密钥)查询 Go 列表, 仅将该密钥发送给 opencode.ai。遇到未知模型时自动补齐接入资料,资料来自 models.dev 的 opencode-go 目录;这个请求不携带 API 密钥。 接口地址固定在 OpenCode 官方域名,忽略外部资料中的自定义地址。支持 Chat Completions、Responses、Anthropic Messages 和 Google Generative AI 四种协议。

刷新后可选择启用的模型,点击“保存模型”才修改配置。网络失败、缺少资料或遇到尚未 支持的协议时保留原配置,不按名字猜测接口。已有模型的接口与能力定义保持稳定; 变更这些定义仍需要升级插件。

验证过的公开模型资料保存在系统用户缓存目录的 dsh-opencode-go-second/catalog.json, 不写入项目或 Git 仓库,不保存密钥。重启时可从本地资料恢复;缓存丢失或损坏时, 先提供已有资料的模型,点击“获取可用模型”可恢复其余模型。 空模型列表恢复插件默认目录;移除供应商配置会停用该连接。

接口依据:OpenCode Go 官方端点说明。

验证

运行 npm test 验证实际官方适配器/SDK 对 38 个模型的接口选择、密钥与会话 隔离、流式解析、错误结果、设置注册、模型发现和第一套迁移保持不变。 还覆盖启动时不发起查询、不创建刷新计时器、手动发现不自动保存,以及缓存、 Gemini 思考等级、认证、工具回放,以及传输不响应取消时的流空闲超时。 测试替换网络传输,不产生模型调用费用;通过并不代表 38 个模型都完成了真实推理。 实际可用性受账号权限、额度、地区和服务端状态影响。

回退

部署前在 desktop profile 的 backups 目录保留原 package.json、 cordis.patch.yml 和旧覆盖包链接地址。本机部署记录、备份和日志不进入仓库。 回退时关闭 DSH,恢复这两份备份并恢复旧 @deepseek-ai/dsh-llm-pi-ai 链接, 再重启 DSH,即回到迁移前的第二套方案。若迁移后又编辑过其他设置,先保留 当前配置,再只恢复第二套对应条目,避免覆盖后续修改。

仓库中的敏感信息处理

仓库不包含真实 API 密钥、密码、个人路径、账号标识、日志或部署备份。 配置中的 OPENCODE_API_KEY 等名称是密钥引用,不是密钥值。测试使用虚构 凭据和示例会话标识。依赖目录和本地环境文件由 .gitignore 排除。

发布新版本

本仓库的 .github/workflows/publish.yml 使用 npm Trusted Publisher(OIDC)。 绑定 GitHub 用户 yfwu2020、仓库 dsh-opencode-go-second、工作流文件名 publish.yml,环境名称留空,并允许 npm publish;不需要配置 npm 发布密钥。

先同步修改 package.json 和 package-lock.json 的版本号,提交并推送到 GitHub, 然后为该提交创建同版本的正式 Release(例如版本 0.3.2 对应标签 v0.3.2)。 工作流检查版本号、安装固定依赖并运行测试,通过后自动发布到 npm 的 latest。 普通代码推送和预发布 Release 不会触发正式发布。工作流也可手动指定已有标签重试; 已成功发布的 npm 版本不能重复发布,应检查上次结果后再决定是否重试。

Comments

Loading…

Similar plugins

dsh-llm-opencode-go

by scavanger2221

OpenCode Go models as a DeepSeek Harness provider, with session-affinity headers, a live model catalog, and a Web settings card

Manifest valid

★ 0

MIT

JavaScript

Sep 29, 2026

dsh plugin --profile web add dsh-llm-opencode-go

by viztor

OpenCode on DeepSeek Harness — DSH plugin that keeps OpenCode Zen + Go free-tier models working: session affinity, gateway origin headers, and tool-schema fallback.

Manifest valid

★ 4

↓ 310/wk

MIT

TypeScript

Oct 16, 2026

dsh plugin --profile web add dsh-opencode-patch

by Retr67

DeepSeek Harness (DSH) plugin: one-click OpenCode Go model sync in the settings panel - fetch all server models, probe availability & vision, write back to llm-pi-ai config

Manifest valid

★ 4

MIT

JavaScript

Oct 11, 2026

dsh plugin --profile web add dsh-opencode-models

by itchenshi

Declares the OpenCode Go and Command Code route wire protocol and endpoint (so the API address never has to be typed), adds the DeepSeek V4.1 models to the OpenCode Go route and puts them first, compl

Sessions & MessagesModels & ProvidersManifest valid

★ 0

MIT

JavaScript

Oct 5, 2026

dsh plugin --profile web add dsh-gateway-models

by itchenshi

DeepSeek Harness plugin: declares the OpenCode Go route wire protocol, auto-adds DeepSeek V4.1 models, and attaches the x-opencode-session header

Tools & CapabilitiesSessions & MessagesModels & ProvidersManifest valid

★ 0

MIT

JavaScript

Sep 24, 2026

dsh plugin --profile web add dsh-opencode-go-path

by itchenshi

DeepSeek Harness plugin: model usage & account balance in the session header (OpenCode Go plan usage + DeepSeek account balance)

Tools & CapabilitiesDevelopment & InfrastructureManifest valid

★ 0

MIT

JavaScript

Oct 5, 2026

dsh plugin --profile web add dsh-model-surplus