Command Palette

Search for a command to run...

Logo jevcc

jevcc

09.2026 - Present

  • Téléchargements cumulés crates.io
  • Rust
  • Axum
  • Tokio
  • Claude Code
  • LLM
Capture d'écran de jevcc

Description du projet

jevcc est un router de modèles pour Claude Code écrit en Rust. À chaque tour de conversation, il choisit entre Haiku, Sonnet et Opus selon la complexité de la demande, avec Jev (TypeSafe) comme classifieur. Une question simple part sur Haiku, une refonte d'architecture sur Opus, sans changer de modèle à la main.

Il tourne comme un proxy en boucle locale devant ANTHROPIC_BASE_URL. La commande jevcc s'utilise à la place de claude, transmet tous les autres arguments et branche la statusline, qui affiche le tier choisi, l'effort et les éventuels replis. Pour savoir pourquoi un tour est parti sur un modèle donné, /jev-explain dans Claude Code ou jevcc explain dans un terminal. jevcc doctor vérifie la clé Jev, la version de Claude Code, les permissions et la configuration.

Le routage tient compte du cache de prompt. La décision se prend à chaque nouveau message, jamais au milieu d'une boucle d'outils : une montée de tier passe toujours, une descente n'est appliquée que si l'économie dépasse le coût de reconstruction du cache sur les tours suivants. Jev choisit aussi le niveau d'effort, appliqué quand le cache est reconstruit de toute façon (premier tour, changement de tier, /compact, TTL expiré), ou à chaque tour sur les modèles où changer d'effort garde le cache. Les en-têtes de gateway de Claude Code donnent à chaque sous-agent sa propre clé de conversation, signalent la première requête après une compaction, et laissent les requêtes auxiliaires (titres, résumés) sur le tier de la conversation sans interroger Jev.

Quand le tier choisi répond 529 (surcharge) ou 429 (limite de débit), la requête est rejouée une fois sur le tier inférieur, avant qu'un octet n'atteigne Claude Code. La configuration se fait dans un fichier TOML global et un par projet : bornes min et max de tier (jamais sous Opus sur un dépôt critique, par exemple), seuils de confiance, tarifs, prompts. Une option expérimentale efface les anciens résultats d'outils du contexte pour réduire les tokens relus.

jevcc gain compare ce qui a été facturé avec les mêmes tokens sur un seul tier, sur une période donnée, avec un détail par tier, par jour ou par projet et des sorties JSON et CSV. Dans cmux, la restauration de session relance le proxy automatiquement.

jevcc est open source sous licence MIT. Il est publié sur crates.io en deux crates : jevcc (les binaires jevcc, jevcc-statusline et jevcc-claude) et jev-router (la requête au classifieur et la politique de routage, réutilisables sans le proxy, par exemple dans un workflow IronFlow). Installation : cargo install jevcc.

Technologies utilisées

Ce projet utilise les technologies suivantes : Rust, Axum, Tokio, Claude Code, LLM.