antonin

Quand tu codes avec un agent IA dans le terminal, chaque commande shell envoie sa sortie complète au modèle. Un git status basique, un cargo test, un docker ps : ce sont des pages de texte qui n'apportent souvent rien d'utile au contexte, mais qui consomment des tokens à chaque fois.

J'ai fait le calcul après une session de codage intense. En trente minutes, j'avais brûlé plus de cent mille tokens rien que sur les sorties terminal. Des logs de compilation interminables, des listes de fichiers redondantes, des messages d'erreur noyés dans du bruit. Le modèle n'avait pas besoin de tout ça, mais il le recevait quand même.

C'est comme ça que j'ai découvert RTK.

Ce qu'est RTK

RTK est un proxy CLI écrit en Rust. Il se place entre tes commandes shell et l'agent IA. Son rôle est de capturer la sortie de chaque commande, d'en extraire l'information utile, et de n'envoyer au modèle que ce qui compte vraiment.

Tu continues de taper tes commandes normalement. RTK travaille en arrière-plan sans que tu aies à changer quoi que ce soit à tes habitudes.

Le gain est considérable. Sur une session type, RTK réduit la consommation de tokens de soixante à quatre-vingt-dix pour cent selon les commandes. Des développeurs ont partagé leurs statistiques après plusieurs semaines d'usage : quinze mille commandes traitées, plus de cent trente millions de tokens économisés.

Le modèle n'a pas besoin de lire quatre cents lignes de compilation. Il a besoin de savoir s'il y a une erreur, où elle se situe, et quels fichiers sont concernés. RTK filtre le superflu, supprime les doublons, tronque les sorties trop longues, et préserve les messages critiques.

Si une commande échoue et que tu as besoin du log complet, RTK le sauvegarde dans un fichier local. Tu peux le consulter sans réexécuter la commande.

Pourquoi RTK et OpenCode fonctionnent bien ensemble

OpenCode est un agent de codage open-source qui fonctionne en ligne de commande, avec aussi une version desktop et des extensions pour les éditeurs de code. Ce qui le distingue, c'est qu'il est agnostique au modèle : tu peux utiliser des modèles locaux via Ollama, ou brancher différents fournisseurs selon tes besoins.

Ce que j'apprécie particulièrement chez OpenCode, c'est la quantité de modèles chinois open source qu'il propose, et à des tarifs vraiment bas. Qwen, DeepSeek, Yi, ChatGLM : des modèles performants qui coûtent une fraction du prix des solutions propriétaires occidentales. Pour quelqu'un qui code beaucoup et qui veut maîtriser son budget, c'est un avantage énorme.

Mais comme tout agent CLI, OpenCode exécute des commandes shell en boucle. Chaque sortie terminal occupe de la place dans la fenêtre de contexte. Plus le contexte grossit, plus les réponses du modèle ralentissent et coûtent cher.

En ajoutant RTK, tu gardes la flexibilité d'OpenCode et son accès aux modèles chinois économiques, tout en réduisant drastiquement la consommation de tokens. Tes sessions durent plus longtemps, tes coûts baissent encore, et le modèle reste concentré sur l'essentiel.

Guide d'installation sur OpenCode

Ce guide part d'une installation fraîche de VPS Ubuntu. Chaque étape compte, surtout sur un système neuf.

Préparer le système

Commence par mettre à jour le système et installer les dépendances de compilation. Sur un VPS vierge, cette étape est indispensable. Sans elle, l'installation de Rust échouera.

sudo apt update && sudo apt upgrade -y

Puis installe les paquets nécessaires :

sudo apt install -y build-essential curl git pkg-config libssl-dev

Ces outils servent à compiler Rust et ses dépendances. build-essential fournit le compilateur C et make. pkg-config aide à localiser les bibliothèques système. libssl-dev est requis pour les crates utilisant OpenSSL. curl et git permettent de télécharger Rust et de cloner des dépôts.

Installer Rust et Cargo

Rust s'installe via rustup, son gestionnaire officiel :

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Laisse l'option par défaut et appuie sur Entrée. Puis active Rust dans ton shell :

source $HOME/.cargo/env

Pour rendre cette activation permanente, ajoute la même ligne à ton ~/.bashrc ou relance ton terminal.

Vérifier l'installation

rustc --version
cargo --version

Tu devrais voir apparaître les numéros de version de rustup.

Mettre Rust à jour

Même fraîchement installé, vérifie les mises à jour :

rustup update

Installer RTK

RTK s'installe directement depuis son dépôt GitHub :

cargo install --git https://github.com/rtk-ai/rtk rtk

La compilation prend quelques minutes selon la puissance de ton processeur. Une fois terminée, RTK est disponible globalement.

Vérifier RTK

rtk --version

Assure-toi d'avoir au moins la version 0.29.0, car les versions antérieures ne supportent pas OpenCode.

Initialiser RTK pour OpenCode

Tu peux configurer RTK de manière globale ou locale selon tes besoins.

Pour une utilisation sur tout le système :

rtk init -g --opencode

Pour un projet spécifique uniquement :

rtk init --opencode

Cette commande configure un hook qui intercepte tes commandes Bash en interne. Tu continues de taper normalement, RTK fait le reste.

Vérifier que tout fonctionne

Lance une session OpenCode, exécute quelques commandes habituelles, puis dans un autre terminal tape :

rtk gain

Tu verras s'afficher un récapitulatif de tes économies de tokens. Les chiffres montrent vite l'impact concret de l'outil.

Bilan après quelques semaines

RTK ne change pas ton workflow visiblement, mais il transforme complètement ce qui se passe sous le capot. Mes sessions OpenCode durent bien plus longtemps avant d'atteindre les limites de l'API. Les coûts ont chuté. Et le modèle reste focalisé sur le code plutôt que sur du bruit terminal.

C'est gratuit, open-source sous licence MIT, et sans télémetrie activée par défaut. Pour quelqu'un qui utilise OpenCode régulièrement, c'est devenu un outil indispensable dans mon environnement de travail.

Tu utilises RTK avec un autre agent ou sur un autre système d'exploitation ? Partage ton expérience dans les commentaires.