DeepSeek Harness (DSH) 是一个插件化的平台,允许通过组合包扩展功能。如果你正在使用 OpenCode Go,需要监控滚动 5 小时、每周和每月的剩余额度,dsh-opencode-go-quota 插件可以自动抓取用量看板数据,将剩余百分比以类似游戏血条的形式显示在对话输入框旁,并在设置中提供完整的卡片视图。
该插件由 weijianguizhou 维护,遵循 MIT 许可证。
核心功能¶
插件提供以下能力:
* 实时额度显示:抓取并解析 OpenCode Go 的用量看板,显示剩余百分比。
* 对话区 HUD:在对话输入框下方展示三档额度(5h / Week / Month)的血条,悬停可查看重置倒计时。
* 设置卡片:在「设置 → 插件配置」中提供完整的进度条展示。
* 手动刷新:点击按钮即可立即触发数据抓取,无需重启。
* 自动更新:按配置的间隔自动抓取并解析数据。
安装与启用¶
安装过程需要指定你使用的 DSH profile 名称(如 web、desktop 或 tui)。
- 打开终端,执行安装命令:
dsh plugin --profile web add https://github.com/weijianguizhou/dsh-opencode-go-quota
> 将 `web` 替换为你实际的 profile 名称。
- 安装完成后,DSH 会将此组合包追加进该 profile 的配置中。安装步骤完成后,需要重启相应的 profile 才能加载插件。
配置¶
凭据仅存储在本地,插件优先读取配置文件,配置文件缺省时回退至环境变量。
1. 配置文件(推荐)¶
在你 profile 的 cordis.patch.yml 文件中,插入以下内容:
- insert:
- id: opencode-go-quota
name: dsh-opencode-go-quota
config:
workspaceId: '你的workspaceId'
authCookie: '你的browser-auth-cookie'
timeoutMs: 10000
refreshMinutes: 5
2. 环境变量(备用)¶
如果配置文件中未填写凭据,插件会尝试读取以下环境变量:
export OPENCODE_GO_WORKSPACE_ID=...
export OPENCODE_GO_AUTH_COOKIE=...
authCookie 在插件中标记为敏感信息,不会出现在任何日志或响应中。
获取凭据¶
authCookie 是 HttpOnly 且可能被浏览器 App-Bound Encryption 加密存储,无法通过脚本自动提取,需手动获取。
- 使用浏览器登录 opencode.ai。
- 进入 Go 用量页面(能看到 Rolling / Weekly / Monthly 的页面)。
- 按 F12 打开开发者工具,切换到 Network 标签页,刷新页面。
- 点击列表中第一个
opencode.ai的文档请求(Type 为document)。 - 在右侧 Headers → Request Headers 中找到
Cookie行。 - 复制
auth=后面的整段字符串。
获取 workspaceId:查看看板 URL,格式为 https://opencode.ai/workspace/<这一串>/go,中间段即为 workspaceId。
注意:Cookie 通常有效期约 90 天,过期后需重新获取。
桌面端额外步骤(重要)¶
在 DSH 桌面端(非 Web 服务),设置命名空间需要显式加入 allowlist 才会被前端读取,否则 HUD 和卡片不会显示。
- 找到桌面端安装目录下的文件:
<DSH Desktop>/resources/app.asar.unpacked/node_modules/@deepseek-ai/dsh-host-apiproxy/lib/index.js
- 在该文件中找到
WEB_SETTINGS_NAMESPACES数组,添加"opencode-go-quota":
const WEB_SETTINGS_NAMESPACES = [
"agent-loop",
"shell",
"locale",
"permission",
"ui-conversation",
"ui-theme",
"web-search-deepseek",
"opencode-go-quota", // <-- 添加这一行
];
- 保存并重启 DSH Desktop。
注意:桌面端更新后会覆盖
app.asar.unpacked目录,此补丁需在每次更新后重新应用。
验证是否生效¶
安装并配置完成后,重启 DSH 并进入对话界面:
- HUD:在输入框下方应出现
OpenCode Go一排血条。 - 设置卡片:进入「设置 → 插件配置」,应能看到「OpenCode Go 剩余额度」卡片。
若显示「尚未配置」,说明凭据未填写正确;若显示「加载失败」,多为 Cookie 过期或看板结构变动。
开发与构建¶
DSH 插件要求 ./client 导出的是预构建的 bundle(window.__ModuleLoader__.load 形式)。仓库中的 lib/client.js 已随提交,若修改源码需重新构建:
npm install
npm run build
npm run check
npm test
适用场景与注意¶
- 适用场景:需要频繁查看 OpenCode Go 剩余额度,希望在不离开对话界面的情况下监控使用情况。
- 注意:插件以当前 DSH 进程的权限运行,安装前建议检查源码。桌面端用户务必完成 allowlist 配置步骤。
更多详情与源码,请访问 GitHub 仓库。