CLIProxyAPI

module
v6.3.10 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 5, 2025 License: MIT

README

CLI Proxy API

English | 中文

A proxy server that provides OpenAI/Gemini/Claude/Codex compatible API interfaces for CLI.

It now also supports OpenAI Codex (GPT models) and Claude Code via OAuth.

So you can use local or multi-account CLI access with OpenAI(include Responses)/Gemini/Claude-compatible clients and SDKs.

Sponsor

z.ai

This project is sponsored by Z.ai, supporting us with their GLM CODING PLAN.

GLM CODING PLAN is a subscription service designed for AI coding, starting at just $3/month. It provides access to their flagship GLM-4.6 model across 10+ popular AI coding tools (Claude Code, Cline, Roo Code, etc.), offering developers top-tier, fast, and stable coding experiences.

Get 10% OFF GLM CODING PLAN:https://z.ai/subscribe?ic=8JVLJQFSKB

Overview

  • OpenAI/Gemini/Claude compatible API endpoints for CLI models
  • OpenAI Codex support (GPT models) via OAuth login
  • Claude Code support via OAuth login
  • Qwen Code support via OAuth login
  • iFlow support via OAuth login
  • Streaming and non-streaming responses
  • Function calling/tools support
  • Multimodal input support (text and images)
  • Multiple accounts with round-robin load balancing (Gemini, OpenAI, Claude, Qwen and iFlow)
  • Simple CLI authentication flows (Gemini, OpenAI, Claude, Qwen and iFlow)
  • Generative Language API Key support
  • AI Studio Build multi-account load balancing
  • Gemini CLI multi-account load balancing
  • Claude Code multi-account load balancing
  • Qwen Code multi-account load balancing
  • iFlow multi-account load balancing
  • OpenAI Codex multi-account load balancing
  • OpenAI-compatible upstream providers via config (e.g., OpenRouter)
  • Reusable Go SDK for embedding the proxy (see docs/sdk-usage.md)

Getting Started

CLIProxyAPI Guides: https://help.router-for.me/

Management API

see MANAGEMENT_API.md

SDK Docs

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Who is with us?

Those projects are based on CLIProxyAPI:

vibeproxy

Native macOS menu bar app to use your Claude Code & ChatGPT subscriptions with AI coding tools - no API keys needed

Subtitle Translator

Browser-based tool to translate SRT subtitles using your Gemini subscription via CLIProxyAPI with automatic validation/error correction - no API keys needed

[!NOTE]
If you developed a project based on CLIProxyAPI, please open a PR to add it to this list.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Directories

Path Synopsis
cmd
server command
Package main provides the entry point for the CLI Proxy API server.
Package main provides the entry point for the CLI Proxy API server.
examples
custom-provider command
Package main demonstrates how to create a custom AI provider executor and integrate it with the CLI Proxy API server.
Package main demonstrates how to create a custom AI provider executor and integrate it with the CLI Proxy API server.
translator command
internal
api
Package api provides the HTTP API server implementation for the CLI Proxy API.
Package api provides the HTTP API server implementation for the CLI Proxy API.
api/handlers/management
Package management provides the management API handlers and middleware for configuring the server and managing auth files.
Package management provides the management API handlers and middleware for configuring the server and managing auth files.
api/middleware
Package middleware provides HTTP middleware components for the CLI Proxy API server.
Package middleware provides HTTP middleware components for the CLI Proxy API server.
auth
Package auth provides authentication functionality for various AI service providers.
Package auth provides authentication functionality for various AI service providers.
auth/claude
Package claude provides OAuth2 authentication functionality for Anthropic's Claude API.
Package claude provides OAuth2 authentication functionality for Anthropic's Claude API.
auth/codex
Package codex provides authentication and token management for OpenAI's Codex API.
Package codex provides authentication and token management for OpenAI's Codex API.
auth/empty
Package empty provides a no-operation token storage implementation.
Package empty provides a no-operation token storage implementation.
auth/gemini
Package gemini provides authentication and token management functionality for Google's Gemini AI services.
Package gemini provides authentication and token management functionality for Google's Gemini AI services.
auth/qwen
Package qwen provides authentication and token management functionality for Alibaba's Qwen AI services.
Package qwen provides authentication and token management functionality for Alibaba's Qwen AI services.
browser
Package browser provides cross-platform functionality for opening URLs in the default web browser.
Package browser provides cross-platform functionality for opening URLs in the default web browser.
cmd
Package cmd provides command-line interface functionality for the CLI Proxy API server.
Package cmd provides command-line interface functionality for the CLI Proxy API server.
config
Package config provides configuration management for the CLI Proxy API server.
Package config provides configuration management for the CLI Proxy API server.
constant
Package constant defines provider name constants used throughout the CLI Proxy API.
Package constant defines provider name constants used throughout the CLI Proxy API.
interfaces
Package interfaces defines the core interfaces and shared structures for the CLI Proxy API server.
Package interfaces defines the core interfaces and shared structures for the CLI Proxy API server.
logging
Package logging provides Gin middleware for HTTP request logging and panic recovery.
Package logging provides Gin middleware for HTTP request logging and panic recovery.
misc
Package misc provides miscellaneous utility functions and embedded data for the CLI Proxy API.
Package misc provides miscellaneous utility functions and embedded data for the CLI Proxy API.
registry
Package registry provides model definitions for various AI service providers.
Package registry provides model definitions for various AI service providers.
runtime/executor
Package executor provides runtime execution capabilities for various AI service providers.
Package executor provides runtime execution capabilities for various AI service providers.
translator/claude/gemini
Package gemini provides request translation functionality for Gemini to Claude Code API compatibility.
Package gemini provides request translation functionality for Gemini to Claude Code API compatibility.
translator/claude/gemini-cli
Package geminiCLI provides request translation functionality for Gemini CLI to Claude Code API compatibility.
Package geminiCLI provides request translation functionality for Gemini CLI to Claude Code API compatibility.
translator/claude/openai/chat-completions
Package openai provides request translation functionality for OpenAI to Claude Code API compatibility.
Package openai provides request translation functionality for OpenAI to Claude Code API compatibility.
translator/codex/claude
Package claude provides request translation functionality for Claude Code API compatibility.
Package claude provides request translation functionality for Claude Code API compatibility.
translator/codex/gemini
Package gemini provides request translation functionality for Codex to Gemini API compatibility.
Package gemini provides request translation functionality for Codex to Gemini API compatibility.
translator/codex/gemini-cli
Package geminiCLI provides request translation functionality for Gemini CLI to Codex API compatibility.
Package geminiCLI provides request translation functionality for Gemini CLI to Codex API compatibility.
translator/codex/openai/chat-completions
Package openai provides utilities to translate OpenAI Chat Completions request JSON into OpenAI Responses API request JSON using gjson/sjson.
Package openai provides utilities to translate OpenAI Chat Completions request JSON into OpenAI Responses API request JSON using gjson/sjson.
translator/gemini-cli/claude
Package claude provides request translation functionality for Claude Code API compatibility.
Package claude provides request translation functionality for Claude Code API compatibility.
translator/gemini-cli/gemini
Package gemini provides request translation functionality for Gemini CLI to Gemini API compatibility.
Package gemini provides request translation functionality for Gemini CLI to Gemini API compatibility.
translator/gemini-cli/openai/chat-completions
Package openai provides request translation functionality for OpenAI to Gemini CLI API compatibility.
Package openai provides request translation functionality for OpenAI to Gemini CLI API compatibility.
translator/gemini/claude
Package claude provides request translation functionality for Claude API.
Package claude provides request translation functionality for Claude API.
translator/gemini/gemini
Package gemini provides in-provider request normalization for Gemini API.
Package gemini provides in-provider request normalization for Gemini API.
translator/gemini/gemini-cli
Package gemini provides request translation functionality for Claude API.
Package gemini provides request translation functionality for Claude API.
translator/gemini/openai/chat-completions
Package openai provides request translation functionality for OpenAI to Gemini API compatibility.
Package openai provides request translation functionality for OpenAI to Gemini API compatibility.
translator/openai/claude
Package claude provides request translation functionality for Anthropic to OpenAI API.
Package claude provides request translation functionality for Anthropic to OpenAI API.
translator/openai/gemini
Package gemini provides request translation functionality for Gemini to OpenAI API.
Package gemini provides request translation functionality for Gemini to OpenAI API.
translator/openai/gemini-cli
Package geminiCLI provides request translation functionality for Gemini to OpenAI API.
Package geminiCLI provides request translation functionality for Gemini to OpenAI API.
translator/openai/openai/chat-completions
Package openai provides request translation functionality for OpenAI to Gemini CLI API compatibility.
Package openai provides request translation functionality for OpenAI to Gemini CLI API compatibility.
translator/translator
Package translator provides request and response translation functionality between different AI API formats.
Package translator provides request and response translation functionality between different AI API formats.
usage
Package usage provides usage tracking and logging functionality for the CLI Proxy API server.
Package usage provides usage tracking and logging functionality for the CLI Proxy API server.
util
Package util provides utility functions used across the CLIProxyAPI application.
Package util provides utility functions used across the CLIProxyAPI application.
watcher
Package watcher provides file system monitoring functionality for the CLI Proxy API.
Package watcher provides file system monitoring functionality for the CLI Proxy API.
sdk
api/handlers
Package handlers provides core API handler functionality for the CLI Proxy API server.
Package handlers provides core API handler functionality for the CLI Proxy API server.
api/handlers/claude
Package claude provides HTTP handlers for Claude API code-related functionality.
Package claude provides HTTP handlers for Claude API code-related functionality.
api/handlers/gemini
Package gemini provides HTTP handlers for Gemini CLI API functionality.
Package gemini provides HTTP handlers for Gemini CLI API functionality.
api/handlers/openai
Package openai provides HTTP handlers for OpenAI API endpoints.
Package openai provides HTTP handlers for OpenAI API endpoints.
cliproxy
Package cliproxy provides the core service implementation for the CLI Proxy API.
Package cliproxy provides the core service implementation for the CLI Proxy API.
config
Package config provides configuration management for the CLI Proxy API server.
Package config provides configuration management for the CLI Proxy API server.
translator
Package translator provides types and functions for converting chat requests and responses between different schemas.
Package translator provides types and functions for converting chat requests and responses between different schemas.
translator/builtin
Package builtin exposes the built-in translator registrations for SDK users.
Package builtin exposes the built-in translator registrations for SDK users.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL