Google Antigravity is a powerful coding agent. OpenClaw is my agent orchestration platform. The problem: they don’t talk to each other.
I wanted Antigravity to work inside OpenClaw the same way Codex does. Spawn a session, send a task, get a response. No manual copy-paste, no switching between tools. Just another model in the toolkit, callable like any other.
So I built a plugin that bridges them.
What It Does
The plugin registers Google Antigravity as a provider in OpenClaw. Once installed, you can use Gemini models through Antigravity’s harness the same way you’d use Claude through Codex or GPT through the OpenAI API.
OpenClaw provider plugin
-> http://127.0.0.1:8080/v1/chat/completions
-> Python bridge sidecar
-> google-antigravity localharness
-> Gemini / Antigravity runtime
The architecture is a Python sidecar bridge that sits between OpenClaw’s Node.js process and Google’s google-antigravity package. The sidecar exposes an OpenAI-compatible endpoint at localhost:8080, so OpenClaw talks to it the same way it talks to any other model provider.
Why a Sidecar?
The bridge runs as a separate process (macOS LaunchAgent) by design. Python dependencies, localharness lifecycle, crash recovery, and logs stay isolated from OpenClaw’s Node.js process. Tight coupling between a Node.js agent platform and a Python inference runtime would have been fragile.
If the sidecar crashes, OpenClaw keeps running. If OpenClaw restarts, the sidecar keeps its sessions. They communicate over HTTP on localhost, which is the simplest and most reliable interface.
What Works
- OpenAI-compatible
/v1/chat/completionsendpoint - Non-streaming and SSE responses
- Per-session harness isolation (concurrent agents don’t interfere)
- OpenAI tool-call bridge
- Models: gemini-3.5-flash, gemini-3.1-pro, gemini-3.1-flash
The Hard Parts
Session isolation. Each OpenClaw session needs its own harness instance. If two agents share a session, their contexts bleed into each other. The bridge maintains strict session boundaries, even under concurrent load.
Tool-call translation. Cloud APIs have standardized tool-call formats. Antigravity’s format is different. The bridge translates between OpenAI’s format and Antigravity’s native format, handling edge cases like partial outputs and retries.
Crash recovery. A localharness process can die mid-task. The bridge detects this, restarts the process, and resumes without losing context. Cloud APIs handle this for you; locally, you have to build it yourself.
Open Source
The plugin is open source:
https://github.com/eonghk/openclaw-antigravity
Experimental, macOS-first, designed for local OpenClaw installations. Install with:
npm install -g openclaw-antigravity
openclaw-antigravity install
openclaw-antigravity doctor
Why This Matters
The agent ecosystem is converging on a pattern: multiple model providers, each with different strengths, orchestrated by a single platform. Codex for one kind of task, Claude for another, Antigravity for a third.
But every provider has its own API, its own session model, its own tool-call format. Without bridges like this, you’re stuck switching between tools manually. With them, your agent platform becomes a true orchestration layer that can route tasks to the best model for the job.
That’s the goal. Not lock-in to one provider, but the ability to use any provider as a first-class citizen in your agent workflow.