部署前必须完全退出目标应用,否则补丁不生效;应用自动更新会删除补丁文件,需靠插件自动恢复或运行 doctor.bat -Action Repair;proxy.type 必须与代理端口协议一致,HTTP 专用端口填 socks5 会连不上;x86 与 x64 补丁不可混用,架构不符会报 0xC0000142 / 0xC000007B。

antigravity-proxy
yuaotian活跃维护在 Windows 上给 Antigravity 强制走 SOCKS5/HTTP 代理的注入工具,不用开 TUN 模式,靠 DLL 注入劫持进程流量。
🚀 Transparent proxy injector for Antigravity. Force SOCKS5/HTTP proxy without TUN mode on Windows. | 专为 Antigravity 打造的免 TUN 强制代理工具,支持 DLL 注入与进程流量劫持。
& "$env:LOCALAPPDATA\Programs\Antigravity IDE\bin\antigravity-ide.cmd" --install-extension yuaotian.antigravity-proxy仅支持 Windows x86 / x64(Windows 10 / 11),README 未提及显存或 GPU 要求;补丁只作用于 Windows 进程,WSL 内不可用。
给 Antigravity 注入 DLL 强制走 SOCKS5/HTTP 代理,Windows 上免 TUN 免管理员权限
在 Windows 上给 Antigravity 强制走 SOCKS5/HTTP 代理的注入工具,不用开 TUN 模式,靠 DLL 注入劫持进程流量。
核心能力
- 以 version.dll 注入方式只劫持 Antigravity 相关进程流量
- 支持 SOCKS5 与 HTTP 代理,可带账号密码认证
- 覆盖 IDE、桌面版与 CLI(agy)三种产品
- IDE 插件提供状态栏、可视化设置、实时日志与出口 IP 检测
- IDE 更新后插件自动恢复被清除的补丁
容易踩的坑
- v2.6.3最新正式版2026-11-08 · 2026-11-08 09:17 UTC
✨ 新功能 (Features)
- ide-extension: add Open VSX publishing workflow and trilingual listing
- ide-extension: 优化侧边栏 UI 并修复 Antigravity 会话检测误报
- 侧边栏与设置面板 UI 调整:
- 移除独立的插件更新卡片,改为侧边栏头部图标。
- 新增头部地球图标与设置面板语言下拉框,支持中/英/俄及跟随 IDE。
- 增加侧边栏日志区高度,优化显示效果。
- 修复 Antigravity 会话检测逻辑:
- 兼容新版 IDE 日志路径,同时扫描新旧两个日志根目录。
- 新增已登录强证据识别,修正匿名 401 误报,引入 unknown 状态。
- 根据时间戳判断证据先后,避免历史错误覆盖最新登录状态。
- 完善多语言切换逻辑,支持命令面板与 UI 入口,切换后即时生效。
- ide-extension: 增加左侧栏、日志窗口、IP/Gemini检测及自更新
- 新增左侧活动栏,集成状态卡片、出口IP、Gemini结论、实时日志与更新
- 新增底部代理日志窗口,支持级别筛选、搜索高亮、暂停及打开文件目录
- 状态栏新增出口IP与Gemini条目,优化主状态悬浮卡片与无障碍访问
- 实现Gemini三层可用性检测,综合网络、API区域与Antigravity会话日志
- 引入插件自更新机制,支持多源下载、SHA256校验及安装后提示重载
- 重构状态模型与定时器,统一调度状态探测、IP刷新与Gemini检测任务
- 同步更新构建脚本、架构文档及单元测试,完善多语言词条与Webview通信
🐛 Bug 修复 (Bug Fixes)
- ide-extension: 修复实机测试缺陷并补充改造文档
- 修复 onDidChange 返回裸函数导致扩展停用时抛出 AggregateError,
- 改为返回包含 dispose 方法的对象以兼容 VS Code 订阅容器。
- 修复日志文件在视图打开后才出现时页脚显示异常的问题,
- 新增 file 事件广播机制以动态更新 UI 文件名。
- 修复日志窗口插件事件无 PID 时文字落入 PID 列导致逐字换行,
- 改为始终渲染 PID 列(无 PID 时留空)以维持布局。
- 修复侧边栏 Gemini 状态行的 DOM ID 选择器与生成规则不一致,
- 导致三行数值无法显示的问题,统一使用 row/dot/val 前缀。
- 修复日志环境条“Gemini”字样重复问题,调整 i18n 词条去除字面量。
- 优化侧边栏日志级别显示,使用三字母缩写代替直接截断以提升可读性。
- 修复单元测试中日志截断重置逻辑,确保写入内容短于原文件以触发重置。
- 补充 IDE 插件本轮改造(自更新/实时日志/IP/Gemini)详细文档与截图。
- 更新 .gitignore 文件,新增对 .tmp*/ 目录的忽略规则。
♻️ 代码重构 (Refactoring)
- ide-extension: 合并状态栏条目至单一主条目及悬浮卡片
- 将原本独立的出口 IP 和 Gemini 状态栏条目合并至主状态条目。
- 出口 IP、Gemini 结论与插件更新信息移至状态栏悬浮卡片中展示。
- 移除 `statusBar.showEgress` 和 `statusBar.showGemini` 配置项。
- 更新中、英、俄三语文档,补充界面预览截图与相关说明。
- 优化状态栏空间占用,避免小屏幕下底部状态栏过于拥挤。
👷 CI 配置 (CI)
- publish Open VSX from release workflow (
7508059)
- v2.62026-11-07 · 2026-11-07 12:00 UTC
查看更新说明
✨ 新功能 (Features)
- install: 下载优先级“本地代理 → 镜像 → 直连”,每源重试 3 次、单次超时 60 秒
- install-online.ps1:
- 本地代理探测:HTTPS_PROXY / HTTP_PROXY / ALL_PROXY(http)> 系统代理(ProxyEnable=1,解析 http=/https= 分项)> PAC;
- 端口 3 秒内能建立 TCP 连接才使用,配置了却没启动的代理不再把每个请求拖到超时
- 路线:经本地代理直连 GitHub → 6 个镜像 → 直连 GitHub;每个请求超时 60 秒(建连与读写分别计时),每条路线最多 3 次,
- 间隔 2 秒;HTTP 4xx(该镜像不支持此地址)直接换源,超时 / 断流 / 5xx / 429 / 校验不符才重试;全部失败输出汇总后结束
- 实测 wget.la 偶发中途断流却按正常结束返回截断内容:按 Content-Length 核对长度,截断按传输失败重试
- 证书始终校验(下载的是可执行补丁与安装包;跳过校验后中间人可同时替换安装包与 SHA256 清单)
- 新增内部参数 -InjectedProxy:由 DLL 注入代理补丁后启动时传入,路线为 GitHub(经代理)→ 镜像(经代理)
- DLL(IdeExtensionPrompt.cpp):
- 在线安装前用 Hooks::IsProxyReachable()(新增,复用 ConnectTcpToProxyServer)检测 config.json 中的代理:
- 可连 → 注入本 DLL 并传 -InjectedProxy;不可连 → 不注入(否则窗口内所有连接都会被转到不可用的代理),由脚本自行尝试本机代理 → 镜像 → 直连
- 确认框按两种情况说明下载方式;日志记录代理是否可连
- IdeExtensionLogic.hpp:BuildOnlineInstallCommand 增加 injectedProxy 参数;新增 FormatProxyAddress(IPv6 加方括号),附单测
- 验证:ctest 9/9、doctor 91/91、PS 5.1 / 7 解析通过。脚本:本地代理可用 6 秒装好;代理端口不通 → 跳过 → 镜像装好;
- 不存在的版本 → 各源按规则重试 / 换源后汇总失败。IDE 2.6.0 隔离副本:config 代理可连 → 注入 + -InjectedProxy → 13 秒装好;
- config 代理不可连 → 不注入 → 经 wget.la 装好。
- ide-extension: 新增左侧活动栏侧边栏视图并优化底部状态栏展示
- 新增左侧活动栏侧边栏视图,分组展示实时代理状态与快捷操作命令。
- 优化底部状态栏,连通态使用自定义护盾图标并展示实时网络延迟。
- 状态栏与侧边栏新增连通性探测旋转动效,悬浮卡片增加彩色徽章与快捷链接。
- 更新插件主图标为双层护盾方案,新增活动栏单色自适应图标及自定义图标字体。
- 补充相关新增文案的多语言翻译,构建脚本增加 SVG 文件的 MIME 类型支持。
- core: 插件安装提示改为系统通知;只装了 DLL 时可确认后在线安装插件
- IdeExtensionPrompt.cpp:模态询问框改为 Shell_NotifyIconW 系统通知(Win10/11 为通知卡片,不抢焦点);
- 后台线程内建 HWND_MESSAGE 窗口 + 消息循环,user32 / shell32 全部动态加载(version.dll 仍只静态链接 ws2_32 / winhttp)。
- 托盘图标保留 90 秒,点击卡片 / 通知中心 / 托盘图标即同意,到期未点击视为忽略;每个 DLL 版本只提示一次,
- 通知区域不可用时不写标记、下次再提示
- DLL 同目录有 VSIX:点击即本地静默安装(沿用 antigravity-ide.cmd --install-extension)
- 只装了 DLL:不再跳过。点击通知后弹确认框完整展示将执行的命令,同意后打开可见的 Windows PowerShell 5.1 窗口运行
- install-online.ps1 -ExtensionOnly(透传扩展目录 / 用户数据目录;try/catch + Read-Host,出错窗口不会一闪而过)。
- 窗口以挂起方式创建后主动注入本 DLL,下载与 IDE 一样走 config.json 中的代理(SOCKS5 / HTTP 均可)——
- 实测不注入时直连 GitHub 超时、镜像不代理 api.github.com,安装必然失败
- 每一步写日志:通知显示 / 收起 / 点击 / 忽略、确认或取消、执行的命令、窗口进程号、注入结果、窗口退出码与最终是否装上
- IdeExtensionLogic.hpp:QuotePsSingle(含 PowerShell 视为单引号的 U+2018~U+201B)与 BuildOnlineInstallCommand,附单测
- install-online.ps1:新增 -ExtensionOnly / -ExtensionsDir / -UserDataDir:只下载 Release 中的插件 VSIX(PK 魔数 + SHA256 校验,
- 失败换源),用 IDE 命令行安装(stderr 告警不中断,只按退出码判定),不动 DLL 与 config.json;抽出 Get-VerifiedAsset 复用下载校验
- docs/ide-extension.md:第 7 节按新流程重写,已知限制补充勿扰模式说明
- 验证:ctest 9/9;PS 5.1 / 7 解析通过;-ExtensionOnly 实测下载 v2.5 插件、SHA256 通过并安装;
- IDE 2.6.0 隔离副本(DLL 改指向本地脚本服务):通知显示与收起回调 → 点击 → 确认框内容 → PowerShell 窗口经 SOCKS5
- 访问 api.github.com / github.com / release-assets 下载安装成功 → 关窗后记录结果;有 VSIX 时点击 1 秒内本地装好;
- 忽略 90 秒后写标记,重启不再提示。
- ide-extension: 状态栏提示 target_processes 缺少 agy.exe 并一键补齐
- lib/configHealth.js(新):findMissingTargets 检查必需的后端进程(agy.exe,大小写不敏感);
- 空列表与 inherit 模式会注入全部子进程,不报告;withTargetsAdded 不修改原对象,缺失项放在最前
- 状态栏:缺少时显示「代理 · 缺少 agy.exe」(warning 背景,优先级高于“待重启”),悬浮提示提供「一键补齐」
- 命令 antigravityProxy.fixTargets(仅悬浮提示链接调用):沿用面板保存流程(备份 → 原子写入),随后标记待重启并提示立即重启
- i18n:sb.targetsMissing / targetsMissingSummary / linkFixTargets、ext.targetsFixed / targetsFixFailed 三语
- 测试:configHealth.test.js 5 项,node 单测全部通过;IDE 2.6.0 隔离副本经 CDP 实测:
- 「Proxy · missing agy.exe」→ 点「Add missing」→ config.json 补齐 agy.exe、旧配置备份到插件存储 → 「Proxy · restart needed」。
- doctor: 探测代理端口协议、检查 agy.exe 目标进程
- Test-ProxyProtocol:先发 SOCKS5 问候(05 01 00,应答首字节 0x05 即 SOCKS5),否则发 CONNECT(应答以 HTTP/ 开头即 HTTP);
- 混合端口两者皆可。体检时端口可达但与 proxy.type 不符报 ProxyTypeMismatch(Fail,并进入结论);
- Setup 生成配置时按探测结果填写类型(ProxyTypeDetected),https 规范化为 http
- 未写 child_injection_mode 时按 DLL 默认值 filtered 处理(此前会跳过目标进程检查)
- 新增 TargetProcessesMissingAgy:安装目录有 Antigravity IDE.exe 但 target_processes 缺少后端 agy.exe 时报 Fail(#159)
- FakeIP 提示改为指向真正原因:报错中的 198.18.x.x 被拒绝 / 超时通常是连代理失败(端口或 proxy.type 不对)
- docs/doctor.md:判定码表补充 ProxyTypeMismatch / TargetProcessesMissingAgy
- 测试:test-doctor.ps1 新增伪造
- install: 下载优先级“本地代理 → 镜像 → 直连”,每源重试 3 次、单次超时 60 秒
- v2.52026-11-07 · 2026-11-07 07:21 UTC
查看更新说明
✨ 新功能 (Features)
- scripts: Windows 在线安装脚本 install-online.ps1(镜像下载 + 校验 + doctor 部署)
- 一行命令(经 wget.la 获取脚本,PS 5.1 / pwsh 7 通用):
- [Net.ServicePointManager]::SecurityProtocol=3072; & ([scriptblock]::Create((New-Object Net.WebClient).DownloadString('https://wget.la/https://raw.githubusercontent.com/yuaotian/antigravity-proxy/main/scripts/install-online.ps1')))
- 检测 Antigravity IDE(Antigravity IDE.exe)/ Antigravity(Antigravity.exe)/ Antigravity CLI(agy.exe):
- 运行中进程 > PATH(CLI)> 常见安装目录;排除 ~/.gemini/bin(IDE 管理的 agy,由 IDE 的 version.dll 注入);
- 读 PE 头选择 x64 / x86 包;检测到多个时让用户选择,-Product / -InstallDir / -Yes 可跳过询问
- 下载:直连 GitHub 与 updates.mirrors 同款镜像依次尝试,成功的源提到最前复用;显式接入 HTTPS_PROXY 等
- 环境变量代理(PS 5.1 的 WebRequest 不读);镜像返回 200 + 错误页时按 zip 魔数识别并换源
- 校验不阻断:有 SHA256SUMS.txt 时逐个比对、不一致换源;旧版本无清单(按 API 资产列表判断)只告警
- 解压到 %LOCALAPPDATA%\antigravity-proxy<版本>\(安装目录之外,作为日后 Repair 的母本),
- 调用包内 doctor.ps1 -Action Setup 部署(独立进程、保留已有 config.json、IDE 同时安装插件);
- v2.4 及更早的包不含 doctor.ps1 时从仓库主分支获取
- 经 scriptblock 在线执行时不调用 exit(避免关闭用户的 PowerShell 窗口);提示三语(界面语言不是中/俄时看区域格式)
- doctor.ps1: 插件安装成功提示更正为「运行中的 IDE 会自动加载」(实测无需重启)
- 验证(隔离副本,未触碰真实安装):PS 5.1 模拟一行命令 + pwsh 7 指定版本,下载 v2.4 → 补 doctor.ps1 →
- 部署 → 哈希一致、config.json 保留、退出码 0、窗口未被关闭;函数级:三产品检测、伪造哈希逐源换源后失败、
- 正确哈希通过、无效版本号与无效目录拒绝。
- core: DLL 检测 IDE 配套插件未安装时提示一键安装
- src/ide/IdeExtensionPrompt: 仅在 Antigravity IDE 主进程(非 --type= 子进程、非 RunAsNode)且 DLL 同目录存在
- antigravity-proxy.vsix 时启用;后台线程延迟 8 秒,按 --extensions-dir > VSCODE_PORTABLE >
- %USERPROFILE%<product.json dataFolderName>\extensions 定位扩展目录,读 extensions.json / 目录判断是否已安装
- 未安装:三语询问框(是/否),每个 DLL 版本只问一次(logs\ide-extension-prompt.marker,按 DLL 身份);
- 选择安装则调用 bin\antigravity-ide.cmd --install-extension(透传 --extensions-dir/--user-data-dir,
- 无窗口、清理 ELECTRON_/VSCODE_ 环境变量、超时 180 秒);运行中的 IDE 会自动加载,成功无需重启也不再弹窗,
- 失败时提示手动安装方法
- src/ide/IdeExtensionLogic.hpp: 纯逻辑(主进程判定、命令行参数解析、product.json、extensions.json),附单元测试
- src/core/DllIdentity.hpp: 从 main.cpp 提取 DLL 身份(路径 + 大小 + 修改时间),供加载提示与插件提示共用
- 验证:ctest 8/8;IDE 2.6.0 隔离副本:未安装 → 弹窗 → 是 → 安装成功并热加载 → 插件首次引导接管;
- 已安装 → 不弹窗;选择否 → 写入标记 → 再次启动不再询问。
- ide-extension: 中英俄三语 + 首次引导自动扫描本机代理
- media/i18n.js: 插件运行时文案三语词典(UMD,宿主与 Webview 共用),缺失回退英文再回退 key;
- 默认跟随 IDE 显示语言,新增设置 antigravityProxy.language(auto/zh-cn/en/ru)可覆盖,切换后热更新
- package.nls*.json: 命令标题、设置描述三语(VS Code 原生本地化,跟随 IDE 显示语言)
- shared/config-core.js: validateForm 支持语言参数,校验文案三语化(中文与原文逐字一致,字段路径不变)
- 状态栏 / 设置面板 / 连通测试 / 配置读写 / 补丁守护 / 重启器:全部文案改为 t(key)
- lib/proxyScan.js: 本机代理扫描,来源按优先级合并去重:当前配置 > IDE http.proxy > 系统代理注册表 >
- 环境变量 > 常用端口(与 doctor 一致);先 TCP 探活,再做 SOCKS5/HTTP 完整隧道探测,两者皆可用优先 SOCKS5
- 首次引导(每个 profile 一次):当前代理可用则仅通知;不可用则自动打开面板定位到【代理】区并扫描——
- 单个结果自动填入(不自动保存),多个结果列出供选择,无结果则提示手动填写并给代理区加呼吸描边
- (3 次后停止,prefers-reduced-motion 下关闭),填入后保存按钮温和呼吸提示,保存成功后撤下
- 新增命令「扫描本机代理」;附 i18n / proxyScan 单元测试
- 验证:node 单元测试 33/33;IDE 2.6.0 隔离副本端到端:三语热切换、扫描命中 7890/7891、
- 首次引导可用/不可用两条分支、无结果描边 + 聚焦端口输入框、填入 → 保存 → 撤下引导。
- ide-extension: IDE 配置插件(状态栏 + 可视化设置 + 补丁守护)
- resources/shared/config-core.js: config-web 与插件共享的配置核心(规范化/导出/校验/JSONC 容错),
- config-web 改为引用该模块(构建时内联),消除两份校验规则漂移;附 node:test 单元测试
- resources/ide-extension: Antigravity IDE 插件
- 状态栏:补丁/配置/连通/待重启状态,点击打开设置面板,悬浮提示含快捷操作
- 设置面板(Webview):基于 IDE 主题变量与 codicons,含连通测试、diff、导入导出、骨架/空/错误态、键盘可达
- 配置写入:临时文件 + rename 原子替换,写前备份(保留 10 份),记录最后可用配置
- 补丁守护(P2):IDE 更新清除 version.dll/config.json 后启动即恢复(DLL 取内置副本并校验 SHA256,
- 配置优先恢复用户上次配置),已存在文件不覆盖
- 重启:两段式 PowerShell 重启器(-EncodedCommand),按原启动参数重新打开 IDE
- build.ps1: 打包 output/antigravity-proxy.vsix(内置同版本 version.dll + 默认 config.json);
- -RunTests 追加 node 单元测试(无 Node 时跳过并告警)
- doctor.ps1: Setup/Repair 检测到 Antigravity IDE.exe 时自动安装插件(-SkipExtension 可跳过);test-doctor 新增断言
- package-release.ps1: IDE 发布包根目录携带 VSIX(CLI 包不含)
- README/README_EN/README_RU: 补充插件安装、状态栏含义、补丁守护与设置项说明
- .gitignore: 放行 resources/ide-extension/lib(原 [Ll]ib 规则会让干净克隆缺失全部插件模块)
- 隔离副本实测(复制安装目录 + 临时 profile/ext
- scripts: Windows 在线安装脚本 install-online.ps1(镜像下载 + 校验 + doctor 部署)
- v2.42026-09-01 · 2026-09-01 20:45 UTC
查看更新说明
✨ 新功能 (Features)
- core: 添加 Chromium NetworkService 进程识别功能 (
d807377)- 添加 cwchar 头文件支持宽字符串操作,实现 IsChromiumNetworkServiceProcess 函数
- 用于检测命令行参数中的 --utility-sub-type=network.mojom.NetworkService 标志。
- 修改 DllMain 中的网络 Hook 启用逻辑,针对 AntiGravity 宿主进程的 NetworkService
- 子进程启用旁路模式,仅安装进程创建 Hook 而非全量网络 Hook,
- 以便诊断宿主进程角色对本地 TLS 的影响。
- proxy: 增强DLL加载卸载日志记录和进程创建诊断
- 新增docs/oauth-detach-diagnosis.md,记录OAuth回跳与DLL卸载日志诊断流程
- 创建scripts/collect-oauth-diagnostics.ps1诊断采集脚本,支持时间窗筛选和敏感信息遮蔽
- 脚本功能包括:收集DLL版本、协议注册、进程信息、IDE日志等证据
- 提供双快照回放建议和证据判定边界说明
- 在DllMain中区分协议启动和普通启动,记录启动类型信息
- 根据lpvReserved参数区分进程终止detach和动态卸载,分别记录不同日志
- 添加FormatHexDword、BuildCreateProcessDiagnosticContext等诊断工具函数
- 替换ResumeThread调用为ResumeCreatedProcessThread,记录线程恢复结果
- feat(hooks): 改进CreateProcess钩子的进程创建日志记录
- 在CreateProcessA/W钩子中使用统一的诊断上下文格式化进程创建信息
- 避免将完整命令行中的URL或令牌写入日志,仅记录安全的进程元数据
- 更新注入成功/失败日志,使用更精确的诊断上下文描述
- 保持原有恢复时机,增加ResumeThread结果的诊断记录
🔧 杂项 (Chores)
- 同步版本号到 v2.3 [skip ci]
📋 其他更新 (Other)
- 2cb4714
- 按进程名禁用网络Hook会导致IDE整体断网,恢复全量Hook后本地Language Server
- TLS仍出现证书无效错误。现在固定启用全量网络Hook,所有目标进程保持网络
- Hook与进程创建Hook,同时严格识别回环地址进行本地旁路处理。
- 此修复包括:
- src/main.cpp: 统一启用全量网络Hook,移除按进程名禁用逻辑
- src/hooks/Hooks.cpp: 添加完整的本地目标旁路机制,支持connect、WSAConnect、
- ConnectEx、WSAConnectByName等API的回环早期旁路
- src/network/LocalTargetPolicy.hpp: 新增严格的回环地址识别策略
- 添加新的本地目标策略测试和验证脚本
- 移除过时的TLS宿主Hook分域修复文档和脚本
- 7499b56
- Electron 宿主及其同名子进程现在只保留进程创建 Hook,避免完整 Winsock/IOCP Hook
- 干扰宿主与 Language Server 之间的本地自签名 TLS 连接
- Language Server 和 Node 进程继续使用全量网络 Hook 以维持外网代理功能
- 添加详细文档说明问题原因和修复方案,包括针对 TLS 证书验证失败的隔离策略
- 新增 PowerShell 验证脚本 test-tls-host-hook-scope.ps1 确保进程分类正确
- 更新日志输出以明确区分注入器模式和全量模式的进程行为
- 5db2a1d
- 将 src/main.cpp 中的默认网络 Hook 策略从 CreateProcess-only 恢复为全量模式,
- 确保 Electron 宿主进程能够正确处理 OAuth 回调和业务请求
- 更新 README.md 添加版本组件一致性说明和全量模式启用提示
- 修改 issues-113-130-compatibility-analysis.md 文档,记录
- 2026-09-01 宿主 Hook 默认策略调整详情
- 更新 oauth-detach-diagnosis.md 添加宿主网络 Hook 范围回归分析和部署注意事项
- 调整 tests/test_process_name.cpp 注释说明,保持进程名分类工具行为稳定
- cd5360f
- 添加了两个新的证据包目录到.gitignore文件中,避免将诊断相关的临时文件和日志提交到版本控制系统中。
- 这些文件包含系统状态信息、进程快照和日志数据,不适合纳入代码仓库管理。
- core: 添加 Chromium NetworkService 进程识别功能 (
- v2.32026-08-31 · 2026-08-31 06:22 UTC
查看更新说明
✨ 新功能 (Features)
- workflow: 重构CI/CD工作流支持IDE/CLI独立发布包 (
571bd30)- 新增 scripts/package-release.ps1 脚本,用于生成IDE和CLI独立的发布压缩包
- 修改 .github/workflows/build.yml 和 release.yml,实现每个架构只编译一次,
- 然后生成互不混装的IDE/CLI产物
- 更新 README.md 文档,说明新的四套独立压缩包下载方式
- 添加压缩包内容校验,确保IDE/CLI文件隔离
- 升级actions依赖版本并优化工作流并发控制
- refactor(build): 添加RunTests参数支持CTests回归测试
- 在 build.ps1 中新增 -RunTests 参数,用于构建并运行 CTest
- 修改脚本逻辑,支持显式的测试开关控制
- 更新文档说明测试相关用法
- 确保CI场景下能够执行回归测试验证
- chore(docs): 更新发布目录隔离相关的文档说明
- 修正 docs/config-web.md 中关于Release资产打包的描述
- 更新 docs/issues-113-130-compatibility-analysis.md
- 中的发布目录隔离实现说明
- 同步更新README中关于Release包结构的描述
🐛 Bug 修复 (Bug Fixes)
- scope Winsock/IOCP hooks to network subprocesses only
- Antigravity's Electron main process and its identically-named child
- processes load version.dll via DLL search order. The original proxy
- installed full Winsock/IOCP hooks everywhere, which broke the loopback
- HTTPS/gRPC connection between the UI and the language server
- ('tls: unknown certificate', 'Lost connection to the language server').
- Injector mode:
- Antigravity.exe / Antigravity IDE.exe: only CreateProcessA/W hooks
- (needed to keep injecting child processes), no network hooks.
- language_server.exe / node.exe: full network hooks -> SOCKS5 proxy.
- Adds IsAntigravityHostProcessName() classification, Install(bool)
- hook scoping, LLVM-MinGW .def link compat and static CRT options.
📦 构建相关 (Build)
- 添加兼容性测试构建配置
- 发布流程现在强制校验必需文件的存在性和目录隔离:
- IDE 目录包含 version.dll 和 config.json
- CLI 目录包含 dbghelp.dll、antigravity_proxy.dll 和 config.json
- 防止用户混装两套代理入口导致的问题
- 同时更新构建脚本实现目录分离:
- output/ide 目录用于桌面端部署
- output/cli 目录用于 CLI 部署
- CLI 代理主体重命名为 antigravity_proxy.dll 避免系统 DLL 冲突
- 重构 DbgHelp shim 实现在导出函数首次调用时才加载系统 DLL
- 增加 build-compatibility-tests*/codex-tools/ 到 .gitignore
- test: 新增 UDP 策略、Socket 家族和 DbgHelp shim 测试
- 添加以下测试套件:
- test_udp_policy.cpp: 验证 UDP 策略决策矩阵
- test_socket_family.cpp: 验证 IPv6 dual-stack 行为
- test_dbghelp_shim.cpp: 验证 DbgHelp API 转发功能
- docs: 更新部署说明和配置文档
- 详细说明 IDE/CLI 目录分离的部署方式
- 更新 UDP 策略配置说明,引入 auto 模式
- 修正 IPv6 dual-stack 相关说明
- 添加 diagnostics.agent_ip_probe 配置选项说明
- chore: 添加兼容性分析文档
- 分析 Issues #113-#130 的根本原因,包括:
- IDE 崩溃/无响应的混装问题
- UDP/QUIC 流量被阻断问题
- 地域资格诊断缺失问题
- 提供完整的修复方案和验证记录
🔧 杂项 (Chores)
- 同步版本号到 v2.2 [skip ci]
📋 其他更新 (Other)
- 288e942
- 将中文版README中的微信群二维码从qun-22.jpg更新为qun-23.jpg
- 将英文版README中的微信群二维码从qun-22.jpg更新为qun-23.jpg
- 新增qun-23.jpg图片文件
- workflow: 重构CI/CD工作流支持IDE/CLI独立发布包 (
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
简介
Antigravity-Proxy 是一个放进 Antigravity 安装目录即可生效的代理补丁(DLL):
- 只代理 Antigravity 相关进程,不接管系统其他流量;
- 不需要 TUN 模式,也不需要管理员权限;
- 支持 SOCKS5 / HTTP 代理(含账号密码认证);
- 支持 Antigravity IDE、Antigravity(桌面版)与 Antigravity CLI(
agy); - Antigravity IDE 附带配套插件:状态栏代理状态、可视化设置、实时日志、出口 IP/Gemini 检测、插件自更新,IDE 更新后自动恢复补丁。
安装
方式一:Antigravity IDE 插件市场(推荐)
Antigravity IDE 用户优先从 Open VSX 安装插件:
- Open VSX 市场页面
- 在 IDE 扩展视图搜索
Antigravity Proxy,或执行:
& "$env:LOCALAPPDATA\Programs\Antigravity IDE\bin\antigravity-ide.cmd" --install-extension yuaotian.antigravity-proxy
安装后执行 Reload Window。插件首次启动会自动补齐 version.dll;如果市场搜索不到,按「Antigravity IDE 插件」一节的 VSIX / 命令行兜底;仍然不行再用下面的在线安装脚本。
方式二:在线安装脚本(桌面版 / CLI / 插件兜底)
在 PowerShell 中粘贴执行:
[Net.ServicePointManager]::SecurityProtocol=3072; & ([scriptblock]::Create((New-Object Net.WebClient).DownloadString('https://wget.la/https://raw.githubusercontent.com/yuaotian/antigravity-proxy/main/scripts/install-online.ps1')))
脚本会自动检测已安装的产品,下载对应版本并做 SHA256 校验,部署补丁和 config.json,Antigravity IDE 会同时安装配套插件。已有的 config.json 不会被覆盖。下载顺序:本机代理(环境变量或系统代理,端口可连才用)→ 镜像 → 直连 GitHub,每个下载源最多重试 3 次。
需要指定参数时加在命令末尾,例如 ... install-online.ps1'))) -Product ide:
| 参数 | 说明 |
|---|---|
-Product ide|desktop|cli|all | 只安装指定产品(默认检测到多个时询问) |
-Version 2.5 | 安装指定版本(默认最新) |
-InstallDir <目录> | 手动指定安装目录(与主程序同级) |
-ProxyPort 7897 | 指定本地代理端口(默认自动探测) |
-Yes | 不询问,直接安装 |
-ExtensionOnly | 只安装 IDE 配套插件,不动补丁与配置(IDE 运行中也可执行) |
获取脚本失败时,打开代理软件的「系统代理」后重试。部署前请先完全退出要安装的应用(
-ExtensionOnly除外)。 脚本兼容 Windows 10 / 11 自带的 Windows PowerShell 5.1,也可在 PowerShell 7 中运行。
方式三:下载发布包
从 Releases 下载(32 位程序选 x86):
| 文件 | 适用 |
|---|---|
antigravity-proxy-vX-ide-win-x64.zip | Antigravity IDE(Antigravity IDE.exe)、Antigravity 桌面版(Antigravity.exe) |
antigravity-proxy-vX-cli-win-x64.zip | Antigravity CLI(agy.exe) |
antigravity-proxy-vX-ide-extension-win-x64.vsix | IDE 配套插件(IDE 包的 ide/ 里已包含) |
SHA256SUMS.txt | 校验清单 |
请解压到安装目录之外(例如 %LOCALAPPDATA%\antigravity-proxy\),日后修复补丁时要用到这份文件。然后任选一种:
setup.bat:配置向导,创建「Antigravity (代理)」独立启动入口,每次启动自动补回被更新清除的补丁;doctor.bat:一键部署 / 体检 / 修复(详见 docs/doctor.md);- 手动复制:IDE / 桌面版把
ide/里的全部文件复制到主程序同级目录;CLI 把cli/里的文件复制到agy.exe同级目录。ide/与cli/不要混放。
默认安装目录(找不到时:右键快捷方式 → 打开文件所在的位置):
| 产品 | 目录 |
|---|---|
| Antigravity IDE | %LOCALAPPDATA%\Programs\Antigravity IDE |
| Antigravity | %LOCALAPPDATA%\Programs\Antigravity |
| Antigravity CLI | %LOCALAPPDATA%\agy\bin(或执行 where agy 查看) |
部署后重启应用即可生效。
Antigravity IDE 插件
- 状态栏:底部只占一个条目,显示代理状态,点击打开设置面板;出口 IP·运营商、Gemini 结论、插件更新都收在同一个悬浮卡片里;
- 左侧栏:补丁/配置/代理/连通状态、出口 IP、Gemini 三层结论、实时日志与快捷操作;插件更新入口收在顶部图标里,不再占一张卡片;顶部地球图标可直接切换 中 / EN / RU;
- 日志窗口:底部面板内置,支持级别筛选、关键字搜索、暂停/复制、打开文件/目录;侧栏日志区同步加高,约多显示 8 行;
- 设置面板:可视化修改代理,保存前可「测试连接」,自动备份旧配置;顶栏新增界面语言下拉,切换后即时生效;
- 首次引导:代理不可用时自动打开设置并扫描本机代理(当前配置、IDE 代理设置、系统代理、环境变量、常用端口),找到后一键填入;
- Gemini 检测:网络 / Gemini API 区域 / Antigravity 会话三层判定,可自定义定时并联动左侧栏;
- 补丁守护:IDE 更新删掉补丁后,下次启动自动恢复(会提示重启);
- 自更新:本地代理 → GitHub 镜像 → 直连检查新版本,下载后校验 SHA256 再安装;
- 界面支持中文 / English / Русский,默认跟随 IDE 语言。
安装插件(推荐:Open VSX 市场)
最佳方式:打开 Open VSX 市场页面,或在 Antigravity IDE 扩展视图搜索 Antigravity Proxy 点击安装。也可命令行走市场安装:
& "$env:LOCALAPPDATA\Programs\Antigravity IDE\bin\antigravity-ide.cmd" --install-extension yuaotian.antigravity-proxy
安装后执行 Reload Window;插件首次启动会自动补齐 version.dll。
如果搜索不到 / 安装失败:
- 从 Open VSX 页面 或 GitHub Releases 下载 VSIX;
- 扩展视图右上角
…→ 「从 VSIX 安装」;或:
$vsix = Join-Path $env:TEMP "antigravity-proxy-2.6.3.vsix"
[Net.ServicePointManager]::SecurityProtocol = 3072
Invoke-WebRequest "https://open-vsx.org/api/yuaotian/antigravity-proxy/2.6.3/file/yuaotian.antigravity-proxy-2.6.3.vsix" -OutFile $vsix
& "$env:LOCALAPPDATA\Programs\Antigravity IDE\bin\antigravity-ide.cmd" --install-extension $vsix --force
(版本号按当前 Release 替换;也可以从 GitHub Releases 下载后把路径换成实际 VSIX。)
仍然失败:在线脚本(只装插件,中文可走 wget.la 镜像):
[Net.ServicePointManager]::SecurityProtocol=3072; & ([scriptblock]::Create((New-Object Net.WebClient).DownloadString('https://wget.la/https://raw.githubusercontent.com/yuaotian/antigravity-proxy/main/scripts/install-online.ps1'))) -ExtensionOnly -Yes
| 状态栏 | 含义 |
|---|---|
代理 7890 | 补丁已生效,代理端口可达 |
代理 · 缺少 agy.exe | target_processes 缺少 IDE 后端进程,代理对对话无效;悬浮提示里点「一键补齐」 |
代理 · 待重启 | 配置或补丁已更新,重启 IDE 后生效 |
代理 7890 不可达 | 代理软件未启动或端口不对 |
代理补丁缺失 / 代理配置异常 | version.dll 被删除 / config.json 缺失或无法解析 |
代理已禁用 | proxy.port = 0,全部直连 |
| 设置项 | 默认 | 说明 |
|---|---|---|
antigravityProxy.language | auto | 界面语言:auto / zh-cn / en / ru |
antigravityProxy.patchGuard.autoRestore | true | 启动时自动恢复被更新清除的补丁 |
antigravityProxy.statusBar.enabled | true | 是否显示状态栏 |
antigravityProxy.statusBar.probeIntervalSeconds | 60 | 代理连通检测间隔(秒);0 只在启动和保存后检测 |
界面预览
| 简体中文 | English | Русский |
|---|---|---|
![]() | ![]() | ![]() |
截图来自 Antigravity IDE 1.107.0(Windows),左侧栏与底部「代理日志」面板;IDE 自身的菜单语言跟随 IDE 安装,插件文案由
antigravityProxy.language控制。
更多说明见 docs/ide-extension.md。
配置
配置文件是安装目录下的 config.json,最常改的是代理地址:
{
"proxy": {
"host": "127.0.0.1",
"port": 7890,
"type": "socks5",
"username": "",
"password": ""
}
}
type:socks5(推荐)或http;port设为0表示全部直连;- 修改方式:IDE 插件设置面板,或用浏览器打开发布包里的
config-web.html编辑后导出; - 修改后需重启应用;
- 完整配置项(目标进程、路由规则、IPv6 / UDP 等)见 docs/configuration.md。
应用更新后补丁失效
Antigravity 自动更新可能会删除安装目录里的补丁文件:
- Antigravity IDE:插件会在下次启动时自动恢复,按提示重启即可;
- Antigravity 桌面版:从「Antigravity (代理)」入口启动会自动补回;或运行发布包里的
doctor.bat -Action Repair; - Antigravity CLI:运行发布包里的
doctor.bat -Action Repair,或重新执行在线安装。
在线安装的发布包位于 %LOCALAPPDATA%\antigravity-proxy\<版本>\,安装结束时也会打印修复命令。
常见问题
对话报错 Agent execution terminated due to error / User location is not supported?
多数是代理出口 IP 不被服务端接受(常见于机房 / 托管 IP),请换成普通家宽类型的节点再试。补丁日志里能看到「已注入新建进程」和「SOCKS5: 隧道建立成功」就说明补丁本身正常。详见 docs/agent-ip-diagnosis.md。
不走代理、主页白屏?
先运行 doctor.bat(只读体检),它会告诉你是补丁丢失、没被加载、代理端口不通,还是 proxy.type 与端口协议不符,并给出下一步操作。
报错里出现 198.18.x.x 被拒绝 / 超时?
198.18.x.x 是补丁分配给域名的内部占位地址(FakeIP),不是真实目标;出现在报错里通常说明连代理失败:检查代理软件是否启动、端口是否正确、proxy.type 是否与端口协议一致(混合端口两者皆可;HTTP 专用端口要填 http)。doctor.bat 会自动探测端口协议。
日志在哪?
<安装目录>\logs\proxy-YYYYMMDD.log;目录不可写时在 %TEMP%\antigravity-proxy-logs\。
启动报错?
| 错误 | 处理 |
|---|---|
0xC0000142 / 0xC000007B | 补丁与程序架构不一致(x86 / x64),换对应版本;或缺少运行库,安装 microsoft/微软常用运行库合集-2025.exe |
0xC0000135 / 缺少 VCRUNTIME140_1.dll | 安装上面的运行库合集 |
0xC0000906 | 被安全软件拦截,把安装目录加入白名单 |
日志里 10061 / 10060 | 代理软件未启动或端口错误 / 连接超时;日志提示「可能是 HTTP 代理端口」/「可能是 SOCKS5 端口」时改 proxy.type |
WSL 里能用吗? 不能:补丁只作用于 Windows 进程。WSL 的替代方案见 docs/wsl.md。
更多排查步骤见 docs/troubleshooting.md;仍未解决请提交 Issue 并附上日志与 config.json(隐去密码)。
文档
| 文档 | 内容 |
|---|---|
| docs/configuration.md | 完整配置项、路由规则、IPv6 / UDP、代理其他程序 |
| docs/troubleshooting.md | 故障排查手册、错误码 |
| docs/doctor.md | 一键部署 / 体检 / 修复脚本 |
| docs/ide-extension.md | IDE 插件 |
| docs/wsl.md | WSL 替代方案 |
| docs/DEVELOPMENT.md | 编译构建、工作原理、二次开发 |
编译
需要 Visual Studio 2022(C++ 桌面开发)与 CMake,执行 .\build.ps1 即可在 output/ 得到全部产物。详见 docs/DEVELOPMENT.md。
许可证
BSD-2-Clause。MinHook 部分版权归 Tsuda Kageyu 所有(AUTHORS.txt 为 MinHook 作者名单)。
关于作者
煎饼果子(86),独立开发者。
| 平台 | 信息 |
|---|---|
| 微信 | JavaRookie666 |
| Telegram | @yuaotian |
| GitHub | @yuaotian |
如果这个项目对你有帮助,欢迎点个 ⭐、分享给需要的朋友,或提交 Issue / PR。
打赏支持
如果这个项目帮到了你,可以请作者喝杯咖啡 ☕
伪代码(pseudocode_dll)来源说明
pseudocode_dll/ 收录了对某论坛帖中发布的 DLL 反编译得到的伪代码(Binary Ninja / IDA Hex-Rays),仅用于排查 Windows 11 下的崩溃问题与学习对照:
- 不参与本项目的构建与发布;本项目代码为从零实现并持续维护,并非原 DLL 的源码;
- 本仓库不分发原帖中的 DLL,如需获取请前往原帖:https://linux.do/t/topic/1189424;
- 若原帖作者希望移除相关内容,请提 Issue,我会第一时间配合。


