bailout: ein winziger Coding-Agent zum Nutzen und Löschen
Das GitHub-Projekt bailout nennt sich ein Harness, das zum Löschen gedacht ist. Ein curl-Befehl installiert eine native Binärdatei von rund 0,6 MB, ohne Konto, lokalen API-Schlüssel, Git, Node oder Python. Es richtet frische Rechner ein oder repariert defekte Agent-Konfigurationen, danach entfernt bailout uninstall es.
Was bailout ist
bailout ist ein quelloffenes Kommandozeilenwerkzeug auf GitHub (Repository storozhenko98/bailout). Die README beschreibt es als „das Harness, das zum Löschen gedacht ist“. Die Idee ist einfach. Sie sitzen vor einer frischen virtuellen Maschine oder einem neuen Mac, ohne GitHub CLI, ohne konfigurierten Coding-Agenten und ohne API-Schlüssel. Oder Ihr üblicher Agent ist kaputt, und Sie brauchen einen funktionierenden, um ihn zu reparieren. bailout liefert mit einem einzigen Befehl ein kleines, unabhängiges Harness. Sie nutzen es, um die Maschine aufzusetzen oder Ihre Einrichtung zu reparieren, kehren zu Ihren gewohnten Werkzeugen zurück und löschen es danach.
Die Installation besteht aus zwei Zeilen: `curl -fsSL https://bailout.dev/install.sh | bash`, dann `bailout`. Laut README brauchen Sie kein Konto, keinen lokalen API-Schlüssel, kein Git, kein Node, kein Python und keinen vorhandenen Agenten. Genannt werden macOS auf Apple Silicon, x64-Linux und ARM64-Linux. Bash, curl, Internetzugang und die üblichen Basiswerkzeuge, darunter tar und ein SHA-256-Programm, bringen Sie selbst mit.
Die wichtigsten Fakten aus der README
Die README nennt drei Situationen. Die erste ist der saubere Neustart: Sie starten eine EC2-Instanz, eine GCP-VM oder einen neuen Mac und lassen bailout die Maschine untersuchen, fehlende Werkzeuge installieren, beim GitHub-Login helfen, Ihr Repository klonen und Codex, Claude Code, Pi oder OpenCode startklar machen. Die zweite ist die kaputte Einrichtung: Eine Konfiguration ist fehlerhaft, eine Laufzeitumgebung wurde verschoben oder ein Update hat etwas zerstört. Dann prüft bailout, was sich geändert hat, sichert die Konfiguration, repariert sie und verifiziert, dass Ihr Hauptwerkzeug funktioniert. Die dritte ist der schnelle Ausstieg. Das nützliche Ergebnis ist, dass Ihre gewohnte Umgebung wieder läuft. Deshalb hat bailout keinen Daemon, keine Kontoeinrichtung, keinen dauerhaften Gesprächsspeicher und kein Projektgerüst. Die Größe ist ein Verkaufsargument. Die README nennt eine einzelne native Binärdatei von 638,6 KB auf Apple Silicon in Version v0.7.3 und sagt, dass jede Veröffentlichung unter 6.000.000 Bytes bleibt. Die Tabelle der v0.7.3-Dateien führt 638.592 Bytes für macOS ARM64, 844.576 Bytes für Linux x64 und 790.784 Bytes für Linux ARM64 auf. Die .tar.gz-Downloads sind kleiner: 318.119, 417.262 und 397.031 Bytes. Die Linux-Versionen sind statisch mit musl gelinkt. Das Projekt hat nur drei direkte Rust-Abhängigkeiten: `serde_json`, `libc` und `rustyline`. Das System-curl übernimmt TLS, und Bash erledigt alles, was das Modell tut. Bash ist das einzige Werkzeug des Modells. Befehle laufen automatisch mit den Rechten Ihres Kontos, einschließlich Dateiänderungen, Paketinstallationen und Netzwerkzugriff. Die README sagt deutlich, dass dies keine Sandbox ist. Der Agent soll zuerst prüfen, funktionierende Einrichtung erhalten, Konfigurationen vor der Reparatur sichern und das Ergebnis verifizieren. In einer Sitzung gibt es wenige Befehle: `/shell` öffnet eine lokale Bash, `/last` klappt die Ausgabe des letzten Befehls auf, `/new` startet ein neues Gespräch, `/help` und `/exit` bieten Hilfe und Beenden. Jeder Bash-Aufruf startet eine frische Shell, der Shell-Zustand bleibt also nicht erhalten. Gewöhnliche Befehle laufen nach zwei Minuten ab, interaktive nach zehn, und Modelle können bis zu dreißig anfordern. Das Standardlimit liegt bei 50 Modellschritten.
Die Anmeldung bleibt bei Ihnen. bailout bringt eigene kostenlose Inferenz mit, doch die eingerichteten Werkzeuge nutzen Ihre eigenen Konten und Zugangsdaten. Für Anmeldung, sudo oder Schlüsseleingabe kann das Bash-Werkzeug Ihnen mit `interactive: true` das echte Terminal übergeben. Ein- und Ausgabe dieses Befehls werden nicht für das Modell erfasst, nur der Exit-Status kommt zurück. Danach entfernt `bailout uninstall` ausschließlich die laufende bailout-Binärdatei. Installierte Werkzeuge, geklonte Repositories und reparierte Konfigurationen bleiben bestehen.
Wie die kostenlose Inferenz funktioniert
Den größten Teil der README nimmt eine Behauptung ein: „Kostenlos heißt null“. Ein gehosteter FastAPI-Dienst auf Cloudflare Python Workers hält die Anbieterschlüssel, der Client erhält sie nie. Bei jeder Modellanfrage holt der OpenRouter-Adapter einen frischen Katalog und verlangt ein ausdrücklich als `:free` markiertes Modell mit nativer Werkzeugunterstützung und dem Preis null in jedem Preisfeld. Er prüft, dass die Endpunkte null kosten und über 30 Minuten mindestens 95 % gemeldete Verfügbarkeit haben. Die Anfrage geht nur an die verifizierten Endpunkte, mit `allow_fallbacks: false` und einem harten `max_price` von null. Beliebige Routing-Überschreibungen, Anbieterschlüssel, Plugins, multimodale Inhalte und jedes Werkzeug außer Bash werden abgelehnt. Die README erklärt, es gebe keinen bezahlten Inferenz-Fallback, räumt aber ein, dass die App darauf angewiesen ist, dass OpenRouter seine veröffentlichten Preise und seinen Routing-Vertrag einhält.
Ein Modell gelangt erst in den Produktivbetrieb, wenn es den projekteigenen Benchmark für Einrichtung und Reparatur besteht: mindestens 80 % Erfolg in einem vollständigen Lauf mit zehn Aufgaben, native Bash-Aufrufe und keine kritischen Fehler. Adapter gibt es außerdem für Groq, Mistral, Z.AI und Vercel AI Gateway, jeweils mit eigenen Regeln für die Berechtigung zum kostenlosen Angebot. Das öffentliche Gateway begrenzt jede IP auf 60 Anfragen pro Minute, 600 pro Stunde und 2.000 pro Tag, dazu kommt ein global geteiltes Kontingent. Die README nennt die freie Kapazität geteilt und „best effort“.
Unsere Einschätzung
Das Design kehrt die Logik üblicher Agentenprodukte bewusst um. Die meisten Coding-Agenten wollen Ihr Alltagswerkzeug werden. bailout will das Werkzeug sein, nach dem Sie greifen, wenn das Alltagswerkzeug fehlt oder kaputt ist. Das ist ein echtes Henne-Ei-Problem: Um einen Agenten zu reparieren, braucht man einen Agenten. Eine Binärdatei unter einem Megabyte, kein Konto und gehostete kostenlose Inferenz entfernen Voraussetzungen, die eine kaputte Maschine nicht erfüllen kann. Unsere Lesart: Die geringe Größe ist keine Eitelkeit. Sie dient dem Versprechen „danach löschen“, denn ein kleines Artefakt ist leicht zu prüfen, zu laden und zu verwerfen.
Der Preis ist Vertrauen. Weil die Inferenz gehostet ist, gehen laut README Prompts, vom Modell gewählte Dateiinhalte und erfasste Bash-Ausgaben über den gehosteten Worker an den ausgewählten Anbieter. Die README hält fest, dass kostenlos nicht „keine Datenspeicherung“ bedeutet und die Datenrichtlinien der Anbieter gelten. Der Worker speichert keine Gespräche und protokolliert keine Anfragetexte, das Gateway behält aber kurzlebige tägliche IP-Hashes, Kontingentreservierungen und Abkühlzeiten. Außerdem warnt die README davor, Zugangsdaten in den Chat zu kopieren oder den Agenten geheime Dateien ausgeben zu lassen.
Risiken und offene Fragen
Drei Grenzen fallen auf. Erstens sagt die README selbst, dass Befehle automatisch laufen und dies keine Sandbox ist. Ein Fehler des Modells kann also eine echte Maschine verändern. Zweitens leitet die Installation ein Skript aus dem Netz in Bash.
Die README beschreibt Prüfsummenkontrolle, atomare Installation, Größenprüfung und den Verzicht auf sudo, doch Sie müssen dem Projekt und seiner Domain trotzdem vertrauen. Drittens sucht seit v0.4.0 jeder Start nach einer neueren stabilen Version und aktualisiert sich selbst, sofern Sie nicht `BAILOUT_NO_UPDATE=1` setzen. Das ist bequem, bedeutet aber, dass sich die Binärdatei zwischen zwei Läufen ändern kann. Wir haben nur die README gelesen und das Werkzeug nicht ausgeführt. Alle Aussagen zu Verhalten und Benchmarks stammen vom Autor.
Praktische Hinweise
Wer Wegwerf-Cloudmaschinen verwaltet, sollte bailout als Bootstrap-Schritt ansehen. Beginnen Sie mit einer engen Aufgabe, etwa dem README-Beispiel eines Werkzeugs, das nach einer Konfigurationsänderung nicht mehr startet.
Nutzen Sie `/shell` oder die interaktive Übergabe für Anmeldungen und tippen Sie nie Geheimnisse in den Chat. Lesen Sie den Abschnitt zum Datenschutz, bevor Sie Sensibles senden, und führen Sie nach getaner Arbeit `bailout uninstall` aus. Brauchen Sie ein eigenes Kontingent, erklärt die README, wie Sie mit `BAILOUT_API_URL` einen eigenen Router betreiben: Die Python-API benötigt Cloudflare Workers Paid, alternativ einen eigenen Server mit Uvicorn.
Sources
FAQ
Was braucht bailout auf dem Rechner?
Laut README kein Konto, keinen lokalen API-Schlüssel, kein Git, Node, Python und keinen vorhandenen Agenten. Nötig sind Bash, curl, Internet und Basiswerkzeuge wie tar und ein SHA-256-Programm, unter macOS auf Apple Silicon, x64-Linux oder ARM64-Linux.
Ist bailout eine Sandbox?
Nein. Die README stellt klar, dass Bash das einzige Werkzeug des Modells ist, Befehle automatisch mit Ihren Rechten laufen und dies keine Sandbox ist. Der Agent soll lediglich zuerst prüfen, sichern und das Ergebnis verifizieren.
Was entfernt bailout uninstall?
Nur die laufende bailout-Binärdatei. Installierte Werkzeuge, geklonte Repositories und reparierte Konfigurationen bleiben erhalten, und derselbe curl-Befehl installiert bailout bei Bedarf erneut.