The project's README from github.com/yuaotian/antigravity-proxy. As one markdown file: README.md.
🚀 专为 Antigravity 编辑器打造:在中国也能无需 TUN 模式稳定走代理
🇬🇧 English Version | 🇷🇺 Русская версия
先说结论:如果 Antigravity 的对话框里出现
Agent execution terminated due to error,请先排查代理出口 IP,不要先怀疑 DLL 没生效。
我们已经在真实现场里确认过,最容易误判的场景是:
version.dll 已加载language_server_windows_x64.exe 已注入node.exe 也已注入oauth2.googleapis.com / daily-cloudcode-pa.googleapis.com 仍然可以通过 SOCKS5 正常连通ls-main.log 仍然返回:FAILED_PRECONDITION (code 400): User location is not supported for the API use.这类问题的主因通常不是 DLL 失效,而是:
<Antigravity安装目录>\\logs\\proxy-YYYYMMDD.log如果你在这份日志里看到类似下面这些关键行,说明 DLL 本身已经在工作:
[成功] 已注入目标进程: language_server_windows_x64.exe[成功] 已注入目标进程: node.exeSOCKS5: 隧道建立成功, 目标=oauth2.googleapis.com:443SOCKS5: 隧道建立成功, 目标=daily-cloudcode-pa.googleapis.com:443在配置页开启 diagnostics.agent_ip_probe 后,DLL 会额外输出 IP 诊断日志:
[诊断/IP] 当前代理出口探测完成: ...[诊断/IP] 当前代理出口呈现机房/托管特征...[诊断/IP] 最新 Antigravity 日志已命中 location 限制错误,同时当前代理出口呈现机房/托管特征...%APPDATA%\\Antigravity\\logs\\<最新时间目录>\\ls-main.log如果你在这里看到:
agent executor error: FAILED_PRECONDITION (code 400): User location is not supported for the API use.那就说明:
proxy-YYYYMMDD.log%APPDATA%\\Antigravity\\logs\\<最新目录>\\ls-main.logUser location is not supported for the API use.,优先排 IP。Antigravity 对话报错时,先排出口 IP,再排 DLL。看到
location is not supported基本优先看 IP。
Antigravity-Proxy 是专门为 Antigravity 编辑器量身定制的 Windows 代理注入组件(DLL)。
它的目标很简单:让中国用户使用 Antigravity 时,不用开 Clash TUN 模式,也能把网络流量稳定交给你的 SOCKS5/HTTP 代理。
项目名 Antigravity-Proxy = Antigravity + Proxy:只把 Antigravity 相关进程的流量“拽”进代理里(别担心,不会全局接管)。
你是否遇到过这些情况?
Antigravity-Proxy 就是来专治这个的。 它可以:
| 传统方案 | Antigravity-Proxy |
|---|---|
| 需要 TUN 模式 | 无需 TUN |
| 全局代理 | 精准代理指定进程 |
| 需要管理员权限 | 普通用户即可 |
| 配置复杂 | 放入 DLL 即用 |
在使用本工具前,请确保系统已安装必要的运行库,否则可能无法正常启动目标程序。
如果启动程序时遇到 错误代码 0xc0000142(如下图所示),通常是由于系统缺少 Windows 运行库导致的。
请安装 微软常用运行库合集,该工具已包含在本仓库中:
📦 下载路径: microsoft\微软常用运行库合集-2025.exe
安装步骤:
microsoft 目录微软常用运行库合集-2025.exe只想让 Antigravity 立刻能用?看这一节就够了。
启动你的代理软件(例如 Clash/Mihomo),确保本机有可用的 SOCKS5 或 HTTP 代理端口(如 127.0.0.1:7890)。
| 代理软件 | SOCKS5 端口 | HTTP 端口 | 混合端口 | 备注 |
|---|---|---|---|---|
| Clash / Clash Verge | 7891 | 7890 | 7890 | 混合端口同时支持 SOCKS5 和 HTTP |
| Clash for Windows | 7891 | 7890 | 7890 | 设置 → Ports 可查看/修改 |
| Mihomo (Clash Meta) | 7891 | 7890 | 7890 | 同 Clash 配置格式 |
| V2RayN | 10808 | 10809 | - | 设置 → 参数设置 → Core 基础设置 |
| V2RayA | 20170 | 20171 | - | 后台管理页面可修改 |
| Shadowsocks | 1080 | - | - | 仅 SOCKS5,无 HTTP |
| ShadowsocksR | 1080 | - | - | 仅 SOCKS5,无 HTTP |
| Surge (Mac/iOS) | 6153 | 6152 | - | 增强模式下端口可能不同 |
| Qv2ray | 1089 | 8889 | - | 首选项 → 入站设置 |
| sing-box | 自定义 | 自定义 | 自定义 | 需在配置文件中手动指定 |
| NekoBox | 2080 | 2081 | - | 设置 → 入站 |
| Clash Meta for Android | 7891 | 7890 | 7890 | 同 Clash 规则 |
💡 推荐使用 SOCKS5 协议:本工具对 SOCKS5 的支持更完善,建议优先使用。
方法 1:查看代理软件界面
方法 2:命令行测试
# 测试 SOCKS5 端口 (默认 7891)
Test-NetConnection -ComputerName 127.0.0.1 -Port 7891
# 测试 HTTP 端口 (默认 7890)
Test-NetConnection -ComputerName 127.0.0.1 -Port 7890
方法 3:curl 测试(需安装 curl)
# 通过 SOCKS5 代理访问
curl -x socks5://127.0.0.1:7891 https://www.google.com -I
# 通过 HTTP 代理访问
curl -x http://127.0.0.1:7890 https://www.google.com -I
| 问题 | 原因 | 解决方案 |
|---|---|---|
| 端口被占用 | 其他程序使用了该端口 | `netstat -ano |
| 连接被拒绝 | 代理软件未启动或端口错误 | 确认代理软件已启动,检查端口配置 |
| 代理无响应 | 防火墙阻止 | 检查 Windows 防火墙设置 |
Release 按架构和运行目标提供四个独立压缩包,下载时只选实际使用的一套:
antigravity-proxy-vX-ide-win-x64.zip / ...-x86.zip:包含 ide/(version.dll、config.json)。antigravity-proxy-vX-cli-win-x64.zip / ...-x86.zip:包含 cli/(dbghelp.dll、antigravity_proxy.dll、config.json)。每个压缩包还包含通用的 config-web.html 与 使用说明.md;自行编译时仍会在本地 output/ide、output/cli 生成两套目录。
桌面端只复制 ide/ 内的文件到 Antigravity 主程序目录(与 Antigravity.exe 同级)。
如果使用 Antigravity CLI,只复制 cli/ 内的文件到 agy.exe 同级目录。dbghelp.dll 会在导出函数首次调用时加载唯一名称的 antigravity_proxy.dll,避开系统 version.dll 同名冲突。
ide/与cli/不要混合复制;桌面端不需要dbghelp.dll。
version.dll与config.json必须来自同一次构建且架构一致。当前版本默认对宿主进程启用全量网络 Hook;启动日志应出现使用全量模式,随后再以 OAuth 回调和业务请求日志做功能验收。
Antigravity 2.0 新增/改名了关键进程,默认配置已覆盖:
"target_processes": [
"agy.exe",
"language_server.exe",
"language_server_windows",
"Antigravity.exe",
"Antigravity IDE.exe",
"node.exe"
]
如果你是从旧版本手动迁移 config.json,请确认 child_injection 仍为 true,并把上面的目标进程列表同步进去。2.0 环境如果存在多个启动目录,也要把 version.dll 和 config.json 放到实际启动的 Antigravity/IDE 目录中。
Antigravity 更新后可能清理安装目录里的劫持文件;如果更新后不走代理,请重新复制这些文件。若代理软件区分 mixed-port 和 SOCKS5 端口,也要确认 proxy.type 和 proxy.port 匹配本机实际监听端口。
更多现场记录见 docs/antigravity-2.0-issue-85.md。
一般情况下 Antigravity 会装在:
例如:C:\Users\<用户名>\AppData\Local\Programs\Antigravity
如果你找不到这个目录:在桌面/开始菜单找到 Antigravity 图标,右键 → 打开文件所在的位置,跳出来的那个目录就是它的主程序目录。
想从命令行一键跳过去(少点鼠标,多点快乐):
cd "$env:LOCALAPPDATA\Programs\Antigravity"
cd /d "%LOCALAPPDATA%\Programs\Antigravity"
(可选)你也可以自己设个环境变量,之后就能 cd 秒过去:
setx ANTIGRAVITY_HOME "%LOCALAPPDATA%\Programs\Antigravity"
设置完后:PowerShell 用 cd $env:ANTIGRAVITY_HOME,CMD 用 cd /d %ANTIGRAVITY_HOME%。
代理不工作?按照本手册逐步排查,找到问题根源。
代理不工作?
│
├── 检查日志是否存在 ───────────────────────────────────┐
│ │ │
│ ├── ❌ 无日志 → DLL未加载/位置错误 │
│ │ └── 见「DLL 加载问题」 │
│ │ │
│ └── ✅ 有日志 → 继续检查日志内容 │
│ │ │
├── 日志中有 "SOCKS5: 隧道建立成功" 吗? ────────────────┤
│ │ │
│ ├── ❌ 没有 → 代理连接失败 │
│ │ └── 见「代理软件排查」 │
│ │ │
│ └── ✅ 有 → 隧道建立成功,问题在后续 │
│ │ │
└── 检查 Clash 日志和节点可用性 ──────────────────────────┘
日志是排查问题的第一手资料。
日志位置(按优先级):
<Antigravity安装目录>\logs\proxy-YYYYMMDD.log%TEMP%\antigravity-proxy-logs\proxy-YYYYMMDD.log快速打开:
# 打开 DLL 目录的 logs 文件夹
cd "$env:LOCALAPPDATA\Programs\Antigravity\logs"
# 或打开 TEMP 目录
cd "$env:TEMP\antigravity-proxy-logs"
日志关键行解读:
| 日志内容 | 含义 | 状态 |
|---|---|---|
Antigravity-Proxy DLL 已加载 |
DLL 成功注入 | ✅ 正常 |
配置加载成功 |
config.json 读取成功 | ✅ 正常 |
所有 API Hook 安装成功 |
Hook 生效 | ✅ 正常 |
ConnectEx Hook 已安装 |
异步连接 Hook 成功 | ✅ 正常 |
SOCKS5: 隧道建立成功 |
代理连接成功 | ✅ 正常 |
非 SOCK_STREAM socket 直连, soType=2 |
UDP 有效策略为 direct,或该端口未命中代理规则 | ⚠️ 视配置而定 |
SOCKS5 握手失败 |
代理握手失败 | ❌ 需排查 |
连接代理服务器失败 |
无法连接到代理 | ❌ 需排查 |
WSA错误码=10061 |
连接被拒绝(代理未启动) | ❌ 需排查 |
WSA错误码=10060 |
连接超时 | ❌ 需排查 |
# 测试 SOCKS5/混合端口
Test-NetConnection -ComputerName 127.0.0.1 -Port 7890
# 如果 TcpTestSucceeded: False,说明端口未监听
在 Clash 配置文件中检查:
# 必须开启混合端口或 SOCKS5 端口
mixed-port: 7890 # 混合端口(推荐)
# 或
port: 7890 # HTTP 端口
socks-port: 7891 # SOCKS5 端口
# 如果需要局域网访问
allow-lan: true
在 Clash 界面查看「日志」或「Logs」,确认:
daily-cloudcode-pa.googleapis.com、www.googleapis.com 的请求DIRECT(直连)还是走了代理节点REJECT 规则命中最简单的方法:直接开启 TUN 模式,如果 TUN 模式下 Antigravity 正常,说明节点没问题。
winver
不同 Windows 11 小版本的 Winsock 行为可能有差异。请记录版本号备用。
某些安全软件会注入 LSP(分层服务提供程序),可能干扰 Hook。
# 以管理员身份运行
netsh winsock show catalog
正常情况下只应该有 Microsoft 的 Provider。如果看到第三方 Provider(如 360、火绒等),可能会有兼容性问题。
以下软件可能干扰 DLL 注入或 Hook:
| 软件 | 可能的影响 | 解决方案 |
|---|---|---|
| 360 安全卫士 | 拦截 DLL 注入、Hook | 添加白名单或临时关闭 |
| 火绒安全 | 可能阻止远程线程注入 | 添加白名单 |
| 腾讯电脑管家 | LSP 注入可能干扰网络 | 添加白名单 |
| Windows Defender | 通常不干扰 | 无需处理 |
临时排查:尝试完全退出安全软件后测试(不只是退到托盘,要完全退出)。
如果系统启用了 IPv6,某些连接可能尝试 IPv6 优先:
# 查看网络适配器 IPv6 状态
Get-NetAdapterBinding -ComponentID ms_tcpip6
如果日志中出现大量 IPv6 相关内容,可以尝试在 config.json 中设置:
"proxy_rules": {
"ipv6_mode": "block"
}
如果你的环境正常,但朋友的不行,请对比以下信息:
| 对比项 | 你的值 | 对方的值 |
|---|---|---|
| Windows 版本 (winver) | ||
| Clash 版本 | ||
| 代理端口 | 7890 | |
| 代理类型 | socks5 | |
| 是否有安全软件 | ||
netsh winsock show catalog 输出行数 |
如果以上排查都无法解决,请收集以下信息提交 GitHub Issue:
proxy-YYYYMMDD.log 内容winver 输出| 问题 | 原因 | 解决方案 |
|---|---|---|
大量 非 SOCK_STREAM socket 直连, soType=2 |
UDP/QUIC 有效策略为 direct,或 UDP 代理未生效 | 优先使用 udp_mode=auto + proxy.type=socks5,并确认代理端支持 SOCKS5 UDP Associate |
| 日志显示成功但网页打不开 | Clash 规则、节点问题 | 检查 Clash 日志 |
| 某些请求绕过代理 | 应用使用了未 Hook 的 API | 提交 Issue 反馈 |
| 360 等安全软件环境下失效 | LSP 注入干扰 | 添加白名单或卸载 |
遇到问题时,建议先确认目标程序位数(x86/x64),并查看目标程序目录下的日志文件(如
proxy-YYYYMMDD.log)。
| 错误码 | 问题描述 | 可能原因 | 解决方案 |
|---|---|---|---|
0xC0000142 |
应用程序无法正常启动(已知:部分环境使用 x64 版本会出现此错误,切换到 x86 版本可以正常运行) | 架构不兼容(目标程序为 x86,但放入了 x64 的 version.dll)依赖库缺失或版本不匹配(常见:VC++ 运行库未安装/版本不一致) 安� |