À propos du projet

Clodex est un lanceur local et open source qui exécute Claude Code comme environnement de codage interactif tout en acheminant les requêtes de modèles vers Codex sur votre compte ChatGPT. Il conserve l'interface, les agents, les outils, les permissions et les workflows de Claude Code ; seuls le transport des modèles et les alias de modèles changent pour le processus lancé. N'importe quel rôle peut également exécuter un véritable modèle Claude sur votre propre abonnement Claude. Il ne nécessite aucune clé API OpenAI, aucune Codex CLI et aucun proxy externe : connectez-vous une fois avec `clodex auth login`. Une connexion Codex CLI existante est réutilisée lorsque vous en avez une. Les sessions `claude` ordinaires ne sont pas affectées. Fonctionnalités principales : - Conserver l'expérience terminal de Claude Code, les sous-agents, l'utilisation des outils et les contrôles de permissions. - Utiliser les modèles auxquels votre compte ChatGPT peut accéder dans Codex sans coder en dur les noms de modèles, et intégrer des modèles Claude sur votre abonnement Claude. - Choisir n'importe quel modèle depuis `/model`, et attribuer aux sous-agents un modèle de l'un ou l'autre fournisseur. - Tout exécuter localement dans un seul binaire autonome, derrière un pont en boucle locale uniquement. - Laisser intactes les sessions Claude Code normales et les paramètres globaux de modèles. - Partager un backend supervisé unique en toute sécurité entre sessions Clodex concurrentes. Prérequis : macOS ou Linux, un compte ChatGPT avec accès à Codex, et Claude Code. En option, `claude-code-proxy` si vous passez du backend Codex intégré au backend externe. Clodex repose sur les sockets de domaine Unix et ne prend pas en charge Windows natif. Installation : téléchargez l'archive correspondant à votre plateforme depuis la dernière version, extrayez-la et installez-la dans `~/.local/bin/clodex`. Pour compiler depuis les sources, installez Rust 1.88+ et exécutez `./scripts/install.sh`. Ajoutez `--install-proxy` pour installer également `claude-code-proxy` avec Homebrew. Démarrage rapide : ```sh clodex auth login # se connecter à Codex avec votre compte ChatGPT clodex doctor clodex ``` `clodex auth login` ouvre un navigateur ; utilisez `--device` pour SSH ou les machines sans interface graphique. Si vous utilisez déjà la Codex CLI, vous pouvez ignorer la connexion. Exécutez `clodex` depuis n'importe quel répertoire de projet. Les arguments qui ne sont pas des commandes de gestion Clodex sont transmis directement à Claude Code : ```sh clodex --resume clodex -p "summarize this repository" clodex -- --resume ``` Clodex affiche une bannière de lancement violette, modifie le titre du terminal et sélectionne un thème Claude violet propre à Clodex. Les commandes incluent : `clodex auth login/logout/status/sync`, `clodex models [list]`, `clodex models map`, `clodex config [show]`, `clodex config context <auto|tokens>`, `clodex config compact-at <1..95>`, `clodex config backend <builtin|proxy>`, `clodex config hierarchical-compaction <on|off>`, `clodex config route <role> <claude-model|codex>`, `clodex config allow-tool <exact-name>`, `clodex config forget-tool <exact-name>`, `clodex config path`, `clodex context` et `clodex doctor`. Routage des modèles : à chaque lancement, Clodex lit le catalogue de modèles Codex de votre compte, supprime les entrées masquées ou non prises en charge par l'API, et mappe la priorité du catalogue sur les rôles de Claude Code. Le catalogue est mis en cache pendant cinq minutes. La session lancée utilise par défaut la route Opus ; Fable et Sonnet restent disponibles depuis le sélecteur de modèles. Haiku est masqué mais pris en charge via la route Sonnet. Aucun nom de modèle n'est codé en dur, donc le mapping suit le catalogue Codex en direct. Modèles Claude sur votre abonnement Claude : n'importe quel rôle peut utiliser un véritable modèle Claude au lieu de son modèle Codex. Les requêtes routées vers Claude réutilisent la connexion d'abonnement propre à Claude Code et sont comptabilisées dans les limites d'utilisation de votre forfait Claude. Clodex ne lit, ne copie ni ne stocke jamais les identifiants Claude. Les modèles routés apparaissent à Claude Code sous la forme `anthropic/<model>`. Chaque modèle dans `/model` et dans les sous-agents : chaque lancement liste tous les modèles Codex routables dans le sélecteur `/model` de Claude Code, ainsi que les modèles Claude actuels lorsqu'une connexion d'abonnement existe. Clodex écrit la liste dans le cache de découverte de modèles de Claude Code et transmet des lignes `modelPicker` sélectionnées. Le paramètre `model` de l'outil Agent accepte les quatre alias de rôle, et Clodex transmet une définition `--agents` par modèle listé. Mode rapide : lancez avec `clodex --fast` pour maintenir les modèles Codex pris en charge sur le niveau de service prioritaire pendant toute la session, y compris les sous-agents et la compaction. Les routes Claude s'exécutent à vitesse normale. `/fast on` et `/fast off` basculent le niveau prioritaire de manière interactive pour le modèle sélectionné. Contexte et compaction : le paramètre par défaut `auto` se résout à la plus grande capacité que chaque modèle routé acceptera réellement. Les valeurs explicites sont respectées jusqu'au plafond et limitées au-delà. Clodex exécute également le backend Codex avec la compaction côté serveur activée. Compaction hiérarchique (opt-in) : remplace une seule requête de compaction surdimensionnée par un repli dont chaque tour tient par construction. Le nombre de tours suit la taille de la conversation. Désactivée par défaut car chaque tour coûte un appel de modèle. Effort de raisonnement : le routage des modèles et l'effort de raisonnement sont indépendants. Utilisez le contrôle `/effort` de Claude Code ou l'option `--effort`. Outils de confiance : Clodex peut fournir une règle d'autorisation exacte par lancement à la session principale et à chaque sous-agent via `clodex config allow-tool <exact-name>`. Backend Codex intégré : traduit les requêtes de Claude Code pour Codex lui-même, sans proxy externe installé. C'est le comportement par défaut. Le proxy externe reste disponible via `clodex config backend proxy`. Cycle de vie du proxy partagé : la première session active démarre un superviseur et un proxy en boucle locale uniquement sur un port éphémère disponible. Le démarrage concurrent est sérialisé avec un verrou de fichier exclusif. La session qui a démarré le superviseur n'a aucune propriété particulière ; le proxy reste actif tant qu'un bail subsiste. Une seconde après la disparition du dernier bail, le superviseur arrête le proxy et nettoie. Identifiants et fichiers locaux : Clodex utilise sa propre connexion issue de `clodex auth login` lorsqu'elle existe, sinon réutilise le `~/.codex/auth.json` de la Codex CLI lorsqu'il est authentifié en mode `chatgpt`. La connexion propre à Clodex est stockée dans `~/.clodex/auth/codex.json` avec le mode `0600` dans un répertoire `0700`. Les fichiers persistants et d'exécution sont par défaut dans `~/.clodex/` avec les sous-répertoires config, auth, cache, logs et run. Définissez `CLODEX_HOME` pour déplacer tout ce répertoire. Dépannage : commencez par `clodex doctor`, `clodex auth status`, `clodex auth sync` et `clodex context`. Les problèmes courants incluent des réponses Codex en amont interrompues (réessayez après le rétablissement de la connectivité, ou essayez `clodex config transport websocket`), des échecs de mise à niveau WebSocket 403 (mettez à jour Clodex, réglez le transport sur http, redémarrez les sessions) et des erreurs 413 request_too_large (comparez la capacité de contexte au plafond routé ; mettez à jour Clodex et démarrez une nouvelle session). Clodex est un projet communautaire indépendant, non affilié à, approuvé par ou soutenu par Anthropic ou OpenAI. Il est sous licence MIT.