前言¶
在 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 或第三方安装脚本。
- 在 opencode.ai/auth 订阅 Go 或 Go Plus,复制 API key。
- 在 Harness 左侧打开「插件」→「添加插件」。
- 输入以下 GitHub 包地址(来自 README,固定版本可将
main换成已确认的提交 SHA):
github:solstice621/dsh-opencode-go-auth#main
- 安装并启用插件,然后完全退出并重新打开 Harness。
- 打开「设置」→ OpenCode / Go,点击「登录 OpenCode Go」粘贴 key 并保存;本机已有 CLI 登录时会自动识别。
- 在「模型自动同步」中点击「刷新模型」,在「模型显示」中勾选常用模型。
- 回到会话,在模型选择器的 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-ai1.1.0为主,含授权、额度、桌面模型勾选与实际对话;另在 Harness SDK0.2.1-rc.5+ pi-ai1.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