TL;DR: RTK ist ein in Rust geschriebenes CLI-Proxy-Tool. Es filtert und komprimiert automatisch die Ausgabe, wenn LLM-Programmierungstools wie Claude Code, Cursor oder Gemini CLI Befehle ausführen. Das reduziert den Token-Verbrauch um 60-90%. Einzige Binärdatei, null Abhängigkeiten, 100+ Befehle unterstützt – Installation mit einem einzigen Befehl.
Wer täglich mit AI-Programmierungsassistenten wie Claude Code, Cursor oder Gemini CLI arbeitet, kennt das Problem: Jedes Mal, wenn der Assistent git status, ls, cat oder cargo test ausführt, landet die komplette Rohausgabe im LLM-Kontextfenster. Token für Token.
Eine 30-minütige Coding-Session verbraucht etwa 118.000 Token. Davon sind 94.100 redundante Informationen.
Genau hier setzt RTK an. Es ist in Rust geschrieben, winzig klein (einzelne Binärdatei, keine Abhängigkeiten), und fängt Ausgaben auf dem Weg ab. Es filtert intelligent Lärm heraus und behält nur das Wichtige. Eine 30-minütige Session sinkt von 118.000 auf rund 23.900 Token – 80% Ersparnis.
Was ist RTK?
RTK steht für „Rust Token Killer" und ist eine CLI-Proxy-Schicht zwischen dir und dem LLM. Es ist kein LLM, kein IDE-Plugin, sondern ein cleverer „Vermittler" in der Mitte.
Ohne RTK: Mit RTK:
Claude --git status--> Shell --> git Claude --git status--> RTK --> git
^ | ^ | |
| ~2.000 Token (Rohausgabe) | | ~200 Token | Intelligent|
+-----------------------------------+ +--- (komprimierte Ausgabe) -------+
Wenn AI-Tools Befehle ausführen, macht RTK Folgendes:
- Intelligentes Filtern – Entfernt Kommentare, Leerzeichen, standardisierte Texte
- Intelligentes Gruppieren – Bündelt ähnliche Einträge nach Verzeichnis/Typ (Dateien nach Verzeichnis, Fehler nach Kategorie)
- Intelligentes Kürzen – Behält wichtigen Kontext, schneidet Überflüssiges ab
- Deduplizieren – Fügt wiederholte Log-Zeilen mit Zähler zusammen
Projektübersicht:
| Eigenschaft | Wert |
|---|---|
| GitHub | rtk-ai/rtk |
| Sprache | Rust |
| Lizenz | Apache 2.0 |
| Stars | 68.000+ |
| Aktuellste Version | 0.28.2 |
| Abhängigkeiten | Keine (einzelne statische Binärdatei) |
RTK installieren
Die Installation ist simpel. RTK braucht keine Laufzeitumgebung – es ist eine eigenständige Binärdatei.
macOS / Linux
Empfohlen: Homebrew
brew install rtk
Schnelles Installationsskript:
curl -fsSL https://raw.githubusercontent.com/rtk-ai/rtk/refs/heads/master/install.sh | sh
Installiert nach
~/.local/bin. Stelle sicher, dass dieser Pfad in PATH liegt:bash echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc source ~/.bashrc
Über Cargo installieren:
cargo install --git https://github.com/rtk-ai/rtk
Windows
Lade rtk-x86-64-pc-windows-msvc.zip von GitHub Releases herunter. Entpacke die Datei und lege rtk.exe in ein Verzeichnis, das in PATH liegt (z. B. C:\Users\<Du>\.local\bin).
⚠️ Nicht per Doppelklick starten. RTK muss in der Kommandozeile (PowerShell/CMD/Windows Terminal) ausgeführt werden.
Installation überprüfen
rtk --version # Sollte „rtk 0.28.2" anzeigen
rtk gain # Sollte Token-Ersparnis-Statistik anzeigen
Namenskonflikt-Warnung: Auf crates.io gibt es ebenfalls ein Projekt namens „rtk" (Rust Type Kit). Wenn
rtk gainfehlschlägt, hast du wahrscheinlich das falsche Paket installiert. Nutze in diesem Fall diecargo install --git-Methode von oben.
Schnellstart: In 3 Minuten mit deinem AI-Tool verbinden
Nach der Installation brauchst du nur einen Schritt, um RTK für dein AI-Programmierungstool zu aktivieren:
# Claude Code / Copilot (Standard)
rtk init -g
# Gemini CLI
rtk init -g --gemini
# Codex (OpenAI)
rtk init -g --codex
# Cursor
rtk init -g --agent cursor
# Windsurf
rtk init -g --agent windsurf
# Cline / Roo Code
rtk init --agent cline
# Kilo Code
rtk init --agent kilocode
# Google Antigravity
rtk init --agent antigravity
Was macht der Parameter -g (oder --global)? Er schreibt die Konfigurationsdatei deines AI-Tools automatisch um und ersetzt alle gängigen Befehle (z. B. git status) durch rtk git status. Starte dein AI-Tool neu, und es läuft.
# Nach Neustart von Claude Code testen
git status # Wird automatisch zu rtk git status umgeschrieben
⚠️ Der Hook funktioniert nur bei Bash-Tool-Aufrufen. Die eingebauten Tools von Claude Code (wie
Read,Grep,Glob) laufen nicht über den Bash-Hook und werden daher nicht automatisch umgeschrieben. Wenn du auch in diesen Szenarien komprimierte Ausgabe willst, nutze direkt Shell-Befehle (cat/rg/find) oder rufertk read,rtk grep,rtk findmanuell auf.
Von RTK unterstützte Befehle – Überblick
RTK unterstützt die Komprimierung von über 100 Befehlen. Das deckt Dateioptationen, Git, Tests, Builds, Paketmanager, Cloud-Services und mehr ab.
Dateioperationen
rtk ls . # Intelligente Verzeichnisstruktur (Token -80%)
rtk read file.rs # Intelligentes Dateilesen
rtk read file.rs -l aggressive # Nur Funktionssignaturen (Funktionskörper entfernt)
rtk smart file.rs # 2-Zeilen heuristische Code-Zusammenfassung
rtk find "*.rs" . # Komprimiertes find-Ergebnis
rtk grep "pattern" . # Gruppierte Suchergebnisse
rtk diff file1 file2 # Komprimiertes Diff (Exit-Code 1 bei Unterschieden)
Git-Operationen
rtk git status # Kompakter Status
rtk git log -n 10 # Einzeilige Commits
rtk git diff # Komprimiertes Diff
rtk git add # → „ok"
rtk git commit -m "msg" # → „ok abc1234"
rtk git push # → „ok main"
rtk git pull # → „ok 3 Dateien +10 -2"
Der git push-Vergleich ist beeindruckend:
# git push (15 Zeilen, ~200 Token) # rtk git push (1 Zeile, ~10 Token)
Enumerating objects: 5, done. ok main
Counting objects: 100% (5/5), done.
Delta compression using up to 8 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 456 bytes | 456.00 KiB/s, done.
...
Von 15 Zeilen auf 1 Zeile – Token-Reduktion um 95%.
Test-Runner
rtk pytest # Python-Tests (-90%)
rtk cargo test # Rust-Tests (-90%)
rtk go test # Go-Tests (NDJSON, -90%)
rtk jest # Jest kompakte Ausgabe
rtk vitest # Vitest kompakte Ausgabe
rtk playwright test # E2E-Testergebnisse (nur Fehler)
rtk err <cmd> # Fehler aus beliebigem Befehl extrahieren
rtk test <cmd> # Generischer Test-Wrapper – nur Fehler (-90%)
Build & Lint
rtk tsc # TypeScript-Fehler nach Datei gruppiert
rtk cargo build # Cargo-Build (-80%)
rtk cargo clippy # Cargo clippy (-80%)
rtk ruff check # Python-Linting (JSON, -80%)
rtk golangci-lint run # Go-Linting (JSON, -85%)
rtk next build # Next.js-Build komprimiert
rtk prettier --check . # Dateien, die Formatierung benötigen
Docker & Container
rtk docker ps # Kompakte Container-Liste
rtk docker images # Kompakte Image-Liste
rtk docker logs <container> # Deduplizierte Logs
rtk kubectl pods # Kompakte Pod-Liste
rtk kubectl logs <pod> # Deduplizierte Logs
AWS CLI
rtk aws sts get-caller-identity # Einzeilige Identität
rtk aws ec2 describe-instances # Kompakte Instanzliste
rtk aws lambda list-functions # Name/Laufzeit/Speicher (ohne Secrets)
rtk aws s3 ls # Gekürzte Liste + tee-Wiederherstellung
rtk aws dynamodb scan # Entfaltete Typannotationen
Datenanalyse
rtk json config.json # Strukturanzeige (ohne Werte)
rtk deps # Abhängigkeitszusammenfassung
rtk env -f AWS # Umgebungsvariablen filtern
rtk log app.log # Deduplizierte Logs
rtk summary <langer Befehl> # Heuristische Zusammenfassung
Token-Ersparnis-Analyse: Wie gut funktioniert RTK bei dir?
RTK bietet detaillierte Statistikfunktionen, damit du immer siehst, wie viel du sparst:
rtk gain # Zusammenfassungsstatistik
rtk gain --graph # ASCII-Diagramm (letzte 30 Tage)
rtk gain --history # Verlauf der letzten Befehle
rtk gain --daily # Tägliche Aufschlüsselung
rtk gain --all --format json # JSON-Export (für Dashboards)
rtk discover # Ungenutzte Einsparpotenziale entdecken
rtk discover --all --since 7 # Alle Projekte, letzte 7 Tage
rtk session # RTK-Adoptionsrate der letzten Sessions anzeigen
Globale Parameter
-u, --ultra-compact # ASCII-Icons + Inline-Format (zusätzliche Token-Ersparnis)
-v, --verbose # Mehr Details (-v, -vv, -vvv)
Praxis: Ein Arbeitstag mit RTK + Claude Code
Stell dir vor, du bist Vollzeit-Entwickler an einem Rust-Projekt. So könnte dein Tag aussehen:
Vormittag: Code-Review
# Heutige Commits ansehen
git log --oneline --since="today" # rtk komprimiert zu einzeiligen Commit-Zusammenfassungen
# PR-Liste prüfen
gh pr list # rtk gibt kompakte PR-Tabelle aus
# Details eines PRs ansehen
gh pr view 42 # rtk gibt PR-Details + Status aus
Vormittag: Feature-Entwicklung
# Projektstruktur ansehen
ls -la # rtk-Verzeichnisstruktur (~150 Token vs. ~800)
# Kerndatei ansehen
read src/main.rs # rtk intelligentes Lesen (Signaturen + Schlüssellogik)
# Tests ausführen
cargo test # rtk nur fehlgeschlagene Tests (-90%)
# Commit & Push
git commit -m "feat: add auth" # rtk → „ok abc1234"
git push # rtk → „ok main"
Nachmittag: CI-Debugging
# CI-Ergebnisse ansehen
gh run list # rtk kompakte Workflow-Status
# Fehlschlag untersuchen
docker ps # rtk kompakte Container-Liste
docker logs my-container # rtk deduplizierte Logs
# Nach Fix erneut testen
rtk test pytest # Generischer Test-Wrapper, nur Fehler anzeigen
Was wurde am Ende des Tages eingespart?
| Szenario | Roh-Token | RTK-Token | Ersparnis |
|---|---|---|---|
| Verzeichnis-/Dateibrowsen | 50.000 | 10.000 | -80% |
| Git-Operationen | 18.100 | 3.700 | -80% |
| Testausführungen | 41.000 | 4.100 | -90% |
| Build/Lint | 18.000 | 3.600 | -80% |
| Sonstiges | 10.000 | 2.000 | -80% |
| Gesamt | 137.100 | 23.400 | -83% |
Bei Claude 3.5 Sonnet mit 10 $ pro Million Token sparst du pro Tag etwa ~1,14 $. Bei 20 Arbeitstagen im Monat sind das ~22,8 $ – nicht viel? Aber wie sieht es im Team mit 10 Leuten aus? 228 $ pro Monat, 2.736 $ pro Jahr.
Bei teureren Modellen wie Claude Opus sind die Einsparungen noch deutlicher.
Architektur-Prinzipien
RTKs Designphilosophie ist denkbar simpel: Nicht das tun, was das LLM selbst kann. Sondern nur das weglassen, was das LLM nicht sehen muss.
// Pseudocode: RTKs Kern-Verarbeitungsablauf
fn process_command(cmd: &str, output: &str) -> String {
match cmd_type(cmd) {
CmdType::GitStatus => compact_git_status(output),
CmdType::TestRunner => failures_only(output),
CmdType::FileList => group_by_dir(output),
CmdType::Logs => deduplicate(output),
CmdType::Build => errors_only(output),
_ => heuristic_summary(output),
}
}
RTK wendet je nach Befehlstyp eine andere Komprimierungsstrategie an:
git status: Nur eine kurze Liste geänderter Dateien, ohne detaillierte staged/unstaged-Erklärungencargo test: Nur fehlgeschlagene Tests, bestandene Tests in einer Statistik-Zeile zusammengefasstls/find: Nach Verzeichnis gruppiert, nur Dateinamen, ohne Berechtigungen/Größe/Datumdocker logs: Doppelte Zeilen entfernt, gleiche Log-Zeile mit Erstvorkommen + Zähleraws describe-*: Metadaten entfernt, nur Schlüsseleigenschaften (Sensible Daten werden automatisch gefiltert)
Die kompilierte RTK-Binärdatei ist nur wenige MB groß. Start-Overhead unter 10 ms – praktisch null spürbar.
Anwendungsfälle & Einschränkungen
✅ Ideal für
- Intensive AI-Programmierungsassistent-Nutzer: 4+ Stunden täglich mit Claude Code, Cursor, Gemini CLI
- Mehrsprachige Projekte: Rust/Go/Python/TypeScript gemischt, alle Test-Runner abgedeckt
- Teamzusammenarbeit: Einheitliches Token-Budget, niedrigere LLM-Aufrufkosten in CI/CD
- Cloud-Einsatz: AI-Tools in CI-Pipelines (token-basierte Abrechnung)
⚠️ Zu beachten
- Hook deckt nur Bash-Aufrufe ab: Eingebaute Tools von Claude Code laufen nicht über RTK
- Zu starke Komprimierung kann Kontext verlieren: Bei komplexem Debugging vielleicht
--verbosefür vollständige Ausgabe nutzen - Umgewöhnung nötig: Wenn die Ausgabe kürzer wird, musst du eventuell deine Fragen an das AI-Tool anpassen
Fazit
RTK ist eines der praktischsten und effektivsten AI-Programmierhilfen, die ich je gesehen habe. Kein Hype, keine schicke UI – einfach eine stille Rust-Binärdatei, die dir täglich Token spart, Kosten senkt und schneller macht.
30 Sekunden Installation, dauerhafter Nutzen. Das ist Open-Source-Geist: Mit minimalem Code die echten Schmerzpunkte lösen.
Schnellstart:
brew install rtk # macOS
rtk init -g # Claude Code-Integration aktivieren
# Claude Code neu starten und Token-Ersparnis genießen
Wenn dein AI-Programmierungstool täglich Dutzende oder Hunderte Befehle ausführt, ist RTK definitiv einen Versuch wert. Über 68.000 GitHub Stars sprechen für sich – jetzt bist du dran.
Weiterführende Links:
- GitHub: rtk-ai/rtk
- Webseite: rtk-ai.app
- Discord: Community
- Architekturdokumentation: ARCHITECTURE.md