* chore(release): stop publishing legacy Windows update packages * feat(agents): support OpenCode Desktop across platforms Detect CLI and desktop installations on Windows, macOS, and Linux, and add separate launch and restart controls. Closes #156 * fix(codex): align model display names and show total session count - preserve runtime model identity in generated catalogs - count distinct sessions across database and rollout sources - update session count labels in all supported languages * fix(codex): keep config and auth files in sync - generate auth.json for API key configuration - preserve and validate OAuth credentials - include auth.json in transactional updates and rollback - retain compatibility with legacy Codex configuration states * fix(cpa-gui): update version to 0.2.59 in Cargo files * fix(codex): preserve OAuth mode after closing configuration * feat(config): add TLS management and protocol-aware local URLs - add TLS controls to advanced settings - persist certificate and private key paths - restart the core after TLS changes - switch WebUI, API and management URLs between HTTP and HTTPS - synchronize agent configurations and detection with the active protocol * refactor(config): reorganize network, routing, and TLS settings - split network settings and session routing into separate tabs - move TLS configuration into network settings - preserve TLS restart and HTTPS URL synchronization behavior * feat(config): add independent network settings and custom listen IP * fix(navigation): allow access to usage records while core is stopped * refactor(home): show a single API URL based on the configured listen IP * feat(config): add file pickers for TLS certificate and private key * fix(usage): distinguish client cancellations from request failures - persist usage failure status and response details - classify HTTP 499 and canceled contexts separately - exclude canceled requests from failure statistics - add canceled filtering and failure details to the usage UI - migrate and backfill existing usage records * feat(ui): revamp usage records and improve app interactions - redesign usage records dashboard, filters, charts, and pricing views - add resizable centered columns with persisted widths - expose OpenCode desktop launch and restart actions - suppress the API access enabled success notice * feat(agents): persist applied configurations across app restarts - preserve applied agent configs and managed Claude aliases on exit - keep explicit close actions restoring original configurations - add Codex restart persistence regression coverage - bump desktop version to 0.2.61
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.
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.
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.





