deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:12398k/dsh-opencode-go-dashboard
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
DeepSeek Harness (DSH) 插件:OpenCode Go & Google Antigravity (Gemini) 智能用量双擎监控面板。
在 DSH Web GUI 中实时识别当前使用的模型与供应商:
在运行 DSH 的服务器或本机终端执行:
dsh plugin --profile web add dsh-opencode-go-dashboard@latest
安装完成后在浏览器中硬刷新 Web GUI(Ctrl+Shift+R 或 Cmd+Shift+R)即可生效。
直接把下面这段话发给任意一个 DSH 会话:
帮我安装 dsh-opencode-go-dashboard 插件(OpenCode Go & Antigravity 双擎用量监控),步骤:
1. 在终端执行 dsh plugin --profile web add dsh-opencode-go-dashboard@latest
2. 安装成功后提醒我硬刷新浏览器(Ctrl+Shift+R / Cmd+Shift+R)
在本地开发调试时,可通过超级注入器运行时免重启注入:
# 构建
npm run build
# 在 DSH 会话中调用工具注入
dev_inject_plugin {"dir": "/绝对路径/dsh-opencode-go-dashboard"}
gemini-3.8-flash-tiered, gemini-3.6-flash, gemini-2.5-pro 等);agy 供应商时,自动无缝切换到底栏 Antigravity 的用量与重置时间;provider/model,命中正则规则即按规则切源,否则 Gemini 系列自动切 Antigravity、其余显示 Go;agy, nas, lmstudio 等)单独绑定显示 OpenCode Go 还是 Antigravity 用量;provider/model → provider → model → 模型显示名,首个命中的启用规则生效,适合 ID 不固定的供应商(opencode-go-native、agy、agycli 等);内置默认 opencode* → Go、agycli → Antigravity(wym)、agy|antigravity|gemini → Antigravity(qiyu),可增删/停用/恢复默认;[切为 Go ⇄] / [切为 Agy ⇄])。cliproxy/auths、antigravity-cli 及同机 dsh-agy-link 凭证;remainingFraction)与重置倒计时。/zen/go/v1/usage,监控多 Key 汇总与最高水位;wrk_xxx + Fe26...),SolidStart server-fn RPC 原生接口查询。Go 标或 Agy 标),颜色根据水位自动变色;[切为 Go ⇄] / [切为 Agy ⇄];serverTime 对齐,系统时钟不准也不会出现跳变或负数。~/.dsh/ocgo-usage/state.json,不经第三方转发。打开 DSH Web GUI 设置 -> Go / Agy 用量 -> 供应商显示策略:
agy, nas, lmstudio 等),自由选择绑定显示哪个用量引擎;pattern 为不区分大小写的正则,目标 选择 Go / Antigravity(qiyu) / Antigravity(wym);
卡片顶部「实时自检」会显示当前探测到的 供应商 / 模型 与最终判定依据,改完点「保存正则规则」即刻生效(无需重启)。Antigravity 的 OAuth 需要一对 Google OAuth 客户端凭证来换取 / 续期 Token。本插件源码内不保存任何明文密钥,请写进 ~/.dsh/.env(dsh 启动时会自动加载该文件;也可改用系统环境变量注入):
# ~/.dsh/.env
AGY_CLIENT_ID=你的 Google OAuth Client ID
AGY_CLIENT_SECRET=你的 Google OAuth Client Secret
取值可从本机已装好的 Antigravity CLI / cliproxy 的 OAuth 配置里复制(~/.antigravity/、cliproxy/auths/ 等处通常已有)。进程环境优先,缺失时插件会直接兜底解析 ~/.dsh/.env,因此写入后无需重启 dsh,点一次「刷新」即可生效;若两项都缺失,Antigravity 的自动续期与「网页一键授权」会直接返回该提示,但不影响已缓存 access token 的读取。
在 设置 -> Go / Agy 用量 -> 凭据管理 -> Google Antigravity:
在 凭据管理 -> OpenCode Go:
sk-... 密钥并保存;| 内容 | 路径 |
|---|---|
| OAuth 客户端凭证 | ~/.dsh/.env(AGY_CLIENT_ID / AGY_CLIENT_SECRET,权限 0600) |
| 凭据与用量缓存 | ~/.dsh/ocgo-usage/state.json(权限 0600) |
| 显示策略(写回宿主配置) | ~/.dsh/settings.yaml |
所有请求都由宿主进程发起,浏览器侧仅访问同源内存接口 /api/dsh-ocgo-usage/*,不向第三方端点直接发送凭证。
npm run build # 编译宿主端 + 打包客户端 bundle(输出 lib/)
npm run typecheck # TypeScript 全量类型检查
npm test # 路由判定 + 设置页渲染回归测试(26 项断言)
npm test 覆盖供应商正则优先级、精确绑定、手动切源与界面渲染契约;发布前 prepack 会自动执行构建,保证 npm 包内 lib/ 与源码一致。
底栏圆环显示 — 或提示「可在设置页的「凭据管理」中添加或导入账号」
说明当前引擎没有任何可用凭证,按上面「使用指南」配置对应引擎的凭据即可。
切了模型,底栏没跟着换引擎
先看设置页卡片顶部的「实时自检」:它会显示当前探测到的 供应商 / 模型 与命中的规则。若供应商 ID 是未知的(如自建 localhost 供应商),用正则规则或精确绑定把它绑到目标引擎。
Cookie 通道报「认证失败,Cookie 可能已过期」
Fe26... Cookie 属于会话态,退出 opencode 控制台登录后即失效,重新复制一次即可。
Antigravity 提示「未配置 Antigravity OAuth 客户端凭证」
按「使用指南」第一步把 AGY_CLIENT_ID / AGY_CLIENT_SECRET 写进 ~/.dsh/.env 即可(插件直接读取该文件,无需重启);若你的宿主版本较旧,重启一次 dsh。已缓存的 access token 在此提示期间仍可正常读取。
Antigravity 提示 Token 失效 插件会用内置 Client ID 自动续期;若 Refresh Token 本身被撤销(改密码 / 撤销授权),需要重新导入或走「网页一键授权」。
用量数字长时间不刷新 宿主侧失败会指数退避到最长 5 分钟;在设置页点「刷新」可立即重试一次。
qiyu (agy) / wym (agy-cli))精准归属、retrieveUserQuotaSummary 真实配额与重置时间。AGY_CLIENT_ID / AGY_CLIENT_SECRET 提供(优先进程环境,兜底解析 ~/.dsh/.env),源码与 npm 包内不保存明文密钥。手动切换 > 固定模式 > 精确绑定 > 正则 > 自动识别 的优先级判定,界面提供「实时自检」。npm test 回归测试(路由判定 + 设置页渲染)。cordis.patch.yml 与 dsh.bundle 声明,dsh plugin add 后自动挂载。CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。