Skip to content

Commit 5b18fb3

Browse files
author
李杰
committed
feat: add update checker and bump version to v0.2.0
- Implement automatic update checking via GitHub Releases API - Add glassmorphism notification card for update alerts - Add manual 'Check Updates' button in Settings → About - Add CHANGELOG.md and CHANGELOG.zh-CN.md - Update all 17 language translations for update feature
1 parent fcb01ab commit 5b18fb3

32 files changed

Lines changed: 931 additions & 46 deletions

CHANGELOG.md

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
# Changelog
2+
3+
English · [简体中文](CHANGELOG.zh-CN.md)
4+
5+
All notable changes to Antigravity Cockpit Tools will be documented in this file.
6+
7+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
8+
9+
---
10+
11+
## [0.2.0] - 2026-01-21
12+
13+
### Added
14+
- **Update Checker**: Implemented automatic update checking via GitHub Releases API.
15+
- On startup, the app checks for new versions (once every 24 hours by default).
16+
- A beautiful glassmorphism notification card appears in the top-right corner when an update is available.
17+
- Manual "Check for Updates" button added to **Settings → About** page with real-time status feedback.
18+
- Clicking the notification opens the GitHub release page for download.
19+
- **i18n**: Added update notification translations for all 17 supported languages.
20+
21+
---
22+
23+
## [0.1.0] - 2025-01-21
24+
25+
### Added
26+
- **Account Management**: Complete account management with OAuth authorization support.
27+
- Add accounts via Google OAuth authorization flow.
28+
- Import accounts from Antigravity Tools (`~/.antigravity_tools/`), local Antigravity client, or VS Code extension.
29+
- Export accounts to JSON for backup and migration.
30+
- Delete single or multiple accounts with confirmation.
31+
- Drag-and-drop reordering of account list.
32+
- **Quota Monitoring**: Real-time monitoring of model quotas for all accounts.
33+
- Card view and list view display modes.
34+
- Filter accounts by subscription tier (PRO/ULTRA/FREE).
35+
- Auto-refresh with configurable intervals (2/5/10/15 minutes or disabled).
36+
- Quick switch between accounts with one click.
37+
- **Device Fingerprints**: Comprehensive device fingerprint management.
38+
- Generate new fingerprints with customizable names.
39+
- Capture current device fingerprint.
40+
- Bind fingerprints to accounts for device simulation.
41+
- Import fingerprints from Antigravity Tools or JSON files.
42+
- Preview fingerprint profile details.
43+
- **Wakeup Tasks**: Automated account wakeup scheduling system.
44+
- Create multiple wakeup tasks with independent controls.
45+
- Supports scheduled, Crontab, and quota-reset trigger modes.
46+
- Multi-model and multi-account selection.
47+
- Custom wakeup prompts and max token limits.
48+
- Trigger history with detailed logs.
49+
- Global wakeup toggle for quick enable/disable.
50+
- **Antigravity Cockpit Integration**: Deep integration with the VS Code extension.
51+
- WebSocket server for bidirectional communication.
52+
- Remote account switching from the extension.
53+
- Account import/export synchronization.
54+
- **Settings**: Comprehensive application settings.
55+
- Language selection (17 languages supported).
56+
- Theme switching (Light/Dark/System).
57+
- WebSocket service configuration with custom port support.
58+
- Data and fingerprint directory shortcuts.
59+
- **i18n**: Full internationalization support for 17 languages.
60+
- 🇨🇳 简体中文, 🇹🇼 繁體中文, 🇺🇸 English
61+
- 🇯🇵 日本語, 🇰🇷 한국어, 🇻🇳 Tiếng Việt
62+
- 🇩🇪 Deutsch, 🇫🇷 Français, 🇪🇸 Español, 🇮🇹 Italiano, 🇵🇹 Português
63+
- 🇷🇺 Русский, 🇹🇷 Türkçe, 🇵🇱 Polski, 🇨🇿 Čeština, 🇸🇦 العربية
64+
- **UI/UX**: Modern, polished user interface.
65+
- Glassmorphism design with smooth animations.
66+
- Responsive sidebar navigation.
67+
- Dark mode support with seamless theme transitions.
68+
- Native macOS window controls and drag region.
69+
70+
### Technical
71+
- Built with Tauri 2.0 + React + TypeScript.
72+
- SQLite database for local data persistence.
73+
- Secure credential storage using system keychain.
74+
- Cross-platform support (macOS primary, Windows/Linux planned).

CHANGELOG.zh-CN.md

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
# 更新日志
2+
3+
简体中文 · [English](CHANGELOG.md)
4+
5+
本文件记录 Antigravity Cockpit Tools 的所有重要变更。
6+
7+
格式参考 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/)
8+
9+
---
10+
11+
## [0.2.0] - 2026-01-21
12+
13+
### 新增
14+
- **更新检查**: 实现通过 GitHub Releases API 自动检查更新。
15+
- 应用启动时自动检查新版本(默认每 24 小时检查一次)。
16+
- 发现新版本时,右上角弹出精美的毛玻璃风格通知卡片。
17+
-**设置 → 关于** 页面新增手动"检查更新"按钮,支持实时状态反馈。
18+
- 点击通知或下载按钮可直接跳转到 GitHub Release 页面下载。
19+
- **国际化**: 为全部 17 种支持语言添加了更新通知相关翻译。
20+
21+
---
22+
23+
## [0.1.0] - 2025-01-21
24+
25+
### 新增
26+
- **账号管理**: 完整的账号管理功能,支持 OAuth 授权。
27+
- 通过 Google OAuth 授权流程添加账号。
28+
- 支持从 Antigravity Tools (`~/.antigravity_tools/`)、本地 Antigravity 客户端或 VS Code 插件导入账号。
29+
- 导出账号为 JSON 格式,便于备份和迁移。
30+
- 支持删除单个或多个账号,带确认提示。
31+
- 支持拖拽排序账号列表。
32+
- **配额监控**: 实时监控所有账号的模型配额。
33+
- 卡片视图和列表视图两种显示模式。
34+
- 按订阅类型(PRO/ULTRA/FREE)筛选账号。
35+
- 自动刷新,可配置刷新间隔(2/5/10/15 分钟或禁用)。
36+
- 一键快速切换账号。
37+
- **设备指纹**: 全面的设备指纹管理功能。
38+
- 生成新指纹,支持自定义名称。
39+
- 捕获当前设备指纹。
40+
- 将指纹绑定到账号,实现设备模拟。
41+
- 从 Antigravity Tools 或 JSON 文件导入指纹。
42+
- 预览指纹配置详情。
43+
- **唤醒任务**: 自动化账号唤醒调度系统。
44+
- 创建多个唤醒任务,支持独立控制。
45+
- 支持定时、Crontab 和配额重置三种触发模式。
46+
- 多模型和多账号选择。
47+
- 自定义唤醒词和最大 Token 限制。
48+
- 触发历史记录,包含详细日志。
49+
- 全局唤醒开关,快速启用/禁用。
50+
- **Antigravity Cockpit 集成**: 与 VS Code 插件深度集成。
51+
- WebSocket 服务器实现双向通信。
52+
- 支持从插件端远程切换账号。
53+
- 账号导入/导出同步。
54+
- **设置**: 完善的应用设置功能。
55+
- 语言选择(支持 17 种语言)。
56+
- 主题切换(浅色/深色/跟随系统)。
57+
- WebSocket 服务配置,支持自定义端口。
58+
- 数据目录和指纹目录快捷入口。
59+
- **国际化**: 完整的国际化支持,覆盖 17 种语言。
60+
- 🇨🇳 简体中文, 🇹🇼 繁體中文, 🇺🇸 English
61+
- 🇯🇵 日本語, 🇰🇷 한국어, 🇻🇳 Tiếng Việt
62+
- 🇩🇪 Deutsch, 🇫🇷 Français, 🇪🇸 Español, 🇮🇹 Italiano, 🇵🇹 Português
63+
- 🇷🇺 Русский, 🇹🇷 Türkçe, 🇵🇱 Polski, 🇨🇿 Čeština, 🇸🇦 العربية
64+
- **界面体验**: 现代精致的用户界面。
65+
- 毛玻璃设计风格,配合流畅动画。
66+
- 响应式侧边栏导航。
67+
- 深色模式支持,无缝主题切换。
68+
- 原生 macOS 窗口控件和拖拽区域。
69+
70+
### 技术栈
71+
- 基于 Tauri 2.0 + React + TypeScript 构建。
72+
- 使用 SQLite 数据库进行本地数据持久化。
73+
- 使用系统钥匙串安全存储凭证。
74+
- 跨平台支持(当前以 macOS 为主,Windows/Linux 计划中)。

README.en.md

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -100,15 +100,29 @@ Supports integration with [Antigravity Cockpit](https://github.com/jlcodes99/vsc
100100

101101
---
102102

103-
## Installation
103+
## Installation Guide
104104

105-
### Download Release
105+
### Option A: Manual Download (Recommended)
106106

107-
Download the installer for your platform from the [Releases](https://github.com/jlcodes99/antigravity-cockpit-tools/releases) page:
107+
Go to [GitHub Releases](https://github.com/jlcodes99/antigravity-cockpit-tools/releases) to download the package for your system:
108108

109-
- **macOS**: `.dmg` or `.app`
110-
- **Windows**: `.msi` or `.exe`
111-
- **Linux**: `.deb`, `.rpm`, or `.AppImage`
109+
* **macOS**: `.dmg` (Apple Silicon & Intel)
110+
* **Windows**: `.msi` (Recommended) or `.exe`
111+
* **Linux**: `.deb` (Debian/Ubuntu) or `.AppImage` (Universal)
112+
113+
### 🛠️ Troubleshooting
114+
115+
#### macOS says "App is damaged and can't be opened"?
116+
Due to macOS security mechanisms, apps not downloaded from the App Store may trigger this warning. You can quickly fix this by following these steps:
117+
118+
1. **Command Line Fix** (Recommended):
119+
Open Terminal and run the following command:
120+
```bash
121+
sudo xattr -rd com.apple.quarantine "/Applications/Cockpit Tools.app"
122+
```
123+
> **Note**: If you changed the app name (e.g., to `Antigravity Cockpit Tools.app`), please adjust the path in the command accordingly.
124+
125+
2. **Or**: Go to "System Settings" -> "Privacy & Security" and click "Open Anyway".
112126

113127
---
114128

README.md

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -100,15 +100,29 @@
100100

101101
---
102102

103-
## 安装
103+
## 安装指南 (Installation)
104104

105-
### 下载发行包
105+
### 选项 A: 手动下载 (推荐)
106106

107-
[Releases](https://github.com/jlcodes99/antigravity-cockpit-tools/releases) 页面下载对应平台的安装包
107+
前往 [GitHub Releases](https://github.com/jlcodes99/antigravity-cockpit-tools/releases) 下载对应系统的安装包
108108

109-
- **macOS**`.dmg``.app`
110-
- **Windows**`.msi``.exe`
111-
- **Linux**`.deb``.rpm``.AppImage`
109+
* **macOS**: `.dmg` (Apple Silicon & Intel)
110+
* **Windows**: `.msi` (推荐) 或 `.exe`
111+
* **Linux**: `.deb` (Debian/Ubuntu) 或 `.AppImage` (通用)
112+
113+
### 🛠️ 常见问题排查 (Troubleshooting)
114+
115+
#### macOS 提示“应用已损坏,无法打开”?
116+
由于 macOS 的安全机制,非 App Store 下载的应用可能会触发此提示。您可以按照以下步骤快速修复:
117+
118+
1. **命令行修复** (推荐):
119+
打开终端,执行以下命令:
120+
```bash
121+
sudo xattr -rd com.apple.quarantine "/Applications/Cockpit Tools.app"
122+
```
123+
> **注意**: 如果您修改了应用名称(如 `Antigravity Cockpit Tools.app`),请在命令中相应调整路径。
124+
125+
2. **或者**: 在“系统设置” -> “隐私与安全性”中点击“仍要打开”。
112126

113127
---
114128

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "antigravity-cockpit-tools",
33
"private": true,
4-
"version": "0.1.0",
4+
"version": "0.2.0",
55
"type": "module",
66
"scripts": {
77
"dev": "vite",

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-cockpit-tools"
3-
version = "0.1.0"
3+
version = "0.2.0"
44
description = "Cockpit Tools"
55
authors = ["jlcodes"]
66
license = "CC-BY-NC-SA-4.0"

src-tauri/src/commands/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,4 @@ pub mod oauth;
44
pub mod import;
55
pub mod system;
66
pub mod wakeup;
7+
pub mod update;

src-tauri/src/commands/update.rs

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
use crate::modules::update_checker::{self, UpdateInfo, UpdateSettings};
2+
3+
/// Check for updates from GitHub
4+
#[tauri::command]
5+
pub async fn check_for_updates() -> Result<UpdateInfo, String> {
6+
update_checker::check_for_updates().await
7+
}
8+
9+
/// Check if we should check for updates (based on interval settings)
10+
#[tauri::command]
11+
pub fn should_check_updates() -> Result<bool, String> {
12+
let settings = update_checker::load_update_settings()?;
13+
Ok(update_checker::should_check_for_updates(&settings))
14+
}
15+
16+
/// Update the last check time
17+
#[tauri::command]
18+
pub fn update_last_check_time() -> Result<(), String> {
19+
update_checker::update_last_check_time()
20+
}
21+
22+
/// Get update settings
23+
#[tauri::command]
24+
pub fn get_update_settings() -> Result<UpdateSettings, String> {
25+
update_checker::load_update_settings()
26+
}
27+
28+
/// Save update settings
29+
#[tauri::command]
30+
pub fn save_update_settings(settings: UpdateSettings) -> Result<(), String> {
31+
update_checker::save_update_settings(&settings)
32+
}

src-tauri/src/lib.rs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,13 @@ pub fn run() {
130130
// Wakeup Commands
131131
commands::wakeup::trigger_wakeup,
132132
commands::wakeup::fetch_available_models,
133+
134+
// Update Commands
135+
commands::update::check_for_updates,
136+
commands::update::should_check_updates,
137+
commands::update::update_last_check_time,
138+
commands::update::get_update_settings,
139+
commands::update::save_update_settings,
133140
])
134141
.run(tauri::generate_context!())
135142
.expect("error while running tauri application");

0 commit comments

Comments
 (0)