openclaw-antigravity
v0.1.0
Published
OpenClaw provider plugin for Google Antigravity localharness
Readme
OpenClaw Antigravity
OpenClaw provider plugin for Google Antigravity localharness.
This project packages one OpenClaw plugin plus a Python sidecar bridge. The bridge depends on Google's official google-antigravity Python package and does not redistribute the localharness binary.
Status
Experimental, macOS-first, and intended for local OpenClaw installations.
What works today:
- OpenAI-compatible
/v1/chat/completionsendpoint - non-streaming and SSE responses
- per-session harness isolation
- FIFO processing inside one session
- cross-session concurrency
- OpenAI tool-call bridge
- deterministic fake adapter regression tests
- OpenClaw provider plugin entry point
Architecture
OpenClaw provider plugin
-> http://127.0.0.1:8080/v1/chat/completions
-> Python bridge sidecar
-> google-antigravity localharness
-> Gemini / Antigravity runtimeThe npm package owns the OpenClaw provider and CLI. The Python bridge remains a separate process so Python dependencies, localharness lifecycle, crash recovery, and logs stay isolated from the OpenClaw Node.js process.
Install
npm install -g git+ssh://git@github-personal/eonghk/openclaw-antigravity.git
openclaw-antigravity install
openclaw-antigravity doctorThe package is not published to npm yet. After npm publication, the install command will become:
npm install -g openclaw-antigravitySet GEMINI_API_KEY in your environment or in ~/.openclaw/openclaw.json under env.vars.GEMINI_API_KEY.
Run
On macOS, install creates a LaunchAgent:
~/Library/LaunchAgents/com.openclaw.antigravity.plistIt also creates a Python virtual environment at:
~/.openclaw-antigravity/venvLogs:
~/.openclaw-antigravity/logs/bridge.out.log
~/.openclaw-antigravity/logs/bridge.err.logManage the service:
openclaw-antigravity status
openclaw-antigravity logs
openclaw-antigravity uninstallForeground mode:
PYTHON=~/.openclaw-antigravity/venv/bin/python openclaw-antigravity startDefault bridge URL:
http://127.0.0.1:8080/v1/chat/completionsUseful environment variables:
HARNESS_PORT: bridge port, default8080HARNESS_ADAPTER:realorfake, defaultrealHARNESS_BINARY: optional explicit path tolocalharnessHARNESS_SESSION_IDLE_SEC: session idle timeoutHARNESS_MAX_ACTIVE_SESSIONS: active session capHARNESS_REQUEST_TIMEOUT_SEC: request timeout
Test
openclaw-antigravity testThe test command uses the fake adapter and does not require google-antigravity or a Gemini API key.
OpenClaw Provider
The plugin registers provider id:
google-antigravityModels:
gemini-3.5-flashgemini-3.1-progemini-3.1-flash
The provider uses OpenAI-compatible completions against the local bridge. OpenClaw session metadata is forwarded as headers so the bridge can isolate sessions.
Security
- The bridge binds to
127.0.0.1only. - Missing session ids are rejected for chat requests.
- This package does not include Google's
localharnessbinary. - Do not publish local
.env, OpenClaw config, service account JSON, or API keys. - Run a secret scan before publishing releases.
Development
git clone git@github-personal:eonghk/openclaw-antigravity.git
cd openclaw-antigravity
npm testRun the bridge directly:
HARNESS_ADAPTER=fake HARNESS_PORT=18080 PYTHONPATH=$PWD python3 -u bridge/server.py
BRIDGE_URL=http://127.0.0.1:18080 python3 bridge/test-bridge.pyLicense
MIT
