Gestore multi-istanza di Claude Code con proxy di traduzione intelligente
English | 简体中文 | 繁體中文 | 日本語 | 한국어 | Русский | Français | Português do Brasil | Español | Italiano | Deutsch | Polski
Claudex è un proxy unificato che consente a Claude Code di lavorare senza interruzioni con più provider AI attraverso la traduzione automatica dei protocolli.
- Proxy multi-provider — Passthrough DirectAnthropic + traduzione Anthropic <-> OpenAI Chat Completions + traduzione Anthropic <-> Responses API
- Oltre 20 provider — Anthropic, OpenRouter, Grok, OpenAI, DeepSeek, Kimi, GLM, Groq, Mistral, Together AI, Perplexity, Cerebras, Azure OpenAI, Google Vertex AI, Ollama, LM Studio e altri
- Traduzione streaming — Traduzione completa del flusso SSE con supporto alle chiamate di strumenti
- Circuit breaker + failover — Fallback automatico ai provider di backup con soglie configurabili
- Routing intelligente — Routing automatico basato sulle intenzioni tramite classificatore locale
- Motore contestuale — Compressione delle conversazioni, condivisione cross-profile, RAG locale con embedding
- Sottoscrizioni OAuth — ChatGPT/Codex, Claude Max, GitHub Copilot, GitLab Duo, Google Gemini, Qwen, Kimi
- Set di configurazione — Installa e gestisce set di configurazione riutilizzabili di Claude Code da repository git
- Dashboard TUI — Stato dei profili in tempo reale, metriche, log e avvio rapido
- Auto-aggiornamento —
claudex updatescarica l'ultima versione da GitHub
# Installazione in un comando (Linux / macOS)
curl -fsSL https://raw.githubusercontent.com/StringKe/claudex/main/install.sh | bash
# Dal sorgente
cargo install --git https://github.com/StringKe/claudex
# Oppure scarica da GitHub Releases
# https://github.com/StringKe/claudex/releases- macOS (Intel / Apple Silicon) o Linux (x86_64 / ARM64)
- Claude Code installato
- Windows: scarica il binario precompilato da Releases
# 1. Inizializza la configurazione
claudex config init
# 2. Aggiungi un profilo provider in modo interattivo
claudex profile add
# 3. Testa la connettività
claudex profile test all
# 4. Esegui Claude Code con un provider specifico
claudex run grok
# 5. Oppure usa il routing intelligente per selezionare automaticamente il provider migliore
claudex run autoclaudex run openrouter-claude
│
├── Avvia il proxy (se non in esecuzione) → 127.0.0.1:13456
│
└── esegue claude con le variabili d'ambiente:
ANTHROPIC_BASE_URL=http://127.0.0.1:13456/proxy/openrouter-claude
ANTHROPIC_AUTH_TOKEN=claudex-passthrough
ANTHROPIC_MODEL=anthropic/claude-sonnet-4
ANTHROPIC_DEFAULT_HAIKU_MODEL=...
ANTHROPIC_DEFAULT_SONNET_MODEL=...
ANTHROPIC_DEFAULT_OPUS_MODEL=...
Il proxy intercetta le richieste e gestisce la traduzione dei protocolli:
- DirectAnthropic (Anthropic, MiniMax, Vertex AI) → inoltra con intestazioni corrette
- OpenAICompatible (Grok, OpenAI, DeepSeek, ecc.) → Anthropic → OpenAI Chat Completions → traduce la risposta
- OpenAIResponses (sottoscrizioni ChatGPT/Codex) → Anthropic → Responses API → traduce la risposta
| Provider | Tipo | Traduzione | Autenticazione | Modello di esempio |
|---|---|---|---|---|
| Anthropic | DirectAnthropic | Nessuna | API Key | claude-sonnet-4-20250514 |
| MiniMax | DirectAnthropic | Nessuna | API Key | claude-sonnet-4-20250514 |
| OpenRouter | OpenAICompatible | Anthropic <-> OpenAI | API Key | anthropic/claude-sonnet-4 |
| Grok (xAI) | OpenAICompatible | Anthropic <-> OpenAI | API Key | grok-3-beta |
| OpenAI | OpenAICompatible | Anthropic <-> OpenAI | API Key | gpt-4o |
| DeepSeek | OpenAICompatible | Anthropic <-> OpenAI | API Key | deepseek-chat |
| Kimi | OpenAICompatible | Anthropic <-> OpenAI | API Key | kimi-k2-0905-preview |
| GLM (Zhipu) | OpenAICompatible | Anthropic <-> OpenAI | API Key | glm-4-plus |
| Groq | OpenAICompatible | Anthropic <-> OpenAI | API Key | llama-3.3-70b |
| Mistral | OpenAICompatible | Anthropic <-> OpenAI | API Key | mistral-large-latest |
| Together AI | OpenAICompatible | Anthropic <-> OpenAI | API Key | meta-llama/... |
| Perplexity | OpenAICompatible | Anthropic <-> OpenAI | API Key | sonar-pro |
| Cerebras | OpenAICompatible | Anthropic <-> OpenAI | API Key | llama-3.3-70b |
| Azure OpenAI | OpenAICompatible | Anthropic <-> OpenAI | intestazione api-key | gpt-4o |
| Google Vertex AI | DirectAnthropic | Nessuna | Bearer (gcloud) | claude-sonnet-4@... |
| Ollama | OpenAICompatible | Anthropic <-> OpenAI | Nessuna | qwen2.5:72b |
| LM Studio | OpenAICompatible | Anthropic <-> OpenAI | Nessuna | modello locale |
| Sottoscrizione ChatGPT/Codex | OpenAIResponses | Anthropic <-> Responses | OAuth (PKCE/Device) | gpt-5.3-codex |
| Sottoscrizione Claude Max | DirectAnthropic | Nessuna | OAuth (file) | claude-sonnet-4 |
| GitHub Copilot | OpenAICompatible | Anthropic <-> OpenAI | OAuth (Device+Bearer) | gpt-4o |
| GitLab Duo | OpenAICompatible | Anthropic <-> OpenAI | GITLAB_TOKEN | claude-sonnet-4 |
Claudex cerca i file di configurazione nel seguente ordine:
- Variabile d'ambiente
$CLAUDEX_CONFIG ./claudex.tomlo./claudex.yaml(directory corrente)./.claudex/config.toml- Directory superiori (fino a 10 livelli)
~/.config/claudex/config.toml(globale, consigliato)
Supporta i formati TOML e YAML. Consulta config.example.toml per il riferimento completo.
| Comando | Descrizione |
|---|---|
claudex run <profile> |
Esegui Claude Code con un provider specifico |
claudex run auto |
Routing intelligente — seleziona automaticamente il provider migliore |
claudex run <profile> -m <model> |
Sovrascrive il modello per una sessione |
claudex profile list |
Elenca tutti i profili configurati |
claudex profile add |
Procedura guidata interattiva per la configurazione del profilo |
claudex profile show <name> |
Mostra i dettagli del profilo |
claudex profile remove <name> |
Rimuove un profilo |
claudex profile test <name|all> |
Testa la connettività del provider |
claudex proxy start [-p port] [-d] |
Avvia il proxy (opzionalmente come daemon) |
claudex proxy stop |
Ferma il daemon del proxy |
claudex proxy status |
Mostra lo stato del proxy |
claudex dashboard |
Avvia la dashboard TUI |
claudex config show [--raw] [--json] |
Mostra la configurazione caricata |
claudex config init [--yaml] |
Crea la configurazione nella directory corrente |
claudex config edit [--global] |
Apre la configurazione in $EDITOR |
claudex config validate [--connectivity] |
Valida la configurazione |
claudex config get <key> |
Ottieni un valore di configurazione |
claudex config set <key> <value> |
Imposta un valore di configurazione |
claudex config export --format <fmt> |
Esporta la configurazione (json/toml/yaml) |
claudex update [--check] |
Auto-aggiornamento da GitHub Releases |
claudex auth login <provider> |
Accesso OAuth |
claudex auth login github --enterprise-url <domain> |
GitHub Enterprise Copilot |
claudex auth status |
Mostra lo stato del token OAuth |
claudex auth logout <profile> |
Rimuove il token OAuth |
claudex auth refresh <profile> |
Forza il rinnovo del token OAuth |
claudex sets add <source> [--global] |
Installa un set di configurazione |
claudex sets remove <name> |
Rimuove un set di configurazione |
claudex sets list [--global] |
Elenca i set installati |
claudex sets update [name] |
Aggiorna i set all'ultima versione |
Usa le sottoscrizioni esistenti al posto delle API key:
# Sottoscrizione ChatGPT (rileva automaticamente le credenziali Codex CLI esistenti)
claudex auth login chatgpt --profile codex-sub
# ChatGPT con accesso forzato tramite browser
claudex auth login chatgpt --profile codex-sub --force
# ChatGPT in modalità headless (SSH/senza browser)
claudex auth login chatgpt --profile codex-sub --force --headless
# GitHub Copilot
claudex auth login github --profile copilot
# GitHub Copilot Enterprise
claudex auth login github --profile copilot-ent --enterprise-url company.ghe.com
# GitLab Duo (legge la variabile d'ambiente GITLAB_TOKEN)
claudex auth login gitlab --profile gitlab-duo
# Controlla lo stato
claudex auth status
# Esegui con la sottoscrizione
claudex run codex-subSupportati: claude, chatgpt/openai, google, qwen, kimi, github/copilot, gitlab
Mappa il selettore /model di Claude Code (haiku/sonnet/opus) ai modelli di qualsiasi provider:
[[profiles]]
name = "openrouter-deepseek"
provider_type = "OpenAICompatible"
base_url = "https://openrouter.ai/api/v1"
api_key = "sk-or-..."
default_model = "deepseek/deepseek-chat-v3-0324"
[profiles.models]
haiku = "deepseek/deepseek-chat-v3-0324"
sonnet = "deepseek/deepseek-chat-v3-0324"
opus = "deepseek/deepseek-r1"src/
├── main.rs
├── cli.rs
├── update.rs
├── util.rs
├── config/
│ ├── mod.rs # Rilevamento e analisi della configurazione (figment)
│ ├── cmd.rs # Sottocomandi config get/set/export/validate
│ └── profile.rs # CRUD dei profili + test di connettività
├── process/
│ ├── mod.rs
│ ├── launch.rs # Avvio del processo Claude
│ └── daemon.rs # File PID + gestione dei processi
├── oauth/
│ ├── mod.rs # AuthType, OAuthProvider, OAuthToken
│ ├── source.rs # Livello 1: sorgenti delle credenziali (env/file/keyring)
│ ├── exchange.rs # Livello 2: scambio di token (PKCE/device code/refresh)
│ ├── manager.rs # Livello 3: cache + deduplicazione concorrente + retry 401
│ ├── handler.rs # Trait OAuthProviderHandler
│ ├── providers.rs # Logica CLI di login/refresh/status
│ ├── server.rs # Server di callback OAuth + polling device code
│ └── token.rs # Re-export
├── proxy/
│ ├── mod.rs # Server Axum + ProxyState
│ ├── handler.rs # Routing delle richieste + circuit breaker + retry 401
│ ├── adapter/ # Adapter specifici per provider
│ │ ├── mod.rs # Trait ProviderAdapter + factory
│ │ ├── direct.rs # DirectAnthropic (passthrough)
│ │ ├── chat_completions.rs # OpenAI Chat Completions
│ │ └── responses.rs # OpenAI Responses API
│ ├── translate/ # Traduzione dei protocolli
│ │ ├── chat_completions.rs
│ │ ├── chat_completions_stream.rs
│ │ ├── responses.rs
│ │ └── responses_stream.rs
│ ├── context_engine.rs
│ ├── fallback.rs # Circuit breaker
│ ├── health.rs
│ ├── metrics.rs
│ ├── models.rs
│ ├── error.rs
│ └── util.rs
├── router/
│ ├── mod.rs
│ └── classifier.rs
├── context/
│ ├── mod.rs
│ ├── compression.rs
│ ├── sharing.rs
│ └── rag.rs
├── sets/ # Gestione dei set di configurazione
│ ├── mod.rs
│ ├── schema.rs
│ ├── source.rs
│ ├── install.rs
│ ├── lock.rs
│ ├── conflict.rs
│ └── mcp.rs
├── terminal/ # Rilevamento del terminale + hyperlink
│ ├── mod.rs
│ ├── detect.rs
│ ├── osc8.rs
│ └── pty.rs
└── tui/
├── mod.rs
├── dashboard.rs
├── input.rs
└── widgets.rs