refactor: Refactor Settings UI. - #92
Open
maozdemir wants to merge 305 commits into
Open
Conversation
Includes fixes for macOS GUI app PATH issues: - Use absolute paths for Node.js/npm binaries - Properly separate copilot-api and npx binary paths
- Add version manager paths for Node.js detection (Volta, nvm, fnm, asdf) - macOS GUI apps don't inherit shell PATH, so we check common locations - Increase copilot-api auth polling from 3s to 8s for first-run reliability - Fixes single-click connection issue for Copilot
When clicking Configure for Amp CLI, now also adds: - amp.apiKey: 'proxypal-local' to settings.json - AMP_API_KEY env var to shell config This allows Amp CLI to work immediately without manual API key setup.
- Check /mnt/c/Users/* for WSL (Windows binaries accessible from Linux) - Add Windows-specific paths for native Windows builds - Fixes issue where CLI agents section shows 0 agents on WSL/Windows
- Add sync_usage_from_proxy command to fetch real token counts from /v0/management/usage - Fix process cleanup on app exit (kill cliproxyapi and copilot-api properly) - Improve LogViewer performance with loading skeleton, chunking, and load-more button - SavingsCard now auto-syncs real token data when proxy is running - Various Settings and Dashboard UI improvements
- Add ~/.opencode/bin to standard paths for OpenCode CLI detection - Add Windows -> WSL detection: scan \\wsl.localhost\<distro>\home\<user> paths - Support multiple WSL distros: Ubuntu, Ubuntu-22.04, Ubuntu-24.04, Debian - Detect WSL NVM node versions for npm-installed CLIs (claude, gemini) - Fixes issue where CLI agents section shows 0 agents when running ProxyPal on Windows but agents are installed in WSL
fix: detect WSL-installed CLI agents from Windows
…ection on Windows - Add Antigravity provider detection and group with Gemini models - Fix npm path detection (use APPDATA for global npm packages) - Add Windows executable extension checks (.cmd, .exe, .bat, .ps1) - Update CLIProxyAPI binary (Windows)
fix: display Antigravity models in settings and improve CLI agent deection on Windows
- Add ampOpenaiProviders array to replace single ampOpenaiProvider - Add migration logic for existing single provider configs - Replace collapsible form with table + modal UI in Settings - Generate UUIDs for provider identification - Update model dropdowns to show models from all providers
- Change from @ai-sdk/openai-compatible to @ai-sdk/anthropic - Enables proper thinking block display in OpenCode - Remove unused endpoint_v1 variable
- Models ending with '-thinking' get reasoning: true in config - Use endpoint_v1 for Anthropic SDK baseURL (needs /v1 suffix) - Enables OpenCode to display thinking blocks properly
- Use budgetTokens (camelCase) instead of budget_tokens for AI SDK compatibility - Increase output limit to 32000 for -thinking models (budgetTokens=16000 needs headroom) - Update CLIProxyAPI submodule with thinking config preservation fix - Rebuild production binary with the fix
- Anthropic Claude 4.5: 200K context, 64K output (was 16K) - Google Gemini 2.5: 1M context, 65K output (correct) - OpenAI gpt-4o: 128K context, 16K output (was 32K) - Qwen3: 262K context, 65K output (was 131K/16K) - Qwen3 Coder: 1M context, 65K output - DeepSeek chat: 128K context, 8K output (was 64K) - DeepSeek reasoner: 128K context, 128K output Source: https://github.com/sst/models.dev
- Use model_id pattern matching instead of owned_by for accurate limits - Fixes Antigravity models (gemini-claude-*) getting wrong limits - Claude 4.5: 200K context, 64K output (was 128K/16K for proxied models) - Dynamic budgetTokens for thinking models (output_limit/2) - Qwen: 262K context, 65K output - DeepSeek: 128K context Source: https://github.com/sst/models.dev
Added common Windows installation paths: - C:\Program Files\nodejs (standard installer) - AppData/Roaming/nvm (nvm-windows) - AppData/Local/fnm_multishells (fnm) - scoop/apps/nodejs (Scoop package manager) - AppData/Roaming/npm (npm global bin) This fixes 'Node.js is required' error on Windows when Node.js is installed but not in PATH for GUI apps.
- Fix Windows Node.js detection by handling backslash paths and .exe/.cmd extensions - Show all CLI agents on Dashboard (not just installed ones) with Install button for missing agents - Replace unreliable auto-install copilot-api button with manual install instructions - Separate onMount API calls to prevent one failure from blocking others - Add missing 'config' type to AgentStatus.configType
- Model mappings now take precedence over local API keys - Fixed slot labels: Smart (Opus), Librarian (Sonnet), Rush/Search (Haiku) - Rebuilt macOS ARM binary with routing fix
…uynhgiabuu#80) * feat: Add automatic CLIProxyAPI binary download for Windows targets via a build script and PowerShell. * - SSH API Connections Securely tunnel your local API (port 8317) to a remote server for shared access. * fix: copilot-api integration and switch to official CLIProxyAPI - Add --github-token argument for direct token authentication - Fix rate limit wait flag (--rate-limit-wait → --wait) - Switch release workflow to official router-for-me/CLIProxyAPI - Improve OpenCode config for Claude thinking models - Bump version to 0.3.20 * feat(ssh): switch to accept-new host key policy and remove unused password config * feat: implement auth file toggle with backend renaming strategy --------- Co-authored-by: huynhgiabuu <buub1309120@gmail.com>
- Add CloudflareManager for subprocess management - Add Tauri commands for tunnel start/stop - Add Cloudflare settings tab in UI - Remove hardcoded fallback versions from download scripts - Bump version to 0.3.27
Add startup logic to reconnect Cloudflare tunnels that were enabled before app was closed, matching existing SSH auto-start behavior.
- Change YAML editor to use proxy-config-custom.yaml for user edits - Append custom config to generated proxy-config.yaml on proxy start - User customizations now survive app restarts Fixes: YAML editor changes being overwritten on restart
Add workflow step to create portable Windows zip after NSIS build. Uploads ProxyPal_<version>_x64_portable.zip to release assets. Closes heyhuynhgiabuu#82
- Add portable Windows build (.zip) to release workflow (closes heyhuynhgiabuu#82) - Add Copilot auto-start on app launch (closes heyhuynhgiabuu#83) - Add missing reload_config command (fixes heyhuynhgiabuu#78) - Update release notes template for portable Windows
- Rename from/to to name/alias in AmpModelMapping struct - Update config generation to use new field names - Update frontend TypeScript types and Settings UI - Bump version to 0.3.32
Backend changes: - Add `models` field to GeminiApiKey struct (previously model_aliases) - Update config generation to output `models:` section for Gemini keys - Update TypeScript types for GeminiApiKey Note: Full UI for managing Gemini model aliases can be added in a future release. Users can currently use the YAML Editor (Settings > Config YAML) to add models. Breaking change: Field name changed from `model_aliases` to `models` to align with CLIProxyAPI v6.6.70. Bump version to 0.3.33
- Fix amp model-mappings to use from/to instead of name/alias - Fix YAML editor loading state when proxy not running - Add missing config fields to YAML generation: - routing strategy - commercial-mode - request-log - ws-auth - max-retry-interval - force-model-mappings - Add ws_auth field to config and TypeScript types - Simplify YAML config to use single file (no more custom override file) Bump version to 0.3.34
- Add ProxyAuthStatus types in types/auth.rs - Add verify_proxy_auth_status command that calls /api/auth/status - Add verifyProxyAuthStatus function in tauri.ts - Bump version to 0.3.36
- Update aggregate stats to store requests_by_hour and tokens_by_hour - Keep 168 hours (7 days) of hourly data for heatmap patterns - Fall back to history rebuild only if aggregate is empty - Bump version to 0.3.37
- Add fetchingModels state and handleFetchModels handler - Button fetches from provider's /models endpoint - Merges new models avoiding duplicates - Shows loading spinner during fetch Closes heyhuynhgiabuu#85
The tunnel command was missing the --url flag to specify which local port to expose. This caused the tunnel to fail with 'Retrying in 5s...' Fixes heyhuynhgiabuu#86
- Add requests_by_hour parsing from CLIProxyAPI usage endpoint - Merge requests_by_hour into aggregate for Activity Patterns heatmap - Normalize hourly data to YYYY-MM-DDTHH format for consistency - Add sync_usage_from_proxy_blocking() for refresh button - Update total_success_count and total_tokens_cached from proxy data - Bump version to 0.3.38 Analytics metrics now persist correctly: - TOTAL REQUESTS - SUCCESS RATE - EST. COST - Request Trends - Token Usage - Model Usage / Breakdown - Activity Patterns (heatmap)
- Remove --url flag for token-based tunnels (ingress configured in dashboard) - Add quick tunnel support (no token) with --url flag - Improve cloudflared log detection for connection success - Update UI with detailed Public Hostname setup instructions - Add warning that port routing is configured in Cloudflare dashboard - Bump version to 0.3.39 Fixes heyhuynhgiabuu#86
Cloudflare Tunnel (heyhuynhgiabuu#86): - Rewrite tunnel manager with proper async handling - Add connection state tracking (never connected vs connection lost) - Smart retry: max 3 attempts if can't connect, unlimited on disconnect - Better log parsing for cloudflared output format - Separate stderr reader task to prevent blocking Management API Key (heyhuynhgiabuu#89): - Auto-restart proxy when management key changes - Add warning in UI that restart is required Bump version to 0.3.40
GUI apps on macOS don't inherit terminal PATH, so cloudflared installed via Homebrew wasn't found. Now checks: - PATH via which/where command - /opt/homebrew/bin (macOS Apple Silicon) - /usr/local/bin (macOS Intel, Linux) - /usr/bin, /snap/bin (Linux) - Program Files (Windows) - ~/.local/bin (user local) Fixes heyhuynhgiabuu#86 - Bump version to 0.3.41
- Health check was hardcoded to use 'proxypal-local' instead of reading proxy_api_key from config - now reads from config properly - Add 500ms delay before restart to ensure config file is flushed - Management key change now works correctly with auto-restart Fixes heyhuynhgiabuu#89 - Bump version to 0.3.42
|
where is the new ui bro? screenshots? |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Just refactoring needlesly large (5000+ lines) Settings file.