Skyuno 2db89211a9 kiro: use payloadRequestedModel for response model name
Align Kiro executor with all other executors (Claude, Gemini, OpenAI,
etc.) by using payloadRequestedModel(opts, req.Model) instead of
req.Model when constructing response model names.

This ensures model aliases are correctly reflected in responses:
- Execute: BuildClaudeResponse + TranslateNonStream
- ExecuteStream: streamToChannel
- handleWebSearchStream: BuildClaudeMessageStartEvent
- handleWebSearch: via executeNonStreamFallback (automatic)

Previously Kiro was the only executor using req.Model directly,
which exposed internal routed names instead of the user's alias.
2026-02-13 22:04:09 +08:00
2025-09-25 10:32:48 +08:00
2026-02-10 15:43:31 +08:00
2025-10-15 11:47:35 +08:00
2025-09-25 10:32:48 +08:00
2026-01-30 21:34:30 +08:00

CLIProxyAPI Plus

English | Chinese

This is the Plus version of CLIProxyAPI, adding support for third-party providers on top of the mainline project.

All third-party provider support is maintained by community contributors; CLIProxyAPI does not provide technical support. Please contact the corresponding community maintainer if you need assistance.

The Plus release stays in lockstep with the mainline features.

Differences from the Mainline

  • Added GitHub Copilot support (OAuth login), provided by em4go
  • Added Kiro (AWS CodeWhisperer) support (OAuth login), provided by fuko2935, Ravens2121

New Features (Plus Enhanced)

  • OAuth Web Authentication: Browser-based OAuth login for Kiro with beautiful web UI
  • Rate Limiter: Built-in request rate limiting to prevent API abuse
  • Background Token Refresh: Automatic token refresh 10 minutes before expiration
  • Metrics & Monitoring: Request metrics collection for monitoring and debugging
  • Device Fingerprint: Device fingerprint generation for enhanced security
  • Cooldown Management: Smart cooldown mechanism for API rate limits
  • Usage Checker: Real-time usage monitoring and quota management
  • Model Converter: Unified model name conversion across providers
  • UTF-8 Stream Processing: Improved streaming response handling

Kiro Authentication

Web-based OAuth Login

Access the Kiro OAuth web interface at:

http://your-server:8080/v0/oauth/kiro

This provides a browser-based OAuth flow for Kiro (AWS CodeWhisperer) authentication with:

  • AWS Builder ID login
  • AWS Identity Center (IDC) login
  • Token import from Kiro IDE

Quick Deployment with Docker

One-Command Deployment

# Create deployment directory
mkdir -p ~/cli-proxy && cd ~/cli-proxy

# Create docker-compose.yml
cat > docker-compose.yml << 'EOF'
services:
  cli-proxy-api:
    image: eceasy/cli-proxy-api-plus:latest
    container_name: cli-proxy-api-plus
    ports:
      - "8317:8317"
    volumes:
      - ./config.yaml:/CLIProxyAPI/config.yaml
      - ./auths:/root/.cli-proxy-api
      - ./logs:/CLIProxyAPI/logs
    restart: unless-stopped
EOF

# Download example config
curl -o config.yaml https://raw.githubusercontent.com/router-for-me/CLIProxyAPIPlus/main/config.example.yaml

# Pull and start
docker compose pull && docker compose up -d

Configuration

Edit config.yaml before starting:

# Basic configuration example
server:
  port: 8317

# Add your provider configurations here

Update to Latest Version

cd ~/cli-proxy
docker compose pull && docker compose up -d

Contributing

This project only accepts pull requests that relate to third-party provider support. Any pull requests unrelated to third-party provider support will be rejected.

If you need to submit any non-third-party provider changes, please open them against the mainline repository.

License

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

Description
No description provided
Readme MIT 300 MiB
Languages
Go 99.7%
Shell 0.2%