omp-antigravity-acp-provider
Google Antigravity ACP provider for Oh My Pi (OMP), with tool bridging and per-model thinking; derived from zacbemis/pi-antigravity-acp-provider
Package details
Install omp-antigravity-acp-provider from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:omp-antigravity-acp-provider- Package
omp-antigravity-acp-provider- Version
0.1.36- Published
- Nov 8, 2026
- Downloads
- 2,724/mo · 982/wk
- Author
- sencha930511
- License
- MIT
- Types
- extension
- Size
- 2.7 MB
- Dependencies
- 0 dependencies · 0 peers
Pi manifest JSON
{
"extensions": [
"./extension/index.ts"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
omp-antigravity-acp-provider
Google Antigravity's official ACP server, adapted for Oh My Pi (OMP).
An OMP-focused derivative fork of zacbemis/pi-antigravity-acp-provider. Original project by zacbemis and contributors, licensed under MIT.
This is an independent adaptation, NOT an official Google or OMP integration. It uses ACP over stdio. The local HTTP MCP bridge carries tool calls; it is not a model API reverse proxy.
Features
- All server-advertised models, including Claude, GPT-OSS and future IDs when the ACP endpoint advertises them.
- Per-model thinking levels, exposed only when the server confirms them.
- OMP tools through an authenticated loopback MCP bridge.
- Optional
disablednative-tool mode for strict OMP-only sessions. - Lazy ACP startup and warm session reuse.
/loginplus/antigravity-acpaccount, usage and cleanup commands.- API-equivalent cost estimates, not subscription billing.
- Long-running OMP tools survive the MCP request window through a relay. The model resumes the same result with
pi_omp_await_result; the control tool is a separate MCP server and never appears in OMP's tool list. - Permission requests are tied to the originating session, turn and tool call. Forged, conflicting or previous-turn identities fail closed, while normal requests still use OMP's human review.
- The MCP
tools/listreflects the current OMP tool set. The offline wire test covers add, remove and restore on one warm ACP session.
Install: for human
Follow these steps in order. The whole flow takes a few minutes, plus Google's sign-in and the first runtime download.
1. Check prerequisites
- OMP is installed and
omp --versionworks. - Node.js 22.19 or newer (
node --version) and npm are onPATH; the marketplace launcher uses them on first load. - A supported platform: macOS, Linux or Windows. Live testing has been on macOS.
- Internet access for the first run. The official Antigravity runtime downloads separately (about 383 MiB on macOS) into
~/.local/opt/agy-acp/.
2. Install exactly one adapter
Use the marketplace (this repository is also the sencha-plugins marketplace):
omp plugin marketplace add SenCha930511/omp-antigravity-acp-provider
omp plugin install omp-antigravity-acp-provider@sencha-plugins
Or install the published npm package directly:
omp plugin install npm:omp-antigravity-acp-provider
Do not install both. Remove or disable any older Antigravity ACP adapter first.
3. Restart OMP
The provider registers at startup. Restart every running OMP process so they agree on session ownership.
4. Sign in
Run /login, choose Google Antigravity (ACP), and complete Google's consent in the browser. On a headless machine the provider relays the callback URL.
5. Load models and pick one
/antigravity-acp refresh
/model
refresh asks the ACP server which models the account can use; /model lists them. Set an effort with OMP's thinking control when the model advertises levels. If OMP's enabledModels whitelist is configured, add antigravity-acp/* to it.
6. Verify
/antigravity-acp status
This shows the runtime, native-tool mode and usage state. Send a short prompt to confirm inference.
Troubleshooting
| Symptom | Check |
|---|---|
omp: command not found |
This is an OMP plugin. Install OMP first; there is no standalone CLI. |
No models after /antigravity-acp refresh |
Run /antigravity-acp account to confirm both sides are signed in, then retry with internet access. ACP can advertise fewer models than the Antigravity app. |
| Two Antigravity providers appear | Remove the older adapter (antigravity-acp-omp, the upstream Pi extension, or a duplicate npm install), then restart OMP. |
| Login opens the wrong Google account | Both login paths always start a fresh sign-in. Choose the intended account (or "Use another account") on Google's consent screen. |
disabled native-tool mode rejects the session |
The official runtime must advertise system-append support (1.4.1+). Upgrade the runtime or run /antigravity-acp native-tools prefer. |
| The first request is slow | Runtime download and cold ACP start happen once; later turns reuse the warm session. |
| A tool call returns a relay notice | The model should call pi_omp_await_result with the notice's call_id. Lower OMP_ACP_TOOL_RELAY_MS or set it to 0 to disable relay. |
Install: for agents
The installation runbook is in AGENT_INSTALL.md. Hand that file to an agent with terminal access; it installs and verifies the adapter without starting an interactive login. For example: Read AGENT_INSTALL.md and follow it.
Commands
| Command | Purpose |
|---|---|
/antigravity-acp status |
Runtime, thinking and usage information |
/antigravity-acp account |
Signed-in account and authentication state |
/antigravity-acp login |
Re-run the Google authorization |
/antigravity-acp logout |
Clear Antigravity credentials and saved sessions |
/antigravity-acp refresh |
Discover and cache advertised models |
/antigravity-acp usage [auto|off] |
Context occupancy and supplemental usage queries |
/antigravity-acp context |
Per-model context budgets |
/antigravity-acp cleanup [mode] |
Session-file cleanup policy |
/antigravity-acp native-tools prefer|disabled |
Native built-in tool policy |
/antigravity-acp tools |
Available and omitted OMP tool schemas |
/antigravity-acp debug on|off |
ACP tool-status lines |
/antigravity-acp permissions default|auto-edit|yolo |
Permission mode |
Supplemental /usage queries are off by default. Context occupancy still comes from ACP usage_update. Run /antigravity-acp usage auto to opt into the extra query.
Steering and queued messages
By default a new user message waits for the active ACP turn to finish (OMP_ACP_STEER_MODE=queue) and then continues on the warm session, avoiding a full replay and OMP auto-compaction. Set OMP_ACP_STEER_MODE=steer to restore immediate interruption. At tool/permission boundaries the adapter falls back to steer and waits for the ACP terminal response; OMP_ACP_STEER_GRACE_MS (default 60000) and OMP_ACP_STEER_GRACE_MAX_MS (default 300000) bound that wait.
ACP runtimes stay warm for 15 minutes by default. Set OMP_ACP_IDLE_TIMEOUT_MS=0 to keep them until OMP exits, or lower the value to reclaim memory sooner.
An ACP turn that ends at the model's output limit is continued on the same session up to three times. OMP_ACP_MAX_CONTINUATIONS=0 disables the loop; if agy already reported its own output-cap continuation, the adapter does not add another.
Inference and /antigravity-acp refresh refuse to start ACP when no local Google login is available; run /login (or /antigravity-acp login) first instead of waiting for an interactive consent flow inside session/new.
Long tools and relay
A tool call that outlives OMP_ACP_TOOL_RELAY_MS (default 85000, 0 disables, otherwise 5000 through 165000) returns a relay notice instead of holding the MCP request open. The model calls pi_omp_await_result with the notice's call_id; the adapter returns the same original result, not a second execution. The control tool is a separate MCP server and is not added to OMP's tool list. If the ACP turn ends before the result arrives, the adapter retries the same result in a fresh ACP turn; it never delivers a stale result to a new writer.
Permission requests are correlated by session, turn and toolCallId with structured mcpServerName/mcpToolName metadata. A conflicting update, a previous-turn id, or a permission-before-update that claims MCP identity is rejected with reject_once when available, otherwise cancelled. Normal requests still go through OMP's human review.
The bridge's MCP tools/list always reflects the current OMP tool set. The offline wire test covers add, remove and restore on one warm ACP session. A live agent re-list has not been verified against the official agy runtime, so the adapter does not claim that the agent will always see a changed list.
A refusal stop reason is reported as an explicit provider refusal. An empty end_turn remains tolerated to preserve OMP's warm /retry path.
Limitations vs direct OAuth
- No direct model API endpoint or reverse-proxy mode.
- No API-key, service-account, or raw OAuth-token authentication; Google browser consent is required.
- Only models advertised by the ACP server are available.
- Only thinking levels confirmed by the ACP server are selectable.
- No arbitrary generation controls: temperature, top_p, seed, stop sequences, tool_choice, response format, or output-token limit.
- No exact API billing or complete subagent usage; cost and quota figures are estimates.
- No guaranteed prompt-cache hits, cache discounts, or identical tokenization.
- No full native history or hidden reasoning across a cold rebuild; server-side compaction is outside adapter control.
- No per-tool native allowlist;
native-toolssupports onlypreferanddisabled, and global MCP servers remain. - No standalone client; the official ACP runtime is required.
Detailed behavior, advanced settings and limitations: docs/ and CHANGELOG.md.
License
MIT. See LICENSE and THIRD_PARTY_NOTICES.md. Upstream source is vendored under extension/vendor/pi-antigravity-acp-provider (MIT) and kept with attribution. Official Google executables and their licenses are separate.