CodeFlux : un programmeur en duo offline qui respecte votre repo
Un modèle de code de classe 7B en local, avec retrieval conscient du projet. Pourquoi un modèle plus petit avec le bon contexte bat un plus gros sans contexte.
La thèse
Un modèle de code de classe 7B, exécuté localement et nourri de la bonne tranche de votre dépôt comme contexte, est plus utile qu'un modèle cloud de frontière qui ignore tout de votre code.
Ce n'est pas une affirmation sur les scores de benchmark. C'est une affirmation sur les completions que vous acceptez vraiment. CodeFlux est bâti sur cette thèse.
Architecture
Trois composants on-device coopérant :
- Le modèle. Un modèle code 7B quantifié (nous évaluons Qwen-2.5-Coder, DeepSeek-Coder-V2-Lite, dérivés de StarCoder2 ; la variante 4-bit la plus rapide que nous pouvons livrer par plateforme). Inférence via MLX sur Apple silicon, llama.cpp sur PC/Linux, ONNX Runtime sur Windows ARM.
- Un index du repo. Un index vectoriel local du dépôt, rafraîchi à la sauvegarde. Embedding à trois granularités : fichier, symbole, plage de lignes. L'index est un unique fichier SQLite dans
.codeflux/à la racine du repo. - Une couche retrieval. Quand vous tapez, on regarde le code voisin, les imports du fichier, les symboles proches ; on pêche les top-K fichiers les plus pertinents ; on les épisse dans le prompt ; on y va.
Pourquoi local pour du code
- Votre repo est ce que vous possédez de plus sensible. Le seul modèle qui devrait jamais le voir entièrement est un modèle exécuté à l'intérieur de votre machine.
- Votre code est aussi l'input le plus idiomatique que le modèle ait jamais reçu. Les modèles cloud normalisent vers le style « moyenne GitHub » ; un modèle local conditionné sur votre repo écrit du code qui colle.
- La latence sur la completion inline compte à l'échelle de quelques centaines de millisecondes. Un aller-retour cloud est un impôt sur chaque frappe.
Ce que CodeFlux fait aujourd'hui
- Completion inline annulable : tant que vous tapez, les inférences en vol sont annulées et relancées. Le modèle ne bloque jamais l'éditeur.
- Chat ancré dans le repo. « Où est le middleware d'auth ? » : CodeFlux retrieve les fichiers, puis répond — en citant des lignes.
- Édits sur sélection. Surlignez une fonction, demandez un refactor, le diff apparaît comme une review classique. Appliquer, rejeter ou éditer.
- Tests à la demande. « Génère des tests pour ce fichier » produit un fichier candidat dans le framework existant, imports résolus.
Ce que CodeFlux ne fait pas
- Pas d'agent autonome. Pas d'agent coding long qui agit sur votre repo sans votre revue. Nous reconsidérerons quand la fiabilité le mérite.
- Pas de télémétrie sur vos questions ou nos suggestions. Aucune. La tentation la plus dure dans un outil dev, et celle que nous tenons absolument à refuser.
- Pas de dépendance au cloud sur la moindre fonctionnalité. Coupure réseau = aucune dégradation.
Limites honnêtes
- Un modèle code 7B n'égalera pas un frontière 200B+ sur les refactors les plus lourds en raisonnement. Nous offrons une échappée d'un tap pour envoyer un snippet rédigé à un modèle cloud de votre choix. Votre choix, votre fournisseur, vos réglages de redaction.
- Indexer un monorepo géant est lent à la première fois. Nous gardons un cache par machine et fournissons un layout
.codeflux/git-ignoré pour rendre les ré-ouvertures instantanées.
CodeFlux n'est pas le modèle au plus haut score de leaderboard. C'est le modèle avec le plus haut taux de completion-acceptée sur votre code, parce qu'il a vraiment lu votre code.