Skip to content

Commit 4fd9112

Browse files
committed
chore: release v4.1.29 and update risk logs
1 parent 205d8e3 commit 4fd9112

17 files changed

Lines changed: 77 additions & 40 deletions

File tree

Casks/antigravity-tools.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
cask "antigravity-tools" do
2-
version "4.1.28"
2+
version "4.1.29"
33
sha256 :no_check
44

55
name "Antigravity Tools"

README.md

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Antigravity Tools 🚀
2-
> 专业级 AI 账号管理与协议代理系统 (v4.1.28)
2+
> 专业级 AI 账号管理与协议代理系统 (v4.1.29)
33
<div align="center">
44
<img src="public/icon.png" alt="Antigravity Logo" width="120" height="120" style="border-radius: 24px; box-shadow: 0 10px 30px rgba(0,0,0,0.15);">
55
@@ -8,7 +8,7 @@
88

99
<p>
1010
<a href="https://github.com/lbjlaq/Antigravity-Manager">
11-
<img src="https://img.shields.io/badge/Version-4.1.28-blue?style=flat-square" alt="Version">
11+
<img src="https://img.shields.io/badge/Version-4.1.29-blue?style=flat-square" alt="Version">
1212
</a>
1313
<img src="https://img.shields.io/badge/Tauri-v2-orange?style=flat-square" alt="Tauri">
1414
<img src="https://img.shields.io/badge/Backend-Rust-red?style=flat-square" alt="Rust">
@@ -121,7 +121,7 @@ graph TD
121121

122122
**Linux / macOS:**
123123
```bash
124-
curl -fsSL https://raw.githubusercontent.com/lbjlaq/Antigravity-Manager/v4.1.28/install.sh | bash
124+
curl -fsSL https://raw.githubusercontent.com/lbjlaq/Antigravity-Manager/v4.1.29/install.sh | bash
125125
```
126126

127127
**Windows (PowerShell):**
@@ -131,7 +131,7 @@ irm https://raw.githubusercontent.com/lbjlaq/Antigravity-Manager/main/install.ps
131131

132132
> **支持的格式**: Linux (`.deb` / `.rpm` / `.AppImage`) | macOS (`.dmg`) | Windows (NSIS `.exe`)
133133
>
134-
> **高级用法**: 安装指定版本 `curl -fsSL ... | bash -s -- --version 4.1.28`,预览模式 `curl -fsSL ... | bash -s -- --dry-run`
134+
> **高级用法**: 安装指定版本 `curl -fsSL ... | bash -s -- --version 4.1.29`,预览模式 `curl -fsSL ... | bash -s -- --dry-run`
135135
136136
#### macOS - Homebrew
137137
如果您已安装 [Homebrew](https://brew.sh/),也可以通过以下命令安装:
@@ -431,6 +431,24 @@ response = client.chat.completions.create(
431431
## 📝 开发者与社区
432432

433433
* **版本演进 (Changelog)**:
434+
* **v4.1.29 (2026-03-12)**:
435+
- **[重要提醒] 谷歌风控与第三方工具使用风险**:
436+
- 由于谷歌加强风控,第三方工具会违反服务条款而被暂停使用 Antigravity、Gemini CLI 或 Gemini Code Assist。
437+
- 使用第三方软件、工具或服务访问 Antigravity、Gemini CLI 或 Gemini Code Assist(例如,使用 OpenClaw 和 Antigravity OAuth)违反了适用的条款和政策。此类行为可能导致您的帐户被暂停或终止。建议只使用切换功能
438+
- **申诉链接**: 如果您认为帐户被误封,请通过 [此链接](https://forms.gle/hGzM9MEUv2azZsrb9) 进行申诉。
439+
- 如果你对新的反代功能感兴趣可以查看 [TG 频道](https://t.me/AntigravityManager) 获取最新动态。
440+
- ![风险提示](docs/images/CleanShot%202026-03-12%20at%2009.34.34@2x.png)
441+
- **[核心功能] 账号感知的动态模型重映射与回退 (PR #2286)**:
442+
- **动态回退逻辑**: 解决了由于不同账号对 Gemini Pro 模型层级(如 `high` / `low`)访问权限不一致导致的 `404/400` 报错问题。系统现在会根据选中账号的实际权限,在同系列模型间自动执行平滑回退(例如:`gemini-3.1-pro-high` -> `gemini-3.1-pro-low` -> 默认层级)。
443+
- **账号权限实时校验**: 在请求进入处理器前,动态通过账号文件数据校验目标模型的可用性,实现真正意义上的“账号感知”调度。
444+
- **重映射优先级优化**: 确立了 `API 弃用规则 > 账号感知回退 > 用户自定义映射 > 系统默认映射` 的科学优先级链条。
445+
- **文档同步**: 新增了 `docs/model-remapping-logic.md`,完整记录了复杂的重映射逻辑流程。
446+
- **[核心修复] Windows CLI 探测增强与路径扫描优化 (PR #2298)**:
447+
- **路径主动扫描**: 引入了对 `APPDATA``LOCALAPPDATA` 以及 `NVM_HOME` 等路径的自动扫描机制,确保即使 CLI 未正确配置在系统 `PATH` 中也能被精准识别。
448+
- **脚本处理优化**: 改进了 Windows 环境下 `.cmd``.bat` 脚本的调用方式,解决了直接执行无法稳定获取版本号的问题。
449+
- **执行安全加固**: 新增了路径安全性校验逻辑,通过绝对路径检查与危险字符过滤,有效防范命令注入风险。
450+
- **[持续集成] 引入 GitHub Actions CI 工作流 (PR #2298)**:
451+
- **自动化质量控制**: 构建了基础的 CI 流水线,涵盖 Rust 代码格式化检查、静态分析以及跨平台编译测试,提升了代码合规性与交付稳定性。
434452
* **v4.1.28 (2026-03-03)**:
435453
- **[重要提醒] 谷歌风控与第三方工具使用风险**:
436454
- 由于谷歌加强风控,第三方工具会违反服务条款而被暂停使用 Antigravity、Gemini CLI 或 Gemini Code Assist。

README_EN.md

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Antigravity Tools 🚀
2-
> Professional AI Account Management & Protocol Proxy System (v4.1.28)
2+
> Professional AI Account Management & Protocol Proxy System (v4.1.29)
33
44
<div align="center">
55
<img src="public/icon.png" alt="Antigravity Logo" width="120" height="120" style="border-radius: 24px; box-shadow: 0 10px 30px rgba(0,0,0,0.15);">
@@ -9,7 +9,7 @@
99

1010
<p>
1111
<a href="https://github.com/lbjlaq/Antigravity-Manager">
12-
<img src="https://img.shields.io/badge/Version-4.1.28-blue?style=flat-square" alt="Version">
12+
<img src="https://img.shields.io/badge/Version-4.1.29-blue?style=flat-square" alt="Version">
1313
</a>
1414
<img src="https://img.shields.io/badge/Tauri-v2-orange?style=flat-square" alt="Tauri">
1515
<img src="https://img.shields.io/badge/Backend-Rust-red?style=flat-square" alt="Rust">
@@ -122,7 +122,7 @@ Automatically detects your OS, architecture, and package manager — one command
122122

123123
**Linux / macOS:**
124124
```bash
125-
curl -fsSL https://raw.githubusercontent.com/lbjlaq/Antigravity-Manager/v4.1.28/install.sh | bash
125+
curl -fsSL https://raw.githubusercontent.com/lbjlaq/Antigravity-Manager/v4.1.29/install.sh | bash
126126
```
127127

128128
**Windows (PowerShell):**
@@ -132,7 +132,7 @@ irm https://raw.githubusercontent.com/lbjlaq/Antigravity-Manager/main/install.ps
132132

133133
> **Supported formats**: Linux (`.deb` / `.rpm` / `.AppImage`) | macOS (`.dmg`) | Windows (NSIS `.exe`)
134134
>
135-
> **Advanced usage**: Install a specific version `curl -fsSL ... | bash -s -- --version 4.1.28`,dry-run mode `curl -fsSL ... | bash -s -- --dry-run`
135+
> **Advanced usage**: Install a specific version `curl -fsSL ... | bash -s -- --version 4.1.29`,dry-run mode `curl -fsSL ... | bash -s -- --dry-run`
136136
137137
#### macOS - Homebrew
138138
If you have [Homebrew](https://brew.sh/) installed, you can also install via:
@@ -283,6 +283,25 @@ print(response.choices[0].message.content)
283283
## 📝 Developer & Community
284284
285285
* **Changelog**:
286+
* **v4.1.29 (2026-03-12)**:
287+
- **[IMPORTANT WARNING] Google Risk Control & Third-Party Tool Risks**:
288+
- Due to tightened Google risk control, third-party tools may be suspended for violating Terms of Service when used with Antigravity, Gemini CLI, or Gemini Code Assist.
289+
- Accessing Antigravity, Gemini CLI, or Gemini Code Assist using third-party software, tools, or services (e.g., using OpenClaw and Antigravity OAuth) violates applicable terms and policies. Such actions may lead to account suspension or termination. It is recommended to only use the switching feature.
290+
- **Appeal Link**: If you believe your account was suspended by mistake, please submit an appeal via [this link](https://forms.gle/hGzM9MEUv2azZsrb9).
291+
- Stay tuned to our [Telegram Channel](https://t.me/AntigravityManager) for latest updates.
292+
- ![Risk Warning](docs/images/CleanShot%202026-03-12%20at%2009.34.34@2x.png)
293+
- **[Core Feature] Account-Aware Dynamic Model Remapping & Fallback (PR #2286)**:
294+
- **Dynamic Fallback Logic**: Resolved `404/400` errors caused by inconsistent model tier access (e.g., `high` vs `low`) across different accounts. The system now automatically executes smooth fallbacks between models in the same series (e.g., `gemini-3.1-pro-high` -> `gemini-3.1-pro-low` -> default tier) based on the active account's permissions.
295+
- **Real-time Permission Validation**: Dynamically validates target model availability via account file data before requests enter the handler, achieving true "account-aware" scheduling.
296+
- **Remapping Priority Optimization**: Established a scientific priority chain: `API Deprecation Rules > Account-Aware Fallback > User-Defined Mapping > System Default Mapping`.
297+
- **Documentation Sync**: Added `docs/model-remapping-logic.md` to fully document the complex remapping logic flow.
298+
- **[Core Fix] Enhanced Windows CLI Detection & Path Scanning (PR #2298)**:
299+
- **Active Path Scanning**: Introduced automatic scanning for `APPDATA`, `LOCALAPPDATA`, and `NVM_HOME` to ensure precise identification even if the CLI is not in the system `PATH`.
300+
- **Script Handling Optimization**: Improved invocation of `.cmd` and `.bat` scripts on Windows, resolving issues with unstable version retrieval during direct execution.
301+
- **Security Hardening**: Added path security validation logic with absolute path checks and character filtering to prevent command injection risks.
302+
- **[Continuous Integration] Integrated GitHub Actions CI Workflow (PR #2298)**:
303+
- **Automated Quality Control**: Built a basic CI pipeline covering Rust formatting, linting, and cross-platform compilation tests to enhance code compliance and delivery stability.
304+
286305
* **v4.1.28 (2026-03-03)**:
287306
- **[IMPORTANT WARNING] Google Risk Control & Third-Party Tool Risks**:
288307
- Due to tightened Google risk control, third-party tools may be suspended for violating Terms of Service when used with Antigravity, Gemini CLI, or Gemini Code Assist.
230 KB
Loading

install.ps1

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# Usage: irm https://raw.githubusercontent.com/lbjlaq/Antigravity-Manager/main/install.ps1 | iex
33
#
44
# Parameters (set before running):
5-
# $Version = "4.1.28" # Install specific version
5+
# $Version = "4.1.29" # Install specific version
66
# $DryRun = $true # Preview commands without executing
77

88
if (-not $Version) { $Version = "" }
@@ -85,12 +85,12 @@ function Get-ReleaseVersion {
8585
}
8686

8787
Script-Error "Failed to determine latest version. Try specifying version manually:"
88-
Write-Host ' $Version = "4.1.28"; irm https://raw.githubusercontent.com/lbjlaq/Antigravity-Manager/main/install.ps1 | iex' -ForegroundColor Yellow
88+
Write-Host ' $Version = "4.1.29"; irm https://raw.githubusercontent.com/lbjlaq/Antigravity-Manager/main/install.ps1 | iex' -ForegroundColor Yellow
8989
return $false
9090
}
9191

9292
function Get-DownloadUrl {
93-
# NSIS installer: Antigravity.Tools_4.1.28_x64-setup.exe
93+
# NSIS installer: Antigravity.Tools_4.1.29_x64-setup.exe
9494
$script:DownloadUrl = "https://github.com/$Repo/releases/download/v$($script:ReleaseVersion)/Antigravity.Tools_$($script:ReleaseVersion)_x64-setup.exe"
9595
$script:Filename = "Antigravity.Tools_$($script:ReleaseVersion)_x64-setup.exe"
9696

install.sh

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ Usage:
4343
curl -fsSL https://raw.githubusercontent.com/${REPO}/main/install.sh | bash
4444
4545
# Install specific version
46-
curl -fsSL https://raw.githubusercontent.com/${REPO}/main/install.sh | VERSION=4.1.28 bash
46+
curl -fsSL https://raw.githubusercontent.com/${REPO}/main/install.sh | VERSION=4.1.29 bash
4747
4848
Options:
4949
--help Show this help message
@@ -151,17 +151,17 @@ build_download_url() {
151151
linux)
152152
case "$PKG_EXT" in
153153
deb)
154-
# Antigravity.Tools_4.1.28_amd64.deb or _arm64.deb
154+
# Antigravity.Tools_4.1.29_amd64.deb or _arm64.deb
155155
DOWNLOAD_URL="${base_url}/Antigravity.Tools_${RELEASE_VERSION}_${DEB_ARCH}.deb"
156156
FILENAME="Antigravity.Tools_${RELEASE_VERSION}_${DEB_ARCH}.deb"
157157
;;
158158
rpm)
159-
# Antigravity.Tools-4.1.28-1.x86_64.rpm or -1.aarch64.rpm
159+
# Antigravity.Tools-4.1.29-1.x86_64.rpm or -1.aarch64.rpm
160160
DOWNLOAD_URL="${base_url}/Antigravity.Tools-${RELEASE_VERSION}-1.${RPM_ARCH}.rpm"
161161
FILENAME="Antigravity.Tools-${RELEASE_VERSION}-1.${RPM_ARCH}.rpm"
162162
;;
163163
AppImage)
164-
# Antigravity.Tools_4.1.28_amd64.AppImage or _aarch64.AppImage
164+
# Antigravity.Tools_4.1.29_amd64.AppImage or _aarch64.AppImage
165165
local appimage_arch
166166
if [[ "$ARCH_LABEL" == "x86_64" ]]; then
167167
appimage_arch="amd64"

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"version": "4.1.28",
2+
"version": "4.1.29",
33
"name": "antigravity-tools",
44
"type": "module",
55
"private": true,

src-tauri/Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src-tauri/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "antigravity_tools"
3-
version = "4.1.28"
3+
version = "4.1.29"
44
description = "A Tauri App"
55
authors = ["you"]
66
license = "CC-BY-NC-SA-4.0"

src-tauri/src/constants.rs

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ const CHANGELOG_URL: &str = "https://antigravity.google/changelog";
1010

1111

1212
/// Known stable configuration (for Docker/Headless fallback)
13-
/// Antigravity 4.1.28 uses Electron 39.2.3 which corresponds to Chrome 132.0.6834.160
14-
const KNOWN_STABLE_VERSION: &str = "4.1.28";
13+
/// Antigravity 4.1.29 uses Electron 39.2.3 which corresponds to Chrome 132.0.6834.160
14+
const KNOWN_STABLE_VERSION: &str = "4.1.29";
1515
const KNOWN_STABLE_ELECTRON: &str = "39.2.3";
1616
const KNOWN_STABLE_CHROME: &str = "132.0.6834.160";
1717

@@ -174,7 +174,7 @@ fn resolve_version_config() -> (VersionConfig, VersionSource) {
174174
)
175175
}
176176

177-
/// Current resolved Antigravity version (e.g., "4.1.28")
177+
/// Current resolved Antigravity version (e.g., "4.1.29")
178178
/// Always >= KNOWN_STABLE_VERSION, and >= remote latest when reachable.
179179
pub static CURRENT_VERSION: LazyLock<String> = LazyLock::new(|| {
180180
let (config, _) = resolve_version_config();
@@ -186,13 +186,13 @@ pub static NATIVE_OAUTH_USER_AGENT: LazyLock<String> = LazyLock::new(|| {
186186
format!("vscode/1.X.X (Antigravity/{})", CURRENT_VERSION.as_str())
187187
});
188188

189-
/// Current resolved Antigravity version (e.g., "4.1.28")
189+
/// Current resolved Antigravity version (e.g., "4.1.29")
190190
pub fn get_current_version() -> String {
191191
env!("CARGO_PKG_VERSION").to_string()
192192
}
193193

194194
/// Returns a full User-Agent string for the current version
195-
/// "Antigravity/4.1.28 (Macintosh; Intel Mac OS X 10_15_7) Chrome/132.0.6834.160 Electron/39.2.3"
195+
/// "Antigravity/4.1.29 (Macintosh; Intel Mac OS X 10_15_7) Chrome/132.0.6834.160 Electron/39.2.3"
196196
pub fn get_default_user_agent() -> String {
197197
format!("Antigravity/{} (Macintosh; Intel Mac OS X 10_15_7) Chrome/132.0.6834.160 Electron/39.2.3", env!("CARGO_PKG_VERSION"))
198198
}
@@ -203,7 +203,7 @@ pub static SESSION_ID: LazyLock<String> = LazyLock::new(|| {
203203
});
204204

205205
/// Returns the best version choice between local and remote
206-
/// Version selection: max(local installation, remote latest, known stable 4.1.28)
206+
/// Version selection: max(local installation, remote latest, known stable 4.1.29)
207207
/// This prevents model rejection due to outdated client version headers.
208208
pub static USER_AGENT: LazyLock<String> = LazyLock::new(|| {
209209
let (config, source) = resolve_version_config();
@@ -263,9 +263,9 @@ mod tests {
263263

264264
#[test]
265265
fn test_compare_semver() {
266-
assert_eq!(compare_semver("4.1.28", "4.1.22"), std::cmp::Ordering::Greater);
267-
assert_eq!(compare_semver("4.1.22", "4.1.28"), std::cmp::Ordering::Less);
268-
assert_eq!(compare_semver("4.1.28", "4.1.28"), std::cmp::Ordering::Equal);
266+
assert_eq!(compare_semver("4.1.29", "4.1.22"), std::cmp::Ordering::Greater);
267+
assert_eq!(compare_semver("4.1.22", "4.1.29"), std::cmp::Ordering::Less);
268+
assert_eq!(compare_semver("4.1.29", "4.1.29"), std::cmp::Ordering::Equal);
269269
assert_eq!(compare_semver("5.0.0", "4.9.9"), std::cmp::Ordering::Greater);
270270
assert_eq!(compare_semver("1.16.5", "1.16.4"), std::cmp::Ordering::Greater);
271271
}
@@ -283,7 +283,7 @@ mod tests {
283283

284284
#[test]
285285
fn test_old_local_version_uses_floor() {
286-
// Simulate: local = 4.1.20 (old), floor = 4.1.28
286+
// Simulate: local = 4.1.20 (old), floor = 4.1.29
287287
// Expected: use floor
288288
let local = "4.1.20";
289289
let floor = KNOWN_STABLE_VERSION;
@@ -297,15 +297,15 @@ mod tests {
297297

298298
#[test]
299299
fn test_newer_local_version_takes_priority() {
300-
// Simulate: local = 4.1.28 (newer than floor), floor = 4.1.28
300+
// Simulate: local = 4.1.29 (newer than floor), floor = 4.1.29
301301
// Expected: use local
302-
let local = "4.1.28";
302+
let local = "4.1.29";
303303
let floor = KNOWN_STABLE_VERSION;
304304
let best = if compare_semver(local, floor) >= std::cmp::Ordering::Equal {
305305
local
306306
} else {
307307
floor
308308
};
309-
assert_eq!(best, "4.1.28");
309+
assert_eq!(best, "4.1.29");
310310
}
311311
}

0 commit comments

Comments
 (0)