dsh-opencode-go:在 DeepSeek Harness 中使用 OpenCode Go 模型

前言

DeepSeek Harness(DSH)允许通过插件扩展功能。如果你需要使用 OpenCode Go 订阅模型,手动配置协议、上下文长度和最大输出 token 会非常繁琐。dsh-opencode-go 插件解决了这个问题,它自动处理会话请求头、读取网关模型目录并显示订阅用量。

是什么

dsh-opencode-go 是一个由 Duskriver 维护的插件,遵循 MIT 许可证。它让 DSH 能够完美调用 OpenCode Go 订阅模型,支持流式回复、工具调用和图片输入。插件会自动添加 OpenCode Go 所需的会话请求头,无需用户手动配置模型的基础协议和参数。

核心功能

  1. 会话请求头:每次请求包含 Harness User-Agent 和 x-opencode-session。同一会话保持稳定 ID,支持网关路由和提示词缓存优化。
  2. 流式与历史:支持流式输出、工具调用及历史回放。
  3. 图片输入:支持目录中声明图片能力的模型。
  4. 模型容量覆盖:可按模型覆盖上下文窗口和最大输出,空值继承在线目录。
  5. 逐模型开关:每个模型独立控制会话中的显示状态,普通模型默认开启,过时模型默认关闭。
  6. 网络代理:支持 HTTP(S) 或 SOCKS5 代理,用于对话、模型目录更新与订阅用量查询。
  7. 提示与缓存:插件不增加隐藏系统提示;会话 ID 用于网关路由。

安装与启用

插件支持 DSH 0.1.5-rc.1 及以上版本。安装前请确保已安装对应版本的 DSH。

在 DSH 界面安装(推荐)

  1. 打开 DSH 的 插件 页面,点击右上角 添加插件。
  2. 输入 dsh-opencode-go,点击 安装。
  3. 安装成功后,点击 立即启用。
  4. 打开 设置 → 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 张图片内容。

注意事项

  1. 版本兼容:插件不再引入 @google/genai、protobufjs 的安装脚本,首次安装无需特殊设置,旧版本安装失败后重试需先卸载再重试。
  2. Headless 代理:Headless 模式下,代理设置也可在插件的 config 中填写 proxyURL。
  3. 调试:若遇到错误,可在启动 DSH 的终端设置环境变量 DSH_OPENCODE_GO_DEBUG_DIR,重启后在指定目录查看调试日志。
  4. 共存:从 0.1.17 起,插件使用独立的 dsh-opencode-go provider。旧会话可能需要将 provider 从 opencode-go 切换为 dsh-opencode-go。

总结

dsh-opencode-go 通过自动化配置和细粒度的控制(如逐模型开关、代理支持、图片上限控制),让在 DeepSeek Harness 中使用 OpenCode Go 订阅模型变得简单且可控。无论是 Web 界面交互还是 Headless 脚本任务,它都能提供一致的支持。

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

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

小夜