Repository Analysis

lbjlaq/Antigravity-Manager

Professional Antigravity Account Manager & Switcher. One-click seamless account switching for Antigravity Tools. Built with Tauri v2 + React (Rust).专业的 Antigravity 账号管理与切换工具。为 Antigravity 提供一键无缝账号切换功能。

1.0 Likely human-written View on GitHub
1.0
Adjusted Score
1.0
Raw Score
100%
Time Factor
2026-05-24
Last Push
29,490
Stars
Rust
Language
118,314
Lines of Code
300
Files
68
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 0HIGH 8MEDIUM 9LOW 51

Pattern Findings

68 matches across 7 categories. Click a row to expand file-level details.

Over-Commented Block42 hits · 42 pts
SeverityFileLineSnippet
LOWsrc-tauri/src/lib.rs141
LOWsrc-tauri/src/proxy/session_manager.rs1use sha2::{Sha256, Digest};
LOWsrc-tauri/src/proxy/config.rs261 /// 启用双层签名缓存 (Signature Cache)
LOWsrc-tauri/src/proxy/config.rs461 pub enabled: bool,
LOWsrc-tauri/src/proxy/config.rs521 /// 实验性功能配置
LOWsrc-tauri/src/proxy/config.rs541 #[serde(default)]
LOWsrc-tauri/src/proxy/token_manager.rs2061 /// 清除所有限流记录
LOWsrc-tauri/src/proxy/token_manager.rs2081 ///
LOWsrc-tauri/src/proxy/token_manager.rs2261 }
LOWsrc-tauri/src/proxy/signature_cache.rs41/// Triple-layer signature cache to handle:
LOWsrc-tauri/src/proxy/rate_limit.rs21#[allow(dead_code)]
LOWsrc-tauri/src/proxy/rate_limit.rs101 }
LOWsrc-tauri/src/proxy/opencode_sync.rs201
LOWsrc-tauri/src/proxy/tests/ultra_priority_tests.rs1//! Ultra Priority Tests for High-End Models (Opus 4.6/4.5)
LOWsrc-tauri/src/proxy/tests/security_integration_tests.rs61
LOWsrc-tauri/src/proxy/tests/security_integration_tests.rs101
LOWsrc-tauri/src/proxy/tests/security_integration_tests.rs141 // ============================================================================
LOWsrc-tauri/src/proxy/tests/security_integration_tests.rs181 // ============================================================================
LOWsrc-tauri/src/proxy/tests/security_integration_tests.rs221
LOWsrc-tauri/src/proxy/common/model_mapping.rs81 m.insert("gemini-3-pro-image", "gemini-3-pro-image");
LOWsrc-tauri/src/proxy/common/model_mapping.rs101///
LOWsrc-tauri/src/proxy/common/model_mapping.rs241 true
LOWsrc-tauri/src/proxy/common/model_mapping.rs301/// Normalize any physical model name to one of the 3 standard protection IDs.
LOWsrc-tauri/src/proxy/common/client_adapter.rs1use axum::http::HeaderMap;
LOWsrc-tauri/src/proxy/common/tool_adapter.rs1use serde_json::Value;
LOWsrc-tauri/src/proxy/common/tool_adapter.rs21 /// # Arguments
LOWsrc-tauri/src/proxy/common/json_schema.rs21
LOWsrc-tauri/src/proxy/common/json_schema.rs61
LOWsrc-tauri/src/proxy/common/client_adapters/opencode.rs1use super::super::client_adapter::{ClientAdapter, Protocol, SignatureBufferStrategy, get_user_agent};
LOWsrc-tauri/src/proxy/mappers/context_manager.rs201 // ===== [Layer 2] Thinking Content Compression + Signature Preservation =====
LOWsrc-tauri/src/proxy/mappers/common_utils.rs141/// Legacy wrapper for backward compatibility and simple usage
LOWsrc-tauri/src/proxy/mappers/common_utils.rs261 changed = true;
LOWsrc-tauri/src/proxy/mappers/estimation_calibrator.rs1//! Estimation Calibrator Module
LOWsrc-tauri/src/proxy/mappers/claude/models.rs21 #[serde(skip_serializing_if = "Option::is_none")]
LOWsrc-tauri/src/proxy/mappers/claude/models.rs321 #[serde(skip_serializing_if = "Option::is_none")]
LOWsrc-tauri/src/proxy/mappers/claude/models.rs341 #[serde(skip_serializing_if = "Option::is_none")]
LOWsrc-tauri/src/proxy/mappers/claude/models.rs361
LOWsrc-tauri/src/proxy/handlers/claude.rs1641}
LOWsrc-tauri/src/proxy/upstream/client.rs481
LOWsrc-tauri/src/models/account.rs21 pub disabled: bool,
LOWsrc-tauri/src/models/account.rs41 #[serde(default)]
LOWsrc-tauri/src/modules/update_checker.rs61 match check_updater_json().await {
AI Slop Vocabulary9 hits · 25 pts
SeverityFileLineSnippet
MEDIUMindex.html18 // Set background color IMMEDIATELY to SPLASH COLOR (seamless transition)
MEDIUMpackage-lock.json10625 "resolved": "https://registry.npmmirror.com/robust-predicates/-/robust-predicates-3.0.2.tgz",
MEDIUMsrc-tauri/src/lib.rs151 // We'll skip passing AppHandle for now and just leverage the global buffer capability.
MEDIUMsrc-tauri/src/proxy/mappers/claude/request.rs1812 // [FIX #1592] Use mapped model for robust detection, same as OpenAI protocol
MEDIUMsrc-tauri/src/proxy/mappers/claude/request.rs1812 // [FIX #1592] Use mapped model for robust detection, same as OpenAI protocol
MEDIUMsrc-tauri/src/modules/oauth_server.rs165 // [FIX #931/850/778] More robust parsing and detailed logging
MEDIUMsrc-tauri/src/modules/oauth_server.rs165 // [FIX #931/850/778] More robust parsing and detailed logging
MEDIUMsrc/components/common/DebouncedSlider.tsx39 // Actually, simple onChange + onMouseUp is robust enough for standard ranges.
MEDIUMsrc/pages/ApiProxy.tsx573 "claude-opus-4-6*": "claude-opus-4-6-thinking", // Balanced: Keep 4.6 as itself (or map to high?) Let's
Magic Placeholder Names4 hits · 20 pts
SeverityFileLineSnippet
HIGHREADME.md191 -e API_KEY=sk-your-api-key \
HIGHREADME_EN.md192 -e API_KEY=sk-your-api-key \
HIGHdocker/README.md53 -e API_KEY=your-api-key \
HIGHsrc/pages/ApiProxy.tsx957 const apiKey = appConfig?.proxy.api_key || 'YOUR_API_KEY';
Cross-Language Confusion (JS/TS)4 hits · 20 pts
SeverityFileLineSnippet
HIGHsrc/pages/ApiProxy.tsx976print(response.content[0].text)`;
HIGHsrc/pages/ApiProxy.tsx994print(response.text)`;
HIGHsrc/pages/ApiProxy.tsx1021print(response.choices[0].message.content)`;
HIGHsrc/pages/ApiProxy.tsx1036print(response.choices[0].message.content)`;
Verbosity Indicators3 hits · 4 pts
SeverityFileLineSnippet
LOWsrc/hooks/useProxyModels.tsx19 // Step 1: 从所有账号中收集动态模型
LOWsrc/hooks/useProxyModels.tsx34 // Step 2: 优先展示来自账号的动态模型(display_name 为主名称,name 为 ID)
LOWsrc/hooks/useProxyModels.tsx62 // Step 3: 对于 MODEL_CONFIG 里有但账号未下发的型号,作为静态兜底补充
Fake / Example Data4 hits · 4 pts
SeverityFileLineSnippet
LOWsrc-tauri/src/proxy/token_manager.rs3182 "email": "test@test.com"
LOWsrc-tauri/src/proxy/tests/quota_protection.rs392 "user@example.com",
LOWsrc-tauri/src/proxy/tests/quota_protection.rs435 "user@example.com",
LOWsrc-tauri/src/proxy/tests/quota_protection.rs560 "user@example.com",
Hyper-Verbose Identifiers2 hits · 2 pts
SeverityFileLineSnippet
LOWsrc/components/accounts/accountValidationStatus.ts28export function getValidationBlockedStatusLabel(
LOWsrc/services/accountService.ts190export async function bindDeviceProfileWithProfile(accountId: string, profile: DeviceProfile): Promise<DeviceProfile> {