# loop-antigravity
**Repository Path**: perrylink/loop-antigravity
## Basic Information
- **Project Name**: loop-antigravity
- **Description**: Autonomous dev closed-loop for Google Antigravity. 1M-token full-codebase context via Gemini 3.5 Flash, multimodal, circuit breaker, cost cap. Part of the Loop Engineering family.
- **Primary Language**: Unknown
- **License**: Apache-2.0
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2026-08-22
- **Last Updated**: 2026-08-22
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# loop-antigravity — Goal-Driven Autonomous Dev Loop for Google Antigravity / Gemini
[](https://gitee.com/perrylink/loop-antigravity)
*A [**Loop Engineering**](https://github.com/PerryLink/loop-everything) autonomous coding loop engine — turn goals into production code.*
> 利用 Gemini 的 1M token 上下文窗口和多模态推理能力,设定一个目标,在 GCP 上自主完成设计、实现、测试、验证的完整闭环。
[](https://github.com/PerryLink/loop-antigravity)
[](./LICENSE)
[](https://python.org)
[English](#english) | [中文](#中文)
**This project is an alternative to cloud-agnostic AI coding tools, but specifically optimized for GCP-native autonomous development using Google Antigravity (agy CLI) with Gemini's 1M token context and multimodal reasoning, compiled to a single PyInstaller binary.**
## English
### Features
- **Dual Backend** — agy CLI subprocess engine and Gemini SDK direct client, auto-selectable via `BackendSelector` with unified `GeminiBackend` protocol
- **Circuit Breaker Protection** — CLOSED/OPEN/HALF_OPEN state machine with configurable failure thresholds and exponential backoff, prevents API fault cascading and quota waste
- **Context Packer** — intelligently packs full codebase into Gemini's 1M token context window, no chunking or RAG needed
- **Billing Tracker** — `BillingTracker` enforces daily/weekly hard caps with per-cycle token/cost accounting
- **Multimodal Handler** — dedicated `MultimodalHandler` processes images (png/jpg/gif/webp), PDFs, audio (mp3/wav), and video (mp4)
- **GCloud Auth** — `GCloudAuth` manages ADC credentials with service account support, ready for Cloud Run and Vertex AI deployment
- **11-Phase Dispatch Engine** — `PhaseDispatcher` drives the autonomous development loop from design through implementation, testing, and verification
- **Crash-Proof Persistence** — `state.json` with atomic writes and schema validation via `StateManager`; session restart picks up from last completed phase
### Quick Start
```bash
# Prerequisites: Python >= 3.11, agy CLI installed, GCP project configured
pip install loop-antigravity
# Or clone source
git clone https://github.com/PerryLink/loop-antigravity.git
cd loop-antigravity
pip install -r requirements.txt
# Authenticate with GCP
gcloud auth application-default login
# Run with a goal
loop-antigravity run --goal "Build a REST API with FastAPI"
# Check dependencies and health
loop-antigravity --check
# Choose operation mode
loop-antigravity --safe # L1 Shield: conservative breaker, low billing cap
loop-antigravity --auto # L2 Standard: balanced breaker and billing (default)
loop-antigravity --unsafe # L3 Unlimited: loosest breaker, for trusted sandboxes only
```
Requirements: Python >= 3.11, Google Cloud SDK, `agy` CLI in PATH, GCP project with Gemini API enabled.
### FAQ
#### Q: Why use loop-antigravity instead of calling the Gemini API directly?
A: loop-antigravity layers production-grade safeguards on top of Gemini that raw API calls lack: a circuit breaker that prevents cascading failures during outages, a billing tracker that enforces hard spending caps, and a context packer that optimizes your 1M token window. The dual-backend architecture (agy CLI or Gemini SDK) gives you deployment flexibility — use the SDK for lightweight scripts, or agy CLI for full GCP-native toolchain access.
#### Q: What happens if the Gemini API has an outage?
A: The circuit breaker opens after 5 consecutive failures (configurable), blocking all API calls for a cooldown period (default 60s). During cooldown, the loop pauses and saves state. After cooldown, it enters HALF_OPEN and sends a single probe request. If the probe succeeds, the breaker closes and the loop resumes. If not, the breaker re-opens with exponential backoff.
#### Q: How much does it cost to run?
A: Costs vary based on project size and token usage. The 1M token context is powerful but can be expensive. loop-antigravity's `BillingTracker` logs per-cycle costs and enforces daily/weekly hard caps (configurable via `--budget-daily` and `--budget-weekly`). For a typical medium-sized project, expect $2-15 per full development loop with Gemini 2.5 Flash.
#### Q: Which backend should I choose — agy CLI or Gemini SDK?
A: **agy CLI** — best for GCP-native workflows, supports full `stream-json` output and Google Antigravity toolchain integration. **Gemini SDK** — best for lightweight usage, simpler dependency footprint, direct `google-generativeai` calls. The `BackendSelector` auto-detects available backends. Override with `--backend agy_cli` or `--backend gemini_sdk`.
### Related Projects
- [loop-everything](https://github.com/PerryLink/loop-everything) — master index & orchestration layer for all loop engines
- [loop-superpowers](https://github.com/PerryLink/loop-superpowers) — pure Skill mini-loops for Claude Code
- [loop-opencode](https://github.com/PerryLink/loop-opencode) — closed-loop driver for OpenCode CLI
- [loop-codex](https://github.com/PerryLink/loop-codex) — dual-channel (JSON-RPC + CDP) driver for Codex Desktop
- [loop-copilot](https://github.com/PerryLink/loop-copilot) — closed-loop driver for GitHub Copilot SDK
- [loop-cursor](https://github.com/PerryLink/loop-cursor) — closed-loop driver for Cursor IDE SDK
- [loop-deepseek](https://github.com/PerryLink/loop-deepseek) — self-built ReAct agent loop for DeepSeek API
- [loop-ollama](https://github.com/PerryLink/loop-ollama) — self-built ReAct agent loop for local Ollama models
- [loop-openclaw](https://github.com/PerryLink/loop-openclaw) — multi-agent loop config generator for OpenClaw Gateway
- [loop-aider](https://github.com/PerryLink/loop-aider) — closed-loop steering layer for Aider AI coding engine
- [loop-claudecode](https://github.com/PerryLink/loop-claudecode) — goal-driven autonomous development closed-loop for Claude Code
- [loop-hermes](https://github.com/PerryLink/loop-hermes) — autonomous coding loop wrapping Hermes SDK
## 中文
### 项目简介
**loop-antigravity** 封装 Gemini API(agy CLI + Gemini SDK 双后端),内置熔断器、上下文打包、用量追踪和多模态处理,为成本可控的自主编码优化。不同于通用 AI 编码工具,本项目专为 GCP 原生自主开发优化,充分利用 Google Antigravity (agy CLI) 与 Gemini 的 1M token 上下文及多模态推理能力,编译为单一 PyInstaller 二进制文件。
### 功能特性
- 🔀 **双后端架构** — agy CLI 子进程引擎 和 Gemini SDK 直连客户端,通过 `BackendSelector` 自动选择,统一 `GeminiBackend` 协议
- ⚡ **断路器保护** — CLOSED/OPEN/HALF_OPEN 状态机,可配置故障阈值和指数退避,防止 API 故障级联和配额浪费
- 📦 **上下文打包器** — `ContextPacker` 智能将完整代码库打包进 Gemini 1M token 上下文窗口,无需分块或 RAG
- 💰 **用量追踪** — `BillingTracker` 强制执行每日/每周硬上限,含每周期 token/成本核算
- 🎨 **多模态处理器** — 专用 `MultimodalHandler` 处理图片(png/jpg/gif/webp)、PDF、音频(mp3/wav)、视频(mp4)
- ☁️ **GCP 认证** — `GCloudAuth` 管理 ADC 凭证,支持服务账号,可直接部署到 Cloud Run 和 Vertex AI
- 🔄 **11 阶段分派引擎** — `PhaseDispatcher` 驱动自主开发闭环,从设计到实现、测试、验证
- 💾 **崩溃恢复** — `state.json` 原子写入与 schema 校验,会话重启从最后完成的阶段继续
### 快速开始
```bash
# 环境要求: Python >= 3.11, agy CLI 已安装, GCP 项目已配置
pip install loop-antigravity
# 或克隆源码
git clone https://github.com/PerryLink/loop-antigravity.git
cd loop-antigravity
pip install -r requirements.txt
# GCP 认证
gcloud auth application-default login
# 设定目标运行
loop-antigravity run --goal "用 FastAPI 构建 REST API"
# 检查依赖和健康状态
loop-antigravity --check
# 选择操作模式
loop-antigravity --safe # L1 Shield:保守熔断,低计费上限
loop-antigravity --auto # L2 Standard:平衡熔断和计费(默认)
loop-antigravity --unsafe # L3 Unlimited:最宽松熔断,仅可信沙箱使用
```
环境要求: Python >= 3.11, Google Cloud SDK, `agy` CLI 在 PATH 中, GCP 项目已启用 Gemini API。
### 常见问题
#### Q: 为什么要用 loop-antigravity 而不是直接调用 Gemini API?
A: loop-antigravity 在 Gemini 之上增加了原生 API 调用所缺乏的生产级安全保障:断路器可防止宕机期间的级联故障,用量追踪器强制执行硬性支出上限,上下文打包器优化你的 1M token 窗口。双后端架构(agy CLI 或 Gemini SDK)为你提供部署灵活性——用 SDK 处理轻量脚本,或用 agy CLI 获取完整的 GCP 原生工具链。
#### Q: 如果 Gemini API 宕机了会发生什么?
A: 断路器在连续 5 次故障后打开(可配置),在冷却期(默认 60s)内阻止所有 API 调用。冷却期间,循环暂停并保存状态。冷却结束后进入 HALF_OPEN 状态并发送单个探测请求。如果探测成功,断路器关闭,循环恢复。如果失败,断路器重新打开并采用指数退避策略。
#### Q: 运行成本是多少?
A: 成本因项目大小和 token 用量而异。1M token 上下文功能强大但可能费用较高。loop-antigravity 的 `BillingTracker` 记录每周期成本并强制执行每日/每周硬上限(可通过 `--budget-daily` 和 `--budget-weekly` 配置)。对于一个典型的中型项目,使用 Gemini 2.5 Flash 每次完整开发循环预计花费 $2-15。
#### Q: 应该选择哪个后端——agy CLI 还是 Gemini SDK?
A: **agy CLI** — 最适合 GCP 原生工作流,支持完整 `stream-json` 输出和 Google Antigravity 工具链集成。**Gemini SDK** — 最适合轻量使用,依赖更少,直接调用 `google-generativeai`。`BackendSelector` 自动检测可用后端。可通过 `--backend agy_cli` 或 `--backend gemini_sdk` 手动指定。
### 相关项目
- [loop-everything](https://github.com/PerryLink/loop-everything) — 所有 loop 引擎的总索引和编排层
- [loop-superpowers](https://github.com/PerryLink/loop-superpowers) — Claude Code 的纯 Skill 迷你循环
- [loop-opencode](https://github.com/PerryLink/loop-opencode) — OpenCode CLI 的闭环驱动
- [loop-codex](https://github.com/PerryLink/loop-codex) — Codex Desktop 的双通道(JSON-RPC + CDP)驱动
- [loop-copilot](https://github.com/PerryLink/loop-copilot) — GitHub Copilot SDK 的闭环驱动
- [loop-cursor](https://github.com/PerryLink/loop-cursor) — Cursor IDE SDK 的闭环驱动
- [loop-deepseek](https://github.com/PerryLink/loop-deepseek) — DeepSeek API 的自建 ReAct 代理循环
- [loop-ollama](https://github.com/PerryLink/loop-ollama) — 本地 Ollama 模型的自建 ReAct 代理循环
- [loop-openclaw](https://github.com/PerryLink/loop-openclaw) — OpenClaw Gateway 的多代理循环配置生成器
- [loop-aider](https://github.com/PerryLink/loop-aider) — Aider AI 编码引擎的闭环控制层
- [loop-claudecode](https://github.com/PerryLink/loop-claudecode) — Claude Code 的目标驱动自主开发闭环
- [loop-hermes](https://github.com/PerryLink/loop-hermes) — 封装 Hermes SDK 的自主编码循环
---
## License
Apache License 2.0 — see [LICENSE](./LICENSE) for full text.
Copyright 2026 Perry Link