Eridani075 / deepseek-harness-antigravity-oauth

Listed

Google Antigravity OAuth Gemini provider for DeepSeek Harness

mainModel View source

Installation

npx -y @deepseek-ai/dsh plugin --profile web add github:Eridani075/deepseek-harness-antigravity-oauth

This installation command is an unverified starting point generated from the GitHub repository address.

README

Maintainer-authored documentation snapshot.

View on GitHub ↗
Commit 6b2dc1bSynced Aug 18, 2026

DeepSeek Harness Antigravity OAuth

将 Google Antigravity 账号中的 Gemini 模型接入 DeepSeek Harness,作为原生 LLM provider 使用。

  • Provider ID:antigravity
  • 运行方式:DSH Web profile 插件
  • 认证方式:Google OAuth,本机保存 refresh token

[!WARNING] 本插件调用 Antigravity 的非公开内部 API,不是 Google 官方 Gemini API 集成。使用它可能违反 Google 服务条款,也可能导致账号受限或封禁。请自行评估风险,不要使用重要账号。Google 或 Antigravity 的协议变更可能随时使插件失效。

免责声明

本项目及其作者与 Google、DeepSeek 或 Antigravity 官方没有隶属、授权或赞助关系。

本插件仅供学习和技术研究使用。用户须自行确认其所在地区的法律法规、Google 服务条款以及相关账号政策,并自行承担使用本插件产生的全部风险,包括但不限于账号限制、服务中断、数据丢失或其他损失。

本项目调用的接口属于非公开接口,作者不保证其长期可用性、稳定性或兼容性,也不承诺为因接口变化、账号策略变化或第三方服务故障导致的问题提供修复。

请勿将 OAuth callback URL、authorization code、access token、refresh token 或其他敏感信息提交到 issue、日志、截图或公开仓库。

功能

  • Gemini 文本生成、thinking 和 tool calls/results
  • 流式响应、usage、abort、自动刷新 token 和失败重试
  • Web UI 设置页直接唤起 Google 登录,并自动接收 OAuth callback
  • Models 设置页删除/恢复 provider
  • Antigravity 设置页退出登录并删除本机 OAuth 凭据

当前不支持图像/PDF 输入和多账号轮换;图像模型不会注册到模型选择器。

模型

当前注册的模型 ID:

antigravity-gemini-3.7-flash
antigravity-gemini-3.6-flash
antigravity-gemini-3.5-flash
antigravity-gemini-3.1-pro

*-pro 支持 lowhigh reasoning effort;其他模型支持 lowmediumhigh

兼容性

  • Node.js 20 或更高版本
  • @deepseek-ai/dsh@0.1.0-rc.6 开发/验证版本
  • OAuth 和 transport 由 cortexkit/antigravity-auth 提供

安装

使用预构建包

打开 GitHub Releases, 在 Assets 中下载 dsh-antigravity-oauth-*.tgz,然后安装下载的文件:

dsh plugin --profile web add "/absolute/path/to/dsh-antigravity-oauth-VERSION.tgz"
dsh --profile web --dump-config

从源码构建

在项目目录执行:

npm ci
npm run check
npm run pack

产物位于 artifacts/。安装生成的 tarball:

dsh plugin --profile web add "/absolute/path/to/artifacts/dsh-antigravity-oauth-VERSION.tgz"
dsh --profile web --dump-config

--dump-config 输出中应出现 dsh-antigravity-oauth bundle 和 llm-antigravity-oauth 条目。安装或升级插件后,重启已经运行的 DSH Web 服务再刷新浏览器; 不要在已有服务占用 127.0.0.1:3080 时重复启动第二个 dsh web

安装时 pnpm 可能提示缺少 DSH peer dependencies,以及 honoarctic。DSH peer 由宿主提供, honoarctic 不在本插件使用的 OAuth/transport 路径中;只要 bundle 能正常加载,就不需要 为了消除提示而重复安装这些依赖到 profile。

登录

Web UI

打开 DSH Web UI 的 Settings → Antigravity,点击「登录 Google」并完成授权。插件会在 DSH Host 侧监听本机 OAuth callback 并自动保存凭据,正常情况下不需要手动复制 code。浏览器阻止新标签页时, 页面会提供一次性的「打开授权页面」按钮。

CLI

dsh plugin --profile web exec dsh-antigravity-login

CLI 会监听 127.0.0.1:51121 并打印 Google OAuth URL。授权完成后 callback 会自动交给 CLI;如果 自动 callback 失败,可以粘贴完整 callback URL 或 authorization code。

凭据默认保存到:

${DSH_HOME:-~/.dsh}/antigravity-oauth.json

可以通过 DSH_ANTIGRAVITY_AUTH_FILE 指定其他路径。POSIX 系统上的凭据文件权限会设置为 0600

Provider 和凭据管理

登录后,在模型选择器中选择 antigravity provider 和上面的模型 ID。

删除或恢复 provider

Settings → Models 中的 Google Antigravity provider 使用 DSH 原生 Delete 操作:

  • Delete 会移除 provider 配置并停用 adapter,但保留 OAuth 凭据文件。
  • Settings → Antigravity 中的「启用提供商」可以恢复 provider,无需重新登录。

退出登录

Settings → Antigravity →「退出登录」会删除本机 OAuth 凭据文件,但不会撤销 Google 账号侧的应用 授权。重新使用模型前需要再次登录。

故障排查

模型没有出现在模型选择器

确认插件安装到当前使用的 profile,并检查:

dsh --profile web --dump-config

确认输出包含 dsh-antigravity-oauthllm-antigravity-oauth 后,重启 DSH Web 服务并重新打开 Settings → Models。

EADDRINUSE: 127.0.0.1:3080

已有 DSH Web 服务正在运行。刷新已有页面即可;需要加载新插件版本时,重启旧服务后再打开, 不要并行启动第二个 dsh web

EADDRINUSE: 127.0.0.1:51121

退出旧的 dsh-antigravity-login,确认 OAuth callback 端口释放后再重试。

User location is not supported for the API use

这是 Google 对请求出口地区的限制。请使用 Google 支持地区的代理出口。Antigravity core 会读取 HTTPS_PROXYALL_PROXYNO_PROXY,例如:

HTTPS_PROXY=http://127.0.0.1:7890 \
NO_PROXY=127.0.0.1,localhost \
dsh web

OAuth 或模型请求出现 fetch failed

检查 DSH Host 能否访问 Google OAuth 和 Antigravity endpoint,再检查代理、证书和网络出口。 不要把 OAuth callback URL、authorization code、access token 或 refresh token 提交到 issue。

开发

npm ci
npm run check

主要模块:

  • src/adapter.ts:DSH LLM 消息与 Antigravity Gemini 请求/SSE 的转换。
  • src/auth.ts:凭据文件读写、权限设置和 access token 刷新。
  • src/web-auth.tssrc/client.tsx:Web UI OAuth 服务和设置页。
  • src/login.tssrc/oauth-callback.ts:CLI 登录和本机 callback server。

发布本地构建包

更新 package.json 版本后执行:

npm run check
npm run pack

tarball 会写入 artifacts/;该目录中的 *.tgz 已被 .gitignore 忽略。发布到 GitHub 时,建议 将 tarball 作为 GitHub Release 附件,而不是提交到源码仓库。

License

MIT

Project files and signals

Shown items are public repository signals detected in the directory snapshot.

TestsDetected

Repository information

Language
TypeScript
License
MIT
Latest release
v0.2.5
Last updated
Aug 15, 2026, 2:36 PM

Install deliberately

Review source code, permissions, lifecycle hooks, dependencies and network access. Test untrusted plugins in an isolated environment.