feat(antigravity): add experimental Antigravity agent integration#865
Closed
Joseph19820124 wants to merge 2 commits into
Closed
feat(antigravity): add experimental Antigravity agent integration#865Joseph19820124 wants to merge 2 commits into
Joseph19820124 wants to merge 2 commits into
Conversation
Adds Dockerfile.antigravity that bridges OpenAB to Google's Antigravity
backend (daily-cloudcode-pa.googleapis.com) by re-targeting the existing
gemini-cli ACP implementation. No new Rust code or protocol changes are
required — `gemini --acp` continues to be the binary OpenAB spawns.
How it works
- Installs @google/gemini-cli (which already speaks ACP via --acp).
- At container startup, an entrypoint script rewrites three constants in
the gemini-cli bundle:
OAUTH_CLIENT_ID, OAUTH_CLIENT_SECRET, CODE_ASSIST_ENDPOINT
so requests go to Antigravity's backend with Antigravity OAuth.
- No literal Antigravity secrets are shipped in the image — values come
from env vars (ANTIGRAVITY_OAUTH_CLIENT_ID / ANTIGRAVITY_OAUTH_CLIENT_SECRET)
set on the container at deploy time.
Rationale
- Antigravity is Google's new IDE product (Google I/O 2026). It uses the
same /v1internal:streamGenerateContent wire protocol as gemini-cli, just
on a different host with a different OAuth client.
- There is no official @google/antigravity-cli npm package yet.
- Users with Antigravity subscriptions can already access Gemini 3 Pro,
Gemini 3.5 Flash, and Claude 4.6 — this PR makes that subscription
reachable from OpenAB.
- The patch script is auto-discovering (greps the bundle for the existing
gemini-cli constants), so no values from gemini-cli are hardcoded in
this PR either.
Marked EXPERIMENTAL throughout the docs and Helm values. Once Google
ships an official Antigravity CLI with --acp, Dockerfile.antigravity will
be reduced to a thin npm install (mirroring Dockerfile.gemini exactly)
and the runtime patch script will be removed.
Files changed
- Dockerfile.antigravity (new)
- docs/antigravity.md (new)
- charts/openab/values.yaml (add commented antigravity example block)
- AGENTS.md (update Dockerfile count: 7 → 10, also picks up grok/hermes
that were already present but undocumented in this section)
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
|
All PRs must reference a prior Discord discussion to ensure community alignment before implementation. Please edit the PR description to include a link like: This PR will be automatically closed in 3 days if the link is not added. |
After verifying against the official google-antigravity/antigravity-cli release (v1.0.0, May 2026), the doc previously said 'no official CLI exists'. The CLI does exist now, but it has no ACP / stdio JSON-RPC mode (verified via --help + binary strings inspection): Available flags: --add-dir, -c/--continue, --conversation, --dangerously-skip-permissions, -i/--prompt-interactive, --log-file, -p/--print, --print-timeout, --prompt, --sandbox. Subcommands: changelog, help, install, plugin/plugins, update. So OpenAB still cannot spawn agy directly — none of its modes provide the streaming JSON-RPC OpenAB's ACP harness expects. The patched- gemini-cli bridge in this PR remains the only path until agy adds ACP support upstream. Updates: - docs/antigravity.md: capability matrix for agy modes, explicit rationale for the bridge, future-replacement Dockerfile shape - Dockerfile.antigravity: comment block updated to match reality Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Contributor
Author
|
Closing — superseded; will revisit once |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds
Dockerfile.antigravitythat bridges OpenAB to Google's Antigravity backend by re-targeting the existinggemini-cli --acpimplementation againstdaily-cloudcode-pa.googleapis.com. No new Rust code, no new protocol — the agent still speaks ACP-over-stdio just likeDockerfile.gemini.What this unlocks
For users with an Antigravity subscription, this gives OpenAB Discord / Slack / Custom Gateway bots access to:
… without paying API rates, and without OpenAB needing protocol changes.
How it works
Antigravity reuses the same wire protocol as
gemini-cli:…on a different host (
daily-cloudcode-pa.googleapis.cominstead ofcloudcode-pa.googleapis.com) with a different OAuth client. So:@google/gemini-cli(whose--acpmode OpenAB already integrates).gemini --acpsubprocess.Why not invoke
agydirectlyVerified against v1.0.0:
agymode-i / --prompt-interactive-p / --printagyv1.0.0 has no stdio JSON-RPC surface. The patched-gemini-cli approach is the only way to deliver Antigravity backend access to OpenAB users today without changes to OpenAB's ACP harness.Security / secret-hygiene
ANTIGRAVITY_OAUTH_CLIENT_ID/ANTIGRAVITY_OAUTH_CLIENT_SECRETenv vars (HelmsecretEnvpattern, seevalues.yaml).Files changed
Dockerfile.antigravityDockerfile.geminitemplate with runtime patch + entrypointdocs/antigravity.mdagycapability matrix + future-replacement plancharts/openab/values.yamlantigravity:example block (same style asopencode/grok/hermes)AGENTS.mdgrok/hermeswhich weren't listed there)Compatibility / risk
GEMINI_CLI_VERSION— no silent corruption.daily-cloudcode-pa.googleapis.com/v1internalis an internal API; clearly marked in docs.agyadds--acpupstreamdocs/antigravity.md).AGENTS.mdcount and a new commented block invalues.yaml.Test plan
Dockerfile.antigravitysucceedspatch complete; endpoint=https://daily-cloudcode-pa.googleapis.comgemini --acpinitializes a session against the Antigravity backendANTIGRAVITY_OAUTH_CLIENT_IDmakes the patch script exit with the required-var message before openab startsOpen questions for reviewers
agents.antigravity.*withcommand: gemini, args: [--acp]. Should there be a dedicatedagents.antigravityschema, or is "reuse the gemini schema with an env-vars overlay" acceptable for now (given the actually-invoked binary still isgemini)?Dockerfile.antigravitybe added to the release workflow's image-build matrix now, or wait untilagyadds--acpand the Dockerfile simplifies?antigravitykeeps the future-facing name. Alternative:agyto match Google's binary. Easy to rename pre-merge.Happy to iterate on any of the above.
Related
--acpflag for ACP orchestrator compatibility🤖 Generated with Claude Code