Skip to content

risunCode/Cliro-Go

Repository files navigation

CLIro-Go

CLIro-Go is a Wails desktop control plane for running a local OpenAI-compatible proxy across ChatGPT Codex and Kiro accounts. CLIro stands for CLIrouter.

Current release: v0.3.0

Screenshot

Dashboard Accounts
Dashboard Accounts
API Route Usage
API Route Usage

Highlights

  • OpenAI-compatible and Anthropic-compatible local proxy endpoints:
    • POST /v1/responses
    • POST /v1/chat/completions
    • POST /v1/completions
    • POST /v1/messages
    • GET /v1/models
    • GET /health
    • GET /v1/stats
  • Automatic reasoning/thinking parameter injection via model name suffixes:
    • -low / -minimal → 4096 budget tokens (OpenAI: effort: "low")
    • -medium → 10000 budget tokens (OpenAI: effort: "medium")
    • -high → 16384 budget tokens (OpenAI: effort: "high")
    • -xhigh → 32768 budget tokens (OpenAI: effort: "xhigh")
    • Example: gpt-5.4-high automatically enables extended thinking
  • Cross-protocol reasoning/thinking conversion:
    • OpenAI reasoning.effort ↔ Anthropic thinking.budget_tokens bidirectional mapping
    • Automatic parameter filtering to prevent "Unknown parameter" errors
    • Universal reasoning_content field in responses for client compatibility
  • Multi-account routing for Codex and Kiro with availability-aware scheduling, circuit breaker steps, and cooldown handling.
  • OAuth flows for Codex plus Kiro device auth and Kiro social auth.
  • Token refresh, quota refresh, smart batch quota refresh, and force-refresh-all quota actions.
  • API Router controls for proxy runtime, security, routing policy, endpoint testing, and Cloudflared public access.
  • One-click CLI config sync in API Router for Claude Code, OpenCode, Kilo CLI, and Codex AI, including model selection from local /v1/models catalog.
  • Local CLI auth sync for Kilo, Opencode, and Codex CLI.

Supported Models

  • All models are listed directly in GET /v1/models.
  • Model name suffixes enable automatic reasoning/thinking:
    • Add -low, -medium, -high, or -xhigh to any model name
    • Example: gpt-5.4-high, claude-sonnet-4.5-high
  • Suffix is stripped during routing and converted to appropriate reasoning parameters
  • Current Kiro catalog includes examples such as:
    • claude-sonnet-4
    • claude-sonnet-4.5
    • minimax-m2.5
    • qwen3-coder-next

Local Data

CLIro-Go stores runtime state in ~/.cliro-go/:

  • config.json - proxy, auth, scheduling, Cloudflared, and UI-facing settings
  • accounts.json - connected account records with token/quota metadata
  • stats.json - usage counters for the local proxy
  • app.log - persistent application log file
  • bin/cloudflared(.exe) - downloaded Cloudflared binary when public access is installed

Development

Prerequisites:

  • Go 1.23+
  • Node.js 18+ and npm
  • Wails CLI v2.11+

Install frontend dependencies:

cd frontend
npm install
cd ..

Run desktop dev mode:

wails dev

Run validation:

cd frontend
npm run check
cd ..
go test . ./internal/...

Build

Build desktop app:

wails build

Windows output:

build/bin/Cliro-Go.exe

Proxy Base URL

Default base URL:

http://localhost:8095/v1

Example without reasoning:

curl -X POST http://localhost:8095/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{"model":"gpt-5.3-codex","messages":[{"role":"user","content":"Hello"}]}'

Example with automatic reasoning (using -high suffix):

curl -X POST http://localhost:8095/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{"model":"gpt-5.4-high","messages":[{"role":"user","content":"Explain quantum entanglement"}]}'

The response will include reasoning_content field with extended thinking.

Notes

  • Authorization mode requires the configured API key for all proxy routes.
  • Cloudflared public access is managed from the API Router tab and depends on the local proxy being online.
  • Smart Refresh All Quotas skips accounts still waiting for quota reset; Force Refresh All Quotas checks every configured account.
  • Cross-protocol adapter audit and compatibility coverage are documented in docs/audit-adapter-cross-protocol.md.
  • Model aliasing behavior and examples are documented in docs/feature-model-aliasing.md.

Attribution

  • Codex and Kiro icons/marks remain the property of their respective owners.
  • The CLIRO route app icon uses Icons8 artwork: https://icons8.com/icons/set/route

Release Notes

See CHANGELOG.md for the full v0.3.0 change history.

About

A simple proxy that bridges Kiro and Codex into compatible API, offering seamless access to Claude 4.x and GPT 5.x. Enjoy unlimited API Access. Written with Go for high performance and reliability.

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors