oh-my-pi: Terminal-Coding-Agent mit Rust-Kern, LSP und Debugger
AI-Coding-Agent für das Terminal, Hash-verankerte Bearbeitungen, optimierte Tool-Nutzung, LSP, Python, Browser, Subagenten und mehr.
Auf einen Blick
- Was ist das?
- Der Fork von Pi bündelt 31 Tools, Provider-Routing, Subagenten und Debugger-Anbindung in einer Terminal-Oberfläche. Wir sortieren, was das README konkret beschreibt und wo die Grenzen liegen.
- Für wen ist es gedacht?
- oh-my-pi passt für Entwickler, die im Terminal arbeiten und dem Agenten IDE-Wissen, Debugger-Zugriff und eigene Modelle mitgeben wollen, etwa über ~/.omp/agent/models.yml oder das Home-Manager-Modul. Weniger geeignet ist es, wer einen minimaleistischen Agenten ohne viele Werkzeuge sucht; dafür ist das Original Pi die schmalere Wahl.
- Darf ich es kommerziell nutzen?
- Ja. MIT ist eine freizügige Lizenz: Sie dürfen darauf aufbauende Software nutzen, verändern und verkaufen, solange Sie die Urheberrechts- und Lizenzhinweise beibehalten.
- Wird es noch gepflegt?
- Ja. Das Repository hat innerhalb des letzten Tages neue Commits erhalten.
- In welcher Sprache ist es geschrieben?
- Hauptsächlich TypeScript, laut der Sprachstatistik von GitHub.
Die Antworten beruhen auf den GitHub-Daten des Projekts (zuletzt abgeglichen am 15. September 2026) und auf unserer Analyse. Sie sind keine Rechtsberatung.
TIEFGEHENDE OPEN-SOURCE-ANALYSE
Warum oh-my-pi existiert: das Harness-Problem kleiner Modelle
Terminal-Coding-Agenten scheitern oft nicht am Modell, sondern am drumherum: Editierformate, die schwache Modelle überfordern, Datei-Ausgaben, die den Kontext fluten, und Suchschleifen, die Sekunden fressen. Genau hier setzt oh-my-pi an. Das Projekt von can1357 ist ein Fork von Mario Zehchners Pi (badlogic/pi-mono), der als coding-first Oberfläche neu gebaut wurde, laut README in TypeScript und Rust, ausgeführt auf Bun.
Die Kennzahlen aus dem README: über 60 Provider, 31 integrierte Tools, 14 LSP-Operationen, 28 DAP-Operationen und rund 80.000 Zeilen Rust-Kern. Das Repository steht unter der MIT-Lizenz, die Versionshistorie bewegt sich schnell, Anfang August 2026 erschienen innerhalb von zwei Tagen die Releases v18.0.8 bis v18.0.10.
omp installieren: von brew bis Home-Manager
Der klassische Weg auf macOS und Linux ist curl -fsSL https://omp.sh/install | sh, daneben gibt es brew install can1357/tap/omp sowie bun install -g @oh-my-pi/pi-coding-agent. Unter Nix lässt sich das Tool ohne Installation testen: nix run github:can1357/oh-my-pi. Für feste Versionen nennt das README mise use -g github:can1357/oh-my-pi, Windows-Nutzer greifen zum PowerShell-Skript install.ps1.
Eine echte Grenze steckt im Alpine-Fall: Das vorgebaute musl-Binary linkt libstdc++ und libgcc dynamisch, die eine blanke Alpine-Installation nicht mitbringt. Wer dort arbeitet, muss vorher apk add libstdc++ libgcc ausführen. Die Shell-Vervollständigung erzeugt omp aus den Live-CLI-Metadaten, per eval "$(omp completions zsh)" in die zsh einbinden; Modellnamen und Sessions werden dabei dynamisch aufgelöst.
Hash-Anker statt str_replace: die Editier-Mechanik von omp
Das README beschreibt read als Werkzeug, das Dateien zusammenfasst, statt sie komplett auszugeben, und edit als hashline-verankerte Bearbeitung, ergänzt um ast_edit für strukturelle Umschreibungen. Die dort aufgeführten Vergleiche sind Herstellerangaben: Grok Code Fast 1 soll bei einer Aufgabe von 6,7 auf 68,3 Prozent Erfolgsquote springen, sobald das Editierformat dem Modell nicht mehr das Ergebnis zerschießt; Grok 4 Fast soll 61 Prozent weniger Tokens ausgeben, weil die Retry-Schleife über kaputte Diffs entfällt. MiniMax verdopple die Quote auf 2,1-fach bei identischen Gewichten und identischem Prompt.
Diese Zahlen stammen aus dem Blogpost des Autors zum Harness-Problem und sind nicht unabhängig verifiziert. Sie zeigen trotzdem, worauf die Konstruktion abzielt: Der Harness, nicht das Modell, entscheidet über die Trefferquote. Wer eigene Modelle einsetzt, sollte die Quote am eigenen Code nachmessen, bevor er daraus eine Erwartung ableitet.
LSP und DAP: was die IDE weiß, weiß der Agent
Umbenennungen laufen laut README über workspace/willRenameFiles, sodass Re-Exports, Barrel-Dateien und aliase Imports mitziehen, bevor die Datei überhaupt verschoben wird. Die Konfiguration dafür liegt in docs/lsp-config.md im Repository. Damit unterscheidet sich der Alltag spürbar von Agenten, die Rename per Suche und Textersetzung faken.
Der zweite Pfad führt in echte Debugger: Stürzt ein C-Binary mit Segfault ab, hängt der Agent lldb an, springt zum defekten Pointer und liest den Frame. Ein hängender Go-Dienst wird per dlv analysiert, ein blockierter Python-Prozess über debugpy angehalten und inspiziert. 28 DAP-Operationen decken diesen Weg ab, die meisten Agenten konkurrieren hier noch mit Print-Ausgaben.
Subagents, task-Fan-out und der Agent Hub hinter Alt+A
Das task-Werkzeug verteilt Arbeit auf isolierte Worktrees, jeder Subagent bekommt eine eigene Tool-Oberfläche, und das Endergebnis ist ein schema-validiertes Objekt, das der Elternprozess direkt liest. Das README verspricht daraus keine Merge-Konflikte zwischen Geschwistern und keinen Prosa-Output, der erst geparst werden muss.
Mit Alt+A öffnet sich der Agent Hub: Die Liste zeigt Aktivität und Verbrauch jedes Subagents, ein Klick ins Live-Transkript erlaubt Steuerungsnachrichten, ein geparkter Worker lässt sich reaktivieren, ein hängender ohne Abbruch der Parentsitzung killen. Zusätzlich kann ein Advisor-Modell jede Runde des Hauptagenten lesen und Notizen inline einspeisen, mit eigenem Kontext und eigenem Modell. Dazu kommen zeitversetzte Stream-Regeln: Ein Regex-Treffer bricht den Stream mitten im Token ab, injiziert die Regel als System-Reminder und wiederholt ab derselben Stelle, die Injektion übersteht laut README auch die Kompaktierung des Kontexts.
Rollen-Routing und ~/.omp/agent/models.yml
Über 60 Provider sind laut README angebunden, von Frontier-APIs über Coding-Pläne bis zu lokalen Servern. Zehn Rollen wie default, smol, slow, plan und advisor verteilen die Arbeit nach Absicht, innerhalb der Sitzung wechselt /model das Modell, beim Start übernehmen --smol, --slow oder --plan. Eigene OpenAI-kompatible Endpunkte landen in ~/.omp/agent/models.yml, dort lassen sich Fallback-Ketten, pfadbezogene Modellsätze und Round-Robin über mehrere Credentials deklarieren.
Das web_search-Werkzeug verkettet 23 Provider und wandelt Seiten von Code-Hosts, Paketregistern und Dokumentationen in strukturiertes Markdown. Die Erweiterungs-Schnittstelle besteht aus TypeScript-Modulen, die dieselbe Tool-API und Slash-Command-Registry nutzen wie die eingebauten Werkzeuge; beim ersten Start importiert der Agent Regeln und MCP-Server aus vorhandenen Verzeichnissen wie .claude, .cursor oder .windsurf.
Grenzen von oh-my-pi und die Alternative Pi
Ehrlicherweise gehört auf die Negativseite: Die Editier- und Token-Zahlen sind Selbstauskünfte des Autors, die Issue-Liste auf GitHub weist rund 1.900 offene Punkte auf, und die schnelle Release-Folge bei Version v18.0.10 bedeutet auch, dass sich Verhalten zwischen Updates ändern kann. Die Beitrittsregel für Pull Requests wurde gerade als Probe ohne Vouch-System geöffnet, was auf eine Phase der Neuausrichtung hindeutet.
Als Alternative bietet sich das Original Pi von Mario Zechner an, von dem dieser Fork abstammt. Pi ist bewusst schmaler gehalten, liefert weniger eingebauten Komfort und ist damit leichter zu überblicken; wer LSP, DAP, Subagenten und Rollen-Routing als Paket will, fährt mit omp anders als mit Pi auf die vollständige Ausstattung. Beide stehen unter MIT, ein Ausweichen kostet also keine Lizenzhürde.
Redaktionelles Fazit
oh-my-pi passt für Entwickler, die im Terminal arbeiten und dem Agenten IDE-Wissen, Debugger-Zugriff und eigene Modelle mitgeben wollen, etwa über ~/.omp/agent/models.yml oder das Home-Manager-Modul. Weniger geeignet ist es, wer einen minimaleistischen Agenten ohne viele Werkzeuge sucht; dafür ist das Original Pi die schmalere Wahl. Vor dem Einsatz sollte man mit dem eigenen Modellschlüssel eine reale Aufgabe in omp laufen lassen, die Editier-Trefferquote am eigenen Code prüfen und in der Issue-Liste des Repositories nach offenen Problemen der eigenen Plattform suchen.
Community-Notizen