前言¶
DeepSeek Harness(DSH)允许通过插件扩展功能。如果你需要使用 OpenCode Go 订阅模型,手动配置协议、上下文长度和最大输出 token 会非常繁琐。dsh-opencode-go 插件解决了这个问题,它自动处理会话请求头、读取网关模型目录并显示订阅用量。
是什么¶
dsh-opencode-go 是一个由 Duskriver 维护的插件,遵循 MIT 许可证。它让 DSH 能够完美调用 OpenCode Go 订阅模型,支持流式回复、工具调用和图片输入。插件会自动添加 OpenCode Go 所需的会话请求头,无需用户手动配置模型的基础协议和参数。
核心功能¶
- 会话请求头:每次请求包含 Harness User-Agent 和
x-opencode-session。同一会话保持稳定 ID,支持网关路由和提示词缓存优化。 - 流式与历史:支持流式输出、工具调用及历史回放。
- 图片输入:支持目录中声明图片能力的模型。
- 模型容量覆盖:可按模型覆盖上下文窗口和最大输出,空值继承在线目录。
- 逐模型开关:每个模型独立控制会话中的显示状态,普通模型默认开启,过时模型默认关闭。
- 网络代理:支持 HTTP(S) 或 SOCKS5 代理,用于对话、模型目录更新与订阅用量查询。
- 提示与缓存:插件不增加隐藏系统提示;会话 ID 用于网关路由。
安装与启用¶
插件支持 DSH 0.1.5-rc.1 及以上版本。安装前请确保已安装对应版本的 DSH。
在 DSH 界面安装(推荐)¶
- 打开 DSH 的 插件 页面,点击右上角 添加插件。
- 输入
dsh-opencode-go,点击 安装。 - 安装成功后,点击 立即启用。
- 打开 设置 → OpenCode Go,填入 API Key 并保存。
命令行安装¶
如果 DSH 没有「添加插件」入口,可在终端执行:
dsh plugin --profile web add dsh-opencode-go
安装后启动或重启 dsh web,然后重复上述设置步骤。
Headless 模式安装¶
Headless 用户需将 web 换成 headless:
dsh plugin --profile headless add dsh-opencode-go
配置与使用¶
安装成功后,在 设置 → OpenCode Go 中进行配置。
网络代理¶
打开 设置 → OpenCode Go → 高级设置 → 代理地址,填写代理 URL。
支持格式包括:
- http://127.0.0.1:7890
- socks5://127.0.0.1:1080
- http://用户名:密码@主机:端口(需 URL 编码)
代理连接由运行 DSH 的机器发起。代理设置保存后立即生效,无需重启。
模型开关¶
在 设置 → OpenCode Go 中,每个模型右侧的开关决定它是否出现在会话模型选择器中。普通模型默认开启,过时模型默认关闭。你可以单独开启任意过时模型,也可以关闭普通模型。
Headless 配置¶
Headless 用户可将以下内容保存为 headless.patch.yml,选择默认模型:
- id: agent-default-model
config:
provider: dsh-opencode-go
model: deepseek-v4.1-flash
然后在 Bash 或 Zsh 中读取 API Key 并运行任务:
export OPENCODE_API_KEY
dsh --profile headless --patch ./headless.patch.yml "你好"
账号管理(多 Key)¶
Headless 或手动配置可在插件的 config 中填写账号:
apiKeyEnv: OPENCODE_API_KEY
accounts:
- id: primary
name: 主账号
apiKeyEnv: OPENCODE_API_KEY
- id: backup
name: 备用账号
apiKeyEnv: OPENCODE_GO_BACKUP_KEY
插件会从上到下依次尝试账号,支持自动回退。
图片数量上限¶
在 设置 → OpenCode Go → 高级设置 中设置 maxImages。
默认不限制张数。设置后,单次请求携带的完整历史(包括工具输出中的图片)将受此限制。例如设置为 30 时,发送第 31 张图片会卸载最旧的 1 张图片内容。
注意事项¶
- 版本兼容:插件不再引入
@google/genai、protobufjs的安装脚本,首次安装无需特殊设置,旧版本安装失败后重试需先卸载再重试。 - Headless 代理:Headless 模式下,代理设置也可在插件的
config中填写proxyURL。 - 调试:若遇到错误,可在启动 DSH 的终端设置环境变量
DSH_OPENCODE_GO_DEBUG_DIR,重启后在指定目录查看调试日志。 - 共存:从 0.1.17 起,插件使用独立的
dsh-opencode-goprovider。旧会话可能需要将 provider 从opencode-go切换为dsh-opencode-go。
总结¶
dsh-opencode-go 通过自动化配置和细粒度的控制(如逐模型开关、代理支持、图片上限控制),让在 DeepSeek Harness 中使用 OpenCode Go 订阅模型变得简单且可控。无论是 Web 界面交互还是 Headless 脚本任务,它都能提供一致的支持。
- 目录页:dsh-opencode-go - SkillHub
- GitHub 仓库:Duskriver/dsh-opencode-go