* fix(gitignore): add .codex to ignored files * feat(settings): add configurable default terminal for CLI agents - Add default terminal selector under Advanced Settings > Software Settings - Detect available terminals across macOS, Windows, and Linux - Persist and migrate the default-terminal configuration - Apply the selected terminal when launching CLI agents - Add localized labels and regression tests Fixes #179 * feat(easy-mode): improve API onboarding and agent configuration flow - Fix management API 404 errors when saving API providers - Simplify the model list and support custom model IDs - Adjust API field order and default provider selection - Reuse the full agent configuration page and restore agent detection * refactor(agents): simplify embedded beginner mode UI * style(easy-mode): align onboarding heading typography * fix(easy-mode): refine API onboarding actions and notifications - Reveal model selection and save actions only after fetching models - Move the API save success toast to the bottom-right corner - Auto-dismiss the success notification after a short delay - Remove icons from the model fetch and save buttons * feat(easy-mode): refine guided setup flow and spotlight positioning - Enforce completion of each selection, input, and configuration step - Align OAuth, API access, and agent setup guidance with actual UI actions - Prevent guidance cards from overlapping highlighted areas - Improve bilingual step descriptions and completion states * feat(easy-mode): refine onboarding flow and navigation controls - Enforce accurate step validation for OAuth and API setup - Select all fetched API models by default - Prevent guide cards from overlapping highlighted areas - Improve onboarding copy and remove unnecessary dashboard actions - Reposition and highlight guide and exit controls * fix(usage): filter control messages and repair unknown records - filter empty, null, refresh, and support_refresh messages before persistence - require request_id for usage records - repair Claude cache token accounting - delete historical unknown records - show deleted record count in usage management * fix(ui): improve auth file and core install notifications - show auth file operation notices as auto-dismiss toasts - prevent duplicate core install completion notifications - close the install dialog automatically after successful installation - bump core version to 7.2.146 * fix(ui): improve responsive layouts and core install notifications - add workspace container breakpoints for management and usage pages - make the usage table fill the available viewport height - reduce unnecessary blank space in usage records - silence automatic bundled core install completion notifications - deduplicate manual core install completion feedback * chore(version): update core version to 7.2.147 * fix(management): bypass system proxy for local Core requests * fix(claude-desktop): support Claude OAuth model aliases - Resolve Claude Desktop model sources from all OAuth definitions - Write managed aliases to the matching OAuth channel - Preserve alias metadata and add regression coverage * test(claude-desktop): cover xAI OAuth model aliases * feat(config): add disable cooling toggle to retry settings * feat(config): add disable cooling toggle and refine settings layout * fix(dependencies): update cpa-gui version to 0.2.69
EasyCLIProxyAPI
A portable desktop console for CLIProxyAPI.
Our goal is to make tokens free—as in freedom.
Overview
EasyCLIProxyAPI is a graphical desktop management tool built on CLIProxyAPI. It brings core lifecycle management, OAuth authorization, API provider aggregation, protocol conversion, credential management, quota inspection, usage records, model aliases, and agent client configuration into one interface.
The application is built with Tauri, React, and Rust. It can carry a matching CLIProxyAPI core archive, making first-time setup and offline installation easier.
Sponsor
Thanks to APIMart for sponsoring this project!
APIMart is a low-cost API platform for AI image & video generation — GPT-Image-2 from $0.006/image, 160+ images per dollar. One async API covers both image and video: submit a task, get an ID, fetch results via polling or callback. Batch tens of thousands of images without timeouts, switch models without changing code. Pay-as-you-go with no monthly fee — sign up here to get started.
Feature Tour
Home dashboard and local API endpoints
The Home page provides a quick overview of the local proxy runtime and ready-to-use API endpoints:
- Start, stop, restart, and refresh the CLIProxyAPI core.
- View installation state, runtime state, process ID, and listening port.
- Copy ready-to-use OpenAI, Claude, and Gemini-compatible API endpoints.
- Check local connectivity and the application/core version at a glance.
Core installation, version comparison, and offline installation are available from the Version Management page. You can switch between official GitHub, GitCode, and GitHub mirror proxies or add custom HTTPS mirror prefixes; application and core updates prefer the selected channel and fall back automatically.
OAuth account authorization
The OAuth page centralizes browser-based authorization for supported providers:
- Codex OAuth
- Claude OAuth
- Antigravity OAuth
- Kimi OAuth
- xAI OAuth
EasyCLIProxyAPI opens the authorization page in the browser and supports completing the callback flow when an automatic redirect is unavailable.
API provider aggregation
The provider workspace manages upstream API credentials and endpoints by protocol or provider:
- Codex
- OpenAI-compatible providers
- DeepSeek
- Claude
- Gemini
You can add multiple connections, search existing entries, refresh provider state, and use them through the unified local CLIProxyAPI endpoint. Requests and responses can be converted between supported OpenAI, Claude, Gemini, and compatible formats.
Usage history and token analytics
The Usage page helps you understand local request activity and token consumption:
- Review request totals, token counts, success rate, throughput, cache hit rate, and estimated cost.
- Filter usage by time, model, provider, source, key, and result.
- Inspect request/token trends and input, output, reasoning, and cache usage.
- Browse request details, analysis views, and price statistics.
- Collect through CPA's real-time usage subscription with a durable local inbox and automatic HTTP fallback.
- Upgrade legacy usage databases once at startup after saving a backup under
usage-records/backups.
Agent client configuration
The Agents page detects installed desktop and CLI clients and helps connect them to the local proxy. Supported clients include:
- Claude Code
- Claude Desktop
- Codex
- OpenCode
- OpenClaw
- Hermes Agent
- Pi (with the CLIProxyAPI provider extension)
- ZCode
- Kimi Code
- Grok Build
For supported clients, the application can synchronize the available model catalog, select a default model, back up the original configuration before applying managed settings, and restore the previous configuration.
Additional Capabilities
- Manage core settings, API keys, remote management credentials, and routing strategy.
- Create client-visible model aliases and map them to provider models and reasoning levels.
- Upload, download, inspect, and manage authentication files.
- Review provider quotas and account availability.
- Keep the application available from the macOS menu bar or Windows system tray.
Quick Start
- Download the package for your operating system from GitHub Releases.
- Extract the Windows or Linux archive, or open the macOS DMG.
- Launch EasyCLIProxyAPI.
- Open Version Management and install the bundled or latest CLIProxyAPI core.
- Return to Home, start the core, then copy the required local endpoint or configure an OAuth/API provider.
Upgrading
Every Windows release publishes both the complete ZIP and the legacy update ZIP. This keeps in-app updates available to older clients that have not migrated yet, while newer clients use the complete package so the bundled core can be updated too.
Current Windows, Linux, and macOS release packages support in-app automatic updates. Linux replaces the portable application files while preserving runtime data, and macOS replaces the signed application bundle. Each platform waits for the new version to confirm a successful launch and rolls back automatically if startup fails. The installation directory must be writable by the current user.
Existing Linux and macOS installations need one manual upgrade to a release that includes the cross-platform auto-update marker. In-app updates are available after that release has been launched once.
If you are running v0.2.5 or earlier, perform one manual migration: exit EasyCLIProxyAPI, download the latest complete Windows ZIP for your architecture, then copy the contents of its top-level directory over the existing installation directory. Do not delete the existing directory first; user data such as config.toml, oauth, and cpa-core/config.yaml will remain in place. After launching the new version, later releases can use in-app automatic updates.
Supported Platforms
GitHub Actions builds the following release packages:
| Operating System | Architecture | Package |
|---|---|---|
| Windows | amd64, aarch64 | ZIP |
| macOS | amd64, aarch64 | DMG |
| Linux | amd64, aarch64 | TAR.GZ |
Related Project
- CLIProxyAPI — the proxy core managed by this application.






