- Add Pi detection and launch support - Install the CLIProxyAPI provider extension through Pi - Sync EasyCLIProxyAPI base URL and API key to Pi configuration - Add Pi agent UI, translations, documentation, and tests
141 lines
5.5 KiB
Markdown
141 lines
5.5 KiB
Markdown
<p align="center">
|
||
<strong>English</strong> |
|
||
<a href="README.zh-CN.md">简体中文</a> |
|
||
<a href="README.ja.md">日本語</a>
|
||
</p>
|
||
|
||
<p align="center">
|
||
<img src="src/assets/logo.jpg" width="112" alt="EasyCLIProxyAPI Logo">
|
||
</p>
|
||
|
||
<h1 align="center">EasyCLIProxyAPI</h1>
|
||
|
||
<p align="center">
|
||
A portable desktop console for CLIProxyAPI.<br>
|
||
Our goal is to make tokens free—as in freedom.
|
||
</p>
|
||
|
||
## Overview
|
||
|
||
EasyCLIProxyAPI is a graphical desktop management tool built on
|
||
[CLIProxyAPI](https://github.com/router-for-me/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.
|
||
|
||
### 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)
|
||
|
||
For supported clients, the application can synchronize the available model catalog, select a
|
||
default model, back up the original configuration before applying managed settings, restore the
|
||
previous configuration, and launch an available desktop or CLI entry point.
|
||
|
||
## 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
|
||
|
||
1. Download the package for your operating system from
|
||
[GitHub Releases](https://github.com/router-for-me/EasyCLIProxyAPI/releases/latest).
|
||
2. Extract the Windows or Linux archive, or open the macOS DMG.
|
||
3. Launch EasyCLIProxyAPI.
|
||
4. Open **Version Management** and install the bundled or latest CLIProxyAPI core.
|
||
5. Return to **Home**, start the core, then copy the required local endpoint or configure an OAuth/API provider.
|
||
|
||
## Upgrading
|
||
|
||
v0.2.10 is a one-time bridge release. It publishes both the complete Windows ZIP and the legacy `update` ZIP so v0.2.6–v0.2.9 can upgrade to v0.2.10 in the app. Starting with v0.2.11, only the complete ZIP is published; clients already on v0.2.10 can consume it and jump directly across intermediate releases.
|
||
|
||
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](https://github.com/router-for-me/CLIProxyAPI) — the proxy core managed by this application.
|