dsh-opencode-go-auth:在 DeepSeek Harness 桌面版接入 OpenCode Go 订阅

前言

在 DeepSeek Harness(DSH)里用 OpenCode Go 或 Go Plus 订阅跑模型时,常见做法是自行配置 provider、把 API key 写进配置文件或环境变量,用量也要另开页面查。Harness 内置的 opencode-go provider 有独立凭据路径,和社区插件若不同步,容易出现「模型能看见、调用却未授权」或 key 重复维护的问题。

下面介绍社区插件 dsh-opencode-go-auth(维护者 solstice621,MIT 许可)。它面向 DeepSeek Harness Desktop,提供原生 bundle、后端 provider 与客户端设置页:在 Harness 内保存并校验 oc_sk_… 形式的 API key、展示官方返回的额度窗口、同步 Go 模型目录,并在设置里勾选会话中要显示的模型。插件不修改 App 安装包或 asar,也不增加 OpenCode 额度或改变账号权限;与 OpenCode / Anomaly 官方无关联。

这是什么

dsh-opencode-go-auth 是 DSH 社区目录中的客户端类插件,仓库地址 github.com/solstice621/dsh-opencode-go-auth,目录页 skillhub.cn/plugins/solstice621/dsh-opencode-go-auth。

一句话定位:在 Harness 桌面版连接 OpenCode Go / Go Plus 订阅,凭据进 Harness 凭据存储,用量与模型在设置页可视化管理;会话里该连接显示为 OpenCode · Go 额度。

核心功能

以下能力均来自仓库 README 的功能表与说明。

账号与凭据

  • 在设置页粘贴 API key,插件先调额度接口验证再保存;401 提示 key 无效,403 提示需要 Go / Go Plus 订阅。
  • 推荐保存到 Harness 凭据存储的 OPENCODE_GO_API_KEY,配置文件里不出现明文。
  • 若本机已用 OpenCode CLI 完成 /connect,可复用 ~/.local/share/opencode/auth.json(跟随 XDG_DATA_HOME,可用 authFile 覆盖);仅识别 type: "api" 的条目。
  • 凭据解析按优先级:apiKey 配置字面值 → 凭据存储 / 环境变量 → CLI 的 auth.json;轮换 key 无需重启 Harness。

用量

  • 展示官方 5 小时、每周、每月三个额度窗口的剩余比例与重置时间。
  • 打开设置页先显示上次成功读取的快照,再在后台刷新;Harness 运行且连接启用时,默认每 5 分钟后台刷新额度。
  • 快照按 API key 隔离,默认路径为 ~/.dsh/cache/dsh-opencode-go-auth/<baseUrl 哈希>/quota.json。

模型

  • 启动时及默认每 6 小时从公开目录同步模型;登录前也可在「模型自动同步」中手动刷新。
  • 「模型显示」中搜索、勾选会话模型选择器里要出现的模型,勾选即时保存;未设置 selectedModelIds 时显示完整目录,[] 则隐藏该插件全部模型。
  • 内置目录缺少的模型会尝试从 Zen 目录借用元数据或按保守设置补齐;对话能力复用 Harness adapter 的流式输出、工具调用、历史 replay 与图片处理。

其他

  • 可启用或停用 Harness 中的 OpenCode Go 连接;录屏前可隐藏 key 标签。
  • macOS 上可在 Host 未显式配置代理时使用系统 HTTP/HTTPS 代理(useSystemProxy);PAC / SOCKS-only 系统代理暂不支持。

安装与启用

插件以当前 DSH 进程权限运行,安装前应阅读仓库源码与 MIT 许可证。仓库提供可直接运行的 JavaScript 与原生 client entry,无需执行 prepare、postinstall 或第三方安装脚本。

  1. 在 opencode.ai/auth 订阅 Go 或 Go Plus,复制 API key。
  2. 在 Harness 左侧打开「插件」→「添加插件」。
  3. 输入以下 GitHub 包地址(来自 README,固定版本可将 main 换成已确认的提交 SHA):
github:solstice621/dsh-opencode-go-auth#main
  1. 安装并启用插件,然后完全退出并重新打开 Harness。
  2. 打开「设置」→ OpenCode / Go,点击「登录 OpenCode Go」粘贴 key 并保存;本机已有 CLI 登录时会自动识别。
  3. 在「模型自动同步」中点击「刷新模型」,在「模型显示」中勾选常用模型。
  4. 回到会话,在模型选择器的 OpenCode · Go 额度 下选择模型。

本地安装可在仓库中执行 npm pack --ignore-scripts,在「添加插件」中填写生成的 .tgz 绝对路径。

典型用法与配置要点

设置页顺序(README 约定):账号连接 → 订阅额度 → 模型自动同步 → 模型显示。将 showModelSync 设为 false 只隐藏同步卡片,仍可勾选模型。

常用配置项(修改后除连接开关、模型勾选、已保存 key 更换外,多数需重启 Harness):

字段 默认值 含义
enabled true 是否在 Harness 中启用该连接
baseUrl https://opencode.ai/zen/go/v1 Zen Go 接口根地址
apiKeyEnv OPENCODE_GO_API_KEY 凭据引用名
quotaRefreshMinutes 5 后台额度刷新间隔(1–1440 分钟)
modelRefreshMinutes 360 模型目录自动刷新间隔(5–10080 分钟)
requestTimeoutMs 20000 额度与目录请求超时

默认网络访问 https://opencode.ai 的 /zen/go/v1/usage 与 /zen/go/v1/models;模型推理由原生传输层按各模型协议发往 OpenCode Go 端点。公开模型目录请求不携带 key;额度与实际调用需要有效 Go API key。

模型筛选行为:恢复默认时,之后同步到的新模型会自动出现在会话列表;手动勾选或「全选」后,新模型需再手动勾选。「移除授权」删除 Harness 中的 key,不影响本机 CLI 的 auth.json;「停用此连接」只停用 provider,保留已保存 key。

适用场景与注意

适合谁

  • 已在 OpenCode 订阅 Go / Go Plus,希望在 Harness Desktop 内完成登录、看额度、选模型并对话,而不想长期把 key 写在插件配置明文里。
  • 本机已配置 OpenCode CLI,希望 Harness 与 CLI 共用同一 auth.json。

兼容性与限制(以 README 为准)

  • 当前文档记载的验证环境以 macOS + DeepSeek Harness Desktop 0.2.1-rc.3 + pi-ai 1.1.0 为主,含授权、额度、桌面模型勾选与实际对话;另在 Harness SDK 0.2.1-rc.5 + pi-ai 1.4.0 做过插件导入与适配器相关自动化检查(未发送模型请求)。Keychain 形式、Windows 和 Linux 桌面环境尚未验证。
  • 能看到模型但提示未授权时:公开目录无需登录,须在设置页保存有效 key 并在会话中选择 OpenCode · Go 额度。
  • 插件配置中的 apiKey 优先于凭据存储;更换 key 后若仍像旧授权,需检查配置字面值与环境变量来源。

DSH 生态强调「一切皆插件」;skillhub.cn 上的社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。本插件为社区维护,使用前请自行评估网络披露(package.json 中 disclosure.cloud 为 true,需访问 https://opencode.ai)。

结尾

dsh-opencode-go-auth 把 OpenCode Go 订阅的 key 托管、三窗口用量展示、模型目录同步与会话模型勾选收进 Harness 原生设置页,安装包地址为 github:solstice621/dsh-opencode-go-auth#main。更多细节与 FAQ 见仓库 README。

  • 目录页:https://www.skillhub.cn/plugins/solstice621/dsh-opencode-go-auth
  • GitHub:https://github.com/solstice621/dsh-opencode-go-auth
羽毛球分组比赛记分
小程序二维码

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

Xiaoye