事情是这样的,最近一直在蹬大善人的车,3 个月半价的 Ultra + 多人共享,成本降到 200 人民币,给谷歌交保护费了
连我最白嫖的 GitHub Copilot Pro+都不再钟情了,花钱的感觉就是爽.. 目前 Github Copilot 还有 80% 的 Credit。
大家都知道 Google Antigravity Ultra 每6 个小时刷新一次配额,基本实现非龙虾的 Opus 自由,且还有较多的 Google 3.1 Pro,Gmeini 3 的配额。

我作为一个白嫖起家的Up 主,一定是要将白嫖进行到底的,没有嫖满 24 小时,不行的,这一点都不行。
于是我在 Google Antigravity 以及道德感为 0 的 Claude Opus 4.6 的协作下狠狠的 NTR 了 Google Antigravity。

忙活了几个晚上终于搞定了这款让我随时随地白嫖谷歌的利器~ 我取名叫 Antigravity Mobility CLI 。
让他 24 小时给我打 !黑 !工 !

包含以下场景:
随时随地通过移动端写代码,就是这么任性!从此出门写代码,24 小时不要停,女朋友上洗手间,你就可以立马偷偷写代码,她觉得她比代码重要。
配合 Google Antigravity + 项目文件夹 + Memory + Obsidian 妥妥的 24 小时类龙虾工作台,喜欢就再做点 cron 定期执行下,你的OpenClaw 何必是 OpenClaw
实在不行,让小龙虾用垃圾模型调用 Google Antigravity 嘛,当成 SubAgent 好好给小龙虾干活!
自己玩自己,再也不担心降智了,你就不会写个 Workflow 让分发任务调用 Antigravity 调用自己吗?

真的可不能太爽啦。
我就是担心会不会被封,原理上是利用原来的接口,做的也是原来的活儿,并不是反代出来给其他软件调用的,应该是不会的,还是通过正经的 Google Language 服务器…
项目地址:
https://github.com/pikapikaspeedup/Antigravity-Mobility-CLI
欢迎大家交流使用。

~以下是项目介绍~
项目 3 大 目标
Antigravity 是 Google DeepMind 推出的强大 AI 编程代理 — 但它被锁在桌面 IDE 中。本项目有三个野心:
1. 🔓 自由使用 — 随时随地访问 Antigravity
打破桌面束缚。从任何设备 — 手机、平板、另一台笔记本、无头服务器 — 访问你的 AI 编程代理。全功能 Web UI 可在任何浏览器中运行。
2. 🤖 子代理模式 — 让其他工具调用 Antigravity
将 Antigravity 暴露为标准 REST + WebSocket API。任何工具、脚本或自动化平台(n8n、Make、Zapier、cron)都可以创建对话、发送提示、消费 AI 回复。
3. ⚡ Workflow 随处执行 — 按需触发自定义工作流
从命令行触发任何 Antigravity Skill 或 Workflow。在 IDE 中使用的 AI 流程 — 选题发现、内容生成、代码审查 — 都可以无头运行、定时运行、或从 CI/CD 触发。
# 示例:从终端触发 workflow
python3 scripts/call_workflow.py # → 创建对话,执行 /ai-topic-discovery,打印结果
核心功能
架构
┌───────────────────────────────────────────────────┐
│ 浏览器 / cURL / Python / CI/CD │
│ (手机、平板、笔记本、服务器) │
└──────────────┬────────────────────────────────────┘
│ HTTP :3000 + WebSocket /ws
▼
┌──────────────────────────────────────────────────┐
│ Antigravity Gateway(单端口) │
│ ┌─────────────────────────────────────────────┐ │
│ │ Next.js 16 + 自定义服务器 │ │
│ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │
│ │ │ React UI │ │ API 路由 │ │WebSocket │ │ │
│ │ │ (SSR) │ │ (REST) │ │(ws 代理) │ │ │
│ │ └──────────┘ └──────────┘ └──────────┘ │ │
│ │ Bridge 层 │ │
│ │ discovery.ts — 进程扫描 + 文件系统解码 │ │
│ │ statedb.ts — SQLite 读取 (state.vscdb) │ │
│ │ grpc.ts — gRPC-Web 客户端 (HTTPS) │ │
│ │ gateway.ts — Owner 路由 + 连接管理 │ │
│ └──────────────────┬──────────────────────────┘ │
└─────────────────────┼────────────────────────────┘
│ gRPC-Web (HTTPS, 127.0.0.1)
▼
┌──────────────────────────────────────────────────┐
│ Antigravity 语言服务器(多实例) │
│ (每个 workspace 一个,通过 ps 自动发现) │
│ 共享 .pb 文件,隔离的内存状态 │
└──────────────────────────────────────────────────┘
快速开始
前提条件
-
• Antigravity 桌面应用已安装并运行(至少打开一个 workspace) -
• Node.js ≥ 20
安装 & 启动
git clone https://github.com/pikapikaspeedup/Antigravity-Mobility-CLI.git
cd Antigravity-Mobility-CLI
npm install
npm run dev
就这样!打开 http://localhost:3000 即可使用。
如需从局域网其他设备访问,使用
http://<你的IP>:3000。
验证
# 检查已发现的服务器
curl http://localhost:3000/api/servers
# 检查用户信息
curl http://localhost:3000/api/me
# 列出可用模型
curl http://localhost:3000/api/models | jq '.clientModelConfigs[] | {label, model: .modelOrAlias.model}'
API 速览
完整文档:docs/GATEWAY_API.md
对话接口
环境接口
WebSocket
# 连接并订阅
wscat -c ws://localhost:3000/ws
> {"type": "subscribe", "cascadeId": "conversation-uuid"}
# ← {"type": "steps", "cascadeId": "...", "data": {"steps": [...], "status": "CASCADE_RUN_STATUS_RUNNING"}}
可用模型
快速示例
一行命令:提问
CID=$(curl -sX POST http://localhost:3000/api/conversations
-H 'Content-Type: application/json'
-d '{"workspace":"file:///Users/you/project"}' | jq -r .cascadeId) &&
curl -sX POST "http://localhost:3000/api/conversations/$CID/send"
-H 'Content-Type: application/json'
-d '{"text":"解释这个项目的架构"}' &&
sleep 15 &&
curl -s "http://localhost:3000/api/conversations/$CID/steps" |
jq -r '[.steps[] | select(.plannerResponse)] | last | .plannerResponse.modifiedResponse'
Python:完整对话
import requests, time
BASE = "http://localhost:3000"
# 创建对话
cid = requests.post(f"{BASE}/api/conversations",
json={"workspace": "file:///path/to/your/project"}).json()["cascadeId"]
# 发送消息
requests.post(f"{BASE}/api/conversations/{cid}/send",
json={"text": "审查这个代码库", "model": "MODEL_PLACEHOLDER_M26"})
# 等待并获取结果
time.sleep(20)
steps = requests.get(f"{BASE}/api/conversations/{cid}/steps").json()["steps"]
ai_reply = [s for s in steps if s.get("plannerResponse")][-1]
print(ai_reply["plannerResponse"]["modifiedResponse"])
触发 Workflow
python3 scripts/call_workflow.py
# 创建对话 → 发送 /ai-topic-discovery → 监控进度 → 打印结果
项目结构
Antigravity-Mobility-CLI/
├── server.ts # 自定义服务器:Next.js + WebSocket 单端口
├── src/app/
│ ├── page.tsx # 主聊天页面
│ └── api/ # 17 个 REST API 路由处理器
│ ├── conversations/ # CRUD + send/cancel/revert/proceed
│ ├── models/ # 模型列表及配额
│ ├── skills/ # 技能发现
│ └── ...
├── src/lib/bridge/ # 核心桥接层
│ ├── discovery.ts # 自动发现 language_server (ps + lsof + fs 解码)
│ ├── grpc.ts # gRPC-Web 客户端
│ ├── statedb.ts # 从 SQLite 读取 API key、workspace
│ └── gateway.ts # Owner 路由、连接管理
├── scripts/
│ └── call_workflow.py # 示例:无头 workflow 执行
├── docs/ # 📚 技术文档
│ ├── GATEWAY_API.md # 对外 API 参考(CLI/集成用)
│ ├── API_REFERENCE.md # 内部 gRPC 协议参考
│ ├── STATE_DB_DATA_MAP.md # SQLite state.vscdb 数据结构
│ ├── CDP_REVERSE_ENGINEERING.md # 如何逆向工程 Antigravity
│ └── GAP_ANALYSIS.md # 功能覆盖 vs 原生 Agent Manager
├── PITFALLS.md # 🚧 13 个已记录的深坑及解决方案
└── package.json
技术栈
🐛 已知缺陷 (Known Limitations)
“缺陷比特性多…” —— 这是目前版本的一些无伤大雅(且懒得修)的折衷:
-
1. 🔒 Agent Manager 侧不可见 (One-way Visibility):在 Gateway Web 端新建的对话,在官方桌面的 Agent Manager 侧边栏是看不到的。但反过来,桌面端新建的对话在 Web 可见,且双方聊天记录双向同步。(深坑详见 PITFALLS.md §16)。 -
2. 🏗️ Playground 新建限制:Playground 无路径的寻址逻辑较繁琐,目前在 Web 端已隐蔽 / 禁止了直接在 Playground 中新建对话。 -
3. ⚠️ Action 解析与异常拦截不完整:目前大量 Action 被默认当作了自动 Approval 处理,解析不完整(比如访问特定 URL 行不行未知)。有时到了最后一步会意外出现一个滞留的 Proceed和reject按钮,AI 没改好,顺其自然吧。 -
4. ↩️ 撤回 (Revert) 功能缺陷:目前的撤回好像只成功撤回了 AI 的回应,我们自己发出的 Prompt 居然还在屏幕上。 -
5. ⚙️ CLI 无头模式的自动审批:并没有对 CLI 模式做 Plan 和 Fast 的区分。如果 CLI 中途遇到了需要人工审批的阻塞可能不知所措。建议尽量只运行能够一路畅通的成熟 Workflow 脚本,我自己有一个脚本示意好像可以的。 -
6. 🔄 当它 hmm 得时候…:如果多端同步或 Web 通信偶尔出现抽风异常,请用最原始的方法——强制刷新整个页面。

