blog.antonin.net

Quand on code avec un agent IA dans le terminal, chaque commande shell envoie sa sortie complète au modèle. Un git status, un cargo test, un docker ps… et hop, des pages de logs inutiles qui bouffent des tokens pour rien.

J’ai fait le test après une session de codage intense : 100 000 tokens cramés en 30 minutes, juste à cause des sorties terminal. Des logs de compilation à n’en plus finir, des listes de fichiers redondantes, des erreurs noyées dans le bruit. Le modèle n’en avait rien à faire, mais il les recevait quand même.

C’est là que j’ai découvert RTK.

RTK, le filtre anti-gaspillage

RTK, c’est un proxy CLI écrit en Rust. Il s’interpose entre tes commandes et l’agent IA, filtre le superflu et n’envoie que l’essentiel au modèle.

Tu tapes tes commandes comme d’hab, RTK bosse en arrière-plan. Résultat ? 60 à 90 % de tokens en moins selon les commandes.

Operation Fréquence Standard rtk Économies
ls / tree 10x 2,000 400 -80%
cat / read 20x 40,000 12,000 -70%
grep / rg 8x 16,000 3,200 -80%
git status 10x 3,000 600 -80%
git diff 5x 10,000 2,500 -75%
git log 5x 2,500 500 -80%
git add/commit/push 8x 1,600 120 -92%
cargo test / npm test 5x 25,000 2,500 -90%
ruff check 3x 3,000 600 -80%
pytest 4x 8,000 800 -90%
go test 3x 6,000 600 -90%
docker ps 3x 900 180 -80%
Total   ~118,000 ~23,900 -80%

Certains devs ont partagé leurs stats : 130 millions de tokens économisés sur 15 000 commandes. Le modèle n’a pas besoin de lire 400 lignes de compilation. Il lui faut juste savoir s’il y a une erreur, où elle est, et quels fichiers sont concernés. RTK fait le tri, supprime les doublons, tronque les sorties trop longues, et garde les infos critiques. Et si jamais tu as besoin du log complet, il est sauvegardé localement.

Pourquoi ça marche si bien avec OpenCode ?

OpenCode, c’est un agent de codage open-source qui tourne en CLI, avec aussi une version desktop et des extensions pour les éditeurs. Son gros plus ? Il est agnostique au modèle : tu peux utiliser des modèles locaux via Ollama ou brancher différents fournisseurs.

Et surtout, OpenCode propose une tonne de modèles chinois open-source à des tarifs ridicules : Qwen, DeepSeek, Kimi, GLM… Des modèles performants pour une fraction du prix des solutions propriétaires. Pour quelqu’un qui code beaucoup et veut maîtriser son budget, c’est un game-changer.

Sauf que, comme tout agent CLI, OpenCode exécute des commandes shell en boucle. Chaque sortie terminal prend de la place dans le contexte. Plus le contexte grossit, plus les réponses du modèle ralentissent… et plus ça coûte cher.

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

Installation sur un VPS Ubuntu

Préparer le système

Sur un VPS frais, commence par mettre à jour et installer les dépendances de base. Sans ça, Rust ne s’installera pas.

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

Installer Rust

Rust s’installe via rustup :

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source $HOME/.cargo/env

Pour que ça persiste après un redémarrage, ajoute cette ligne à ton ~/.bashrc :

source $HOME/.cargo/env

Installer RTK

RTK s’installe directement depuis GitHub :

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

Vérifie que tu as bien la dernière version (au moins la 0.29.0 pour OpenCode) :

rtk --version

Configurer RTK pour OpenCode

Tu peux l’initialiser globalement ou par projet.

Pour tout le système :

rtk init -g --opencode

Pour un projet spécifique :

rtk init --opencode

Cette commande configure un hook qui intercepte tes commandes Bash. Tu ne changes rien à ton workflow, RTK s’occupe de tout.

Vérifier que ça marche

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

rtk gain

Tu verras s’afficher un récap’ des tokens économisés. Les chiffres parlent d’eux-mêmes.

Bilan

RTK ne change pas ta façon de travailler, mais il transforme ce qui se passe sous le capot. Mes sessions OpenCode tiennent 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, pas sur du bruit.

C’est gratuit, open-source (licence MIT), et sans télémétrie activée par défaut. Si tu utilises OpenCode régulièrement, c’est un must-have.

Tu as testé RTK avec un autre agent ou sur un autre OS ? Balance ton retour en commentaires.