前言¶
DeepSeek Harness(DSH)采用插件化架构,让开发者按需扩展能力。但在现有生态中,若想使用 Google Antigravity(Gemini/Claude)和 ChatGPT Codex 的订阅额度,需要分别对接各自的 API,配置繁琐且难以统一管理。agy2dsh 插件通过 DSH 的 llm 服务接口,将这两种消费级订阅转化为可被 DSH Desktop 调用的普通 LLM 提供商,统一了认证、额度与调度。
插件定位¶
agy2dsh 是一个 DeepSeek Harness 插件,由维护者 wanzdoan 发布,归类为「模型推理」类。它把已付费的 Antigravity(Gemini/Claude)和 ChatGPT Codex 账号注册到 DSH 的 llm 服务中,实现自动刷新 OAuth 令牌、请求轮转、准确额度展示与图片生成等能力,让用户直接从 DSH 桌面端消费现有订阅,而无需购买额外 API 额度。
核心功能¶
1. 双 LLM 提供商接入¶
- Antigravity:从
fetchAvailableModels获取模型列表,过滤出计费模型族(claude-*、gemini-3.8-flash-{low,medium,high}),必要时回退到内置目录。 - Codex:使用目录中公开的推理级别与上下文窗口信息,将 Codex 订阅作为 LLM 提供者。
- 两者都注册为 DSH 的
llm服务提供者,可被 DSH 桌面端统一调用。
2. 自刷新凭证与重试¶
- 每个账号独立管理凭证引用(如
ANTIGRAVITY_OAUTH_1、CODEX_OAUTH_2等),支持代理、并发上限与标签。 - 支持令牌刷新时的退避重试、时钟偏移校正,以及令牌被拒绝时从 CLI 存储重新读取令牌。
- Codex 账号支持直接导入
~/.codex/auth.json。
3. 账号轮转与限流策略¶
- 每个账号被视为一个「槽位」,支持轮转(round-robin)、最少使用(least-used)或粘性(sticky)顺序。
- 在遇到 HTTP 429 错误后,对特定模型族应用冷却期,防止过度消耗同一账号。
- 无效账号进入隔离区,并通过预热探针重新检查可用性。
4. 准确的额度展示¶
- Antigravity 每个账号显示四个窗口:Gemini 与 Claude 的周窗口与 5 小时窗口,以百分比与重置倒计时呈现。
- 状态圆点根据 Gemini 5 小时窗口剩余量变色:≥60% 绿色、20–60% 黄色、<20% 红色。
- Codex 显示其 5 小时与 7 天窗口。
- CLI 为首选来源:通过
agy --print "/usage"解析计费桶的剩余分数与重置时间,缓存 5 分钟;若 CLI 不可用或未登录,则调用 Cloud Code 的:retrieveUserQuotaSummary与:retrieveUserQuota接口。 - UI 中通过「Subscription Hub」展示每窗口剩余比例与重置倒计时,会话头部显示状态圆点与快捷跳转。
5. 图片生成与操作¶
generate_image:使用订阅绑定的 Google 图片模型生成图片,并在对话中展示。- Codex 账号可作为主机的图片生成服务提供者(
subscriptionImages)。 - 支持在确认步骤后消费 Codex 重置额度。
- 插件保留请求历史、诊断信息、仅限本地的仪表盘,以及可选的加密 vault(支持 WebDAV/Gist/S3)。
安装与启用¶
agy2dsh 以 profile-sourced bundle 形式安装:DSH Desktop 会从活动 profile 的 manifest 组装主机。需要在 profile 的 package.json 中添加依赖与 bundle 条目:
{
"dependencies": { "agy2dsh": "github:wanzdoan/agy2dsh" },
"dsh": { "profile": { "bundles": ["@deepseek-ai/dsh-base", "@deepseek-ai/dsh-web-app", "agy2dsh"] } }
}
添加后重新安装 profile(profile 目录是 pnpm workspace,DSH Desktop 会覆盖安装),并重启 DSH Desktop。插件入口、路由与后台定时器仅在启动时加载,浏览器端代码位于 lib/client.js,同样需要重启才能生效。
典型用法¶
1. 导入账号¶
打开会话头部的「Subscription Hub」或设置中的插件卡片,每个提供商一个标签页:
- Antigravity:可通过「从 CLI 导入」读取本地 Credential Manager 记录与
~/.gemini/account-vault/sessions/*.json,支持多账号去重与复用已有槽位;或粘贴 OAuth 刷新令牌、手动 OAuth(需要antigravityClientId与antigravityClientSecret)。 - Codex:可通过「从 CLI 导入」读取
~/.codex/auth.json,或粘贴刷新令牌 / API 密钥。
导入操作将凭证写入 DSH 凭证存储,不再修改 CLI 文件。导入后插件会自动刷新各账号,无需再次运行 vendor CLI。
2. 调用模型¶
在 DSH 桌面端选择 Antigravity 或 Codex 提供商,即可像使用其他 LLM 提供者一样发起对话或函数调用。系统会根据所选策略在已注册账号间轮转请求。
3. 查看额度¶
会话头部显示状态圆点与快捷入口,点击可打开 Subscription Hub,查看每个窗口剩余比例、重置倒计时与账号列表。Composer 界面也会显示当前活动账号的最低剩余窗口。
适用场景与注意事项¶
- 适合已订阅 Antigravity 或 ChatGPT Codex,希望统一通过 DSH 桌面端使用这些订阅额度的用户。
- 插件以 DSH Desktop 进程权限运行,安装前建议阅读源码与 MIT 许可证。
- Antigravity 需要安装
agyCLI(路径按DSH_AGY_PATH、AGY_PATH、LOCALAPPDATA\agy\bin\agy.exe、APPDATA\agy\bin\agy.exe、USERPROFILE\AppData\Local\agy\bin\agy.exe顺序查找),CLI 必须登录到要查看计费的账号。 - Codex CLI 可选,若存在则可导入
~/.codex/auth.json。
小结¶
agy2dsh 把 Google Antigravity 与 ChatGPT Codex 的消费级订阅直接接入 DeepSeek Harness,提供自动刷新 OAuth、多账号轮转、准确额度展示与图片生成能力。通过统一的 DSH 接口,用户可以在一个桌面端界面中管理多种订阅,减少 API 额度购买成本。
- 插件目录页:https://www.skillhub.cn/plugins/wanzdoan/agy2dsh
- GitHub 仓库:https://github.com/wanzdoan/agy2dsh