Spaces:
Running
Running
Commit History
-
chore: update models to reflect current upstream lineup
- Remove claude-sonnet-4-6-thinking (no longer available upstream) - Replace gemini-3.1-pro-high with gemini-3.1-pro-low in Gemini preset (pro-high returns 400) - Replace gemini-3.1-flash / gemini-3-flash with gemini-3.5-flash-low for sonnet/haiku/subagent slots - Add gemini-3.5-flash-low to OpenCode config and model table - Update small_model in OpenCode config to gemini-3.5-flash-low - Bump fallback User-Agent version to 2.0.6 (matches installed Antigravity app) - Sync README, CLAUDE.md, and docs/opencode.md with current model lineup Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>8695653 -
fix: auto-detect X-Client-Version from local Antigravity product.json (#334)
Akash SharmaUnverified signatureReads X-Client-Version from the locally installed Antigravity app's product.json (macOS, Windows, Linux). Falls back to a configurable hardcoded default when detection fails. Adds ANTIGRAVITY_CLIENT_VERSION and ANTIGRAVITY_CLIENT_VERSION_FALLBACK env var overrides. Closes #3335b11160
-
chore: bump fallback Antigravity version to 1.23.2 and document env var
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>50aafe8 -
update to use environment variable for setting (#330)
Callum BryantUnverified signatured04d187
-
chore: bump antigravity version to 1.20.6
7ace66d
-
update antigravity version to 1.20.3
1530545
-
Update antigravity version to 1.18.4
e0b0884
-
fix: update fallback Antigravity version to 1.18.3
125d7a4 -
Revert "feat: Implement and integrate a `wreq-js` based TLS client for all network requests."
This reverts commit cd5c02e53f75c6ebf44aa4633e38033f582cb2a2.b00e437
-
feat: Implement intelligent Antigravity version detection and dynamic User-Agent generation with platform-specific logic and tests.
f7b1814
-
feat: Implement and integrate a `wreq-js` based TLS client for all network requests.
e87741c
-
Revert "feat(fingerprint): add persistent device fingerprinting system"
This reverts commit 3915c947bf8840def34fb50e3e5a403a0d00b776.b785611 -
Revert "fix(fingerprint): refine history management and prevent data leakage"
This reverts commit 66805bed57666dcb58840d4e1aa5e3bc837f90c2.7ffc3e3 -
[RFC] Add opt-in request throttling for rate limit prevention (#242)
jgor20Unverified signature* feat(config): add requestThrottling config and throttledFetch utility * feat(webui): add API validation for request throttling settings * feat(webui): add request throttling toggle and delay slider UI * refactor(api): replace fetch with throttledFetch for Google API calls * fix(webui): improve request throttling toggle styling534e127 -
fix(fingerprint): refine history management and prevent data leakage
- Prevent `fingerprint` object leakage in `getStatus` and `/account-limits` (expose `hasFingerprint` boolean instead) - Fix `restoreFingerprint` to correctly remove restored entries from history - Improve `updateFingerprintVersion` regex to support non-numeric/beta versions - Initialize new accounts with a generated fingerprint in storage - Add comprehensive tests for history restoration and version parsing Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>373d0b8 -
feat(fingerprint): add persistent device fingerprinting system
- Implement robust device fingerprint generation (Device ID, User Agent, API Client) - Add fingerprint persistence to AccountManager (stored in accounts.json) - Integrate fingerprint headers into all API requests for stable identity - Add WebUI support: - New Fingerprint Modal with advanced details (Session Token, Quota User) - Manual regeneration with history support (undo/restore) - Polished UI with collapsible metadata details - Fix CLI account management bug that stripped fingerprint data - Add comprehensive test suite covering generation, persistence, and CLI compatibility - Add documentation in docs/fingerprinting.md Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>15c4643 -
fix(config): support `CLAUDE_CONFIG_PATH` env var for systemd deployments (#273)
jgor20Unverified signature* fix(config): support CLAUDE_CONFIG_PATH env var for systemd deployments When running as a systemd service, os.homedir() resolves to the service user's home directory instead of the real user's, causing the WebUI to fail to read/write ~/.claude/settings.json. CLAUDE_CONFIG_PATH allows overriding the .claude directory path so the proxy can locate the correct Claude CLI configuration. Closes #272 * feat(cli): display CLAUDE_CONFIG_PATH in startup banner Show the active Claude config path in the startup banner when the env var is set, and list it in the environment variables reference section. * docs(config): add CLAUDE_CONFIG_PATH to env vars reference * docs(readme): add systemd deployment section with CLAUDE_CONFIG_PATH * docs(claude): document claude-config.js and CLAUDE_CONFIG_PATH1749113
-
Merge branch 'main' into feat/server-config-presets
jgor209d3b339 -
fix(presets): add type guard for accountSelection in deep merge
jgor2007a973a -
feat(presets): add new keys to allowedKeys and deep merge accountSelection
jgor20Add switchAccountDelayMs and capacityBackoffTiersMs to allowedKeys. Replace shallow accountSelection spread with deep merge for sub-objects (healthScore, tokenBucket, quota, weights) to preserve partial updates.ff88e1d -
feat(presets): support config updates in updateServerPreset
jgor20Deep-merges validated config fields into preset with key whitelisting and nested accountSelection spread merge.f0c9c99 -
feat(presets): add edit support for custom server presets
jgor20Add pencil button to edit name and description of custom presets via PATCH /api/server/presets/:name. The save modal adapts its title and action based on create vs edit mode. Built-in presets remain read-only.3c7ae11 -
feat(presets): allow user descriptions on custom server presets
jgor20Add an optional description textarea to the save preset modal. Descriptions are persisted to server-presets.json and displayed below the preset selector alongside built-in preset descriptions.faeff61 -
feat: add HTTP/HTTPS proxy support via environment variables
Unverified signatureAdd support for HTTP proxy configuration through standard environment variables (http_proxy, HTTP_PROXY, https_proxy, HTTPS_PROXY) using undici's ProxyAgent. Co-authored-by: nap-liu <12391622+nap-liu@users.noreply.github.com>7362a8c -
feat: enhance rate limit handling state management and backoff strategies
b6c1a00
-
feat: add server config presets with deep merge fix (#241)
jgor20- Fix shallow spread in config.js loadConfig/saveConfig to deep merge, preserving nested accountSelection sub-configs when updating individual fields - Expand POST /api/config to validate and accept full accountSelection tuning (healthScore, tokenBucket, quota sub-fields with bounds checks) - Add 3 built-in server presets: Default (3-5 Accounts), Many Accounts (10+), and Conservative — each with tuned retry/cooldown/strategy values - Add server-presets.js CRUD utility with built-in preset protection - Add GET/POST/DELETE /api/server/presets endpoints - Add preset UI card in Server Settings tab with load/save/delete - Add i18n translations for all 5 languages696b22d
-
feat: add version display to CLI banner and WebUI
- Add getPackageVersion() utility function in src/utils/helpers.js - Display version in CLI startup banner (e.g., "v2.4.2") - Display version in WebUI navbar next to "CLAUDE PROXY SYSTEM" - Refactor WebUI to use shared getPackageVersion() utility - Update footer with GitHub icon and linkb1695bd
-
chore: remove unused code and suppress noisy Claude Code logs
- Delete unused files: retry.js, app-init.js, model-manager.js - Remove duplicate error helpers from helpers.js (exist in errors.js) - Remove unused exports from signature-cache.js, logger.js - Remove unused frontend code: ErrorHandler methods, validators, canDelete, destroy - Make internal functions private in thinking-utils.js - Remove commented-out code from constants.js - Remove deprecated .glass-panel CSS class - Add silent handler for Claude Code event logging (/api/event_logging/batch) - Suppress logging for /v1/messages/count_tokens (501 responses) - Fix catch-all to use originalUrl (wildcard strips req.path) Co-Authored-By: Claude <noreply@anthropic.com>bd193f2
-
refactor: centralize TEST_MODELS and DEFAULT_PRESETS in constants.js
- Move TEST_MODELS and DEFAULT_PRESETS to src/constants.js as single source of truth - Update test-models.cjs helper to use dynamic import from constants - Make getTestModels() and getModels() async functions - Update all test files to await async model config loading - Remove duplicate THINKING_MODELS and getThinkingModels() from test helper - Make thinking tests more lenient for Gemini (doesn't always produce thinking blocks) Co-Authored-By: Claude <noreply@anthropic.com>93c82be
-
feat(webui): add configuration presets for Claude CLI
- Add backend storage logic in `src/utils/claude-config.js` to save/load/delete presets - Add API endpoints (`GET`, `POST`, `DELETE`) for presets in `src/webui/index.js` - Update `public/views/settings.html` with new Presets UI card and modals - Update `public/js/components/claude-config.js` with auto-load logic and unsaved changes protection - Add translations (EN/ZH) for new UI elements in `public/js/store.js` - Add integration tests in `tests/frontend/test-frontend-settings.cjs` - Update compiled CSS Co-Authored-By: Claude <noreply@anthropic.com>3db77c4
-
Add Restore Default Claude CLI button to settings page
copilot-swe-agent[bot] +1: simon-amiCo-authored-by: simon-ami <102378134+simon-ami@users.noreply.github.com>a6bdb3d
-
merge: integrate upstream/main (v1.2.15) into feature/webui
- Resolved conflict in src/constants.js: kept config-driven approach - Adopted upstream 10-second cooldown default - Added MAX_EMPTY_RESPONSE_RETRIES constant from upstream - Incorporated new test files and GitHub issue templates629246c
-
refactor(utils): rename and refactor clearModuleCache to recursively clear dependencies
jgor20The function has been renamed to clearRequireCache and updated to recursively clear the require cache for a module and all its dependencies, preventing cycles with a visited set. This improves reliability after rebuilding native modules by ensuring complete cache invalidation. Removed unused createRequire import as it's no longer needed.52b0f5a -
feat(utils): enhance rebuildModule error handling and logging
jgor20Add detailed stdout/stderr capture and logging for failed npm rebuild commands to improve troubleshooting. Also log successful rebuild output for debugging purposes.6d97c1b -
fix(utils): fix cross-platform root detection in findPackageRoot
jgor20Improve the findPackageRoot function to correctly detect filesystem root on all platforms by checking if dirname returns the same path, replacing the Unix-specific '/' check.605068f -
feat: auto-rebuild native modules on Node.js version mismatch
jgor20When Node.js is updated, native modules like better-sqlite3 can become incompatible due to NODE_MODULE_VERSION differences. This change adds automatic detection and rebuild capability: - Add native-module-helper.js utility for detecting version errors - Lazy-load better-sqlite3 to catch import errors at runtime - Automatically run npm rebuild when version mismatch is detected - Clear require cache and retry loading after successful rebuild - Provide clear instructions if automatic rebuild fails Fixes the issue where users running via npx encounter module errors after updating Node.js.77cae66
-
feat: Add Web UI for account and quota management
## Summary Add an optional Web UI for managing accounts and monitoring quotas. WebUI is implemented as a modular plugin with minimal changes to server.js (only 5 lines added). ## New Features - Dashboard: Real-time model quota visualization with Chart.js - Accounts: OAuth-based account management (add/enable/disable/refresh/remove) - Logs: Live server log streaming via SSE with search and level filtering - Settings: System configuration with 4 tabs - Interface: Language (EN/zh_CN), polling interval, log buffer size, display options - Claude CLI: Proxy connection config, model selection, alias overrides (~/.claude.json) - Models: Model visibility and ordering management - Server Info: Runtime info and account config reload ## Technical Changes - Add src/webui/index.js as modular plugin (all WebUI routes encapsulated) - Add src/config.js for centralized configuration (~/.config/antigravity-proxy/config.json) - Add authMiddleware for optional password protection (WEBUI_PASSWORD …671903d
-
Selective fixes from PR #35: Model-specific rate limits & robustness improvements (#37)
Badri Narayanan S +3: M1noa, Minoa, ClaudeUnverified signature* feat: apply local user changes and fixes * ;D * Implement OpenAI support, model-specific rate limiting, and robustness fixes * docs: update pr title * feat: ensure unique openai models endpoint * fix: startup banner alignment and removed duplicates * feat: add model fallback system with --fallback flag * fix: accounts cli hanging after completion * feat: add exit option to accounts cli menu * fix: remove circular dependency warning for fallback flag * feat: show active modes in banner and hide their flags * Remove OpenAI compatibility and fallback features from PR #35 Cherry-picked selective fixes from PR #35 while removing: - OpenAI-compatible API endpoints (/openai/v1/*) - Model fallback system (fallback-config.js) - Thinking block skip for Gemini models - Unnecessary files (pullrequest.md, test-fix.js, test-openai.js) Retained improvements: - Network error handling with retry logic - Model-specific rate limiting - Enhanced health check with quota info - CLI fixes (exi…5b76cdc
-
Improve logging, rate limiting, and error handling (#29)
Badri Narayanan S +3: M1noa, M2noa, ClaudeUnverified signature* feat: apply local user changes and fixes * ;D * Clean up PR #28: Remove duplicate code lines and unnecessary file - Remove pullrequest.md (PR notes file not needed in repo) - Fix duplicate lines in account-manager.js: - rateLimitResetTime assignment - saveToDisk() calls in markRateLimited and markInvalid - invalidReason/invalidAt assignments - double return statement in discoverProject Original PR by M2noa: fix sticky accs, 500s, logging updates, and rate limit handling 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: M2noa <226494568+M2noa@users.noreply.github.com> Co-Authored-By: Claude <noreply@anthropic.com> * chore: replace console.log with logger methods for consistency - Replace all console.log calls with logger.warn/debug in: - src/cloudcode-client.js (4 places) - src/format/thinking-utils.js (7 places) This ensures consistent logging behavior with the new logger utility, respecting --debug mode for verbose output. 🤖 Gener…a291a44
-
refactor: centralize constants, add error classes, and DRY test utilities
- Create src/errors.js with custom error classes (RateLimitError, AuthError, ApiError, etc.) - Create src/utils/helpers.js with shared utilities (formatDuration, sleep) - Create tests/helpers/http-client.cjs with shared test utilities (~250 lines deduped) - Centralize OAuth config and other constants in src/constants.js - Add JSDoc types to all major exported functions - Refactor all test files to use shared http-client utilities - Update CLAUDE.md with new architecture documentation 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>bc9d752