12 Punkte von GN⁺ 2026-02-25 | 2 Kommentare | Auf WhatsApp teilen
  • Pi ist ein terminalbasiertes minimales Coding-Agent-System und bietet eine erweiterbare Struktur, die sich an den Workflow der Nutzer anpassen lässt
  • Durch die Kombination aus TypeScript-Erweiterungen, Skills, Prompt-Templates und Themes lässt sich eine eigene Entwicklungsumgebung zusammenstellen und als npm- oder git-Paket teilen
  • Unterstützt mehr als 15 AI-Anbieter und Hunderte Modelle; auch während einer Sitzung kann das Modell gewechselt oder ein benutzerdefiniertes Modell hinzugefügt werden
  • Sitzungen werden als baumförmige Historie gespeichert, sodass man zu früheren Punkten zurückkehren oder nach HTML bzw. als GitHub Gist exportieren kann
  • Mit auf das Nötigste reduzierten Kernfunktionen und einer auf Erweiterbarkeit ausgerichteten Designphilosophie können Entwickler nur die Funktionen selbst implementieren oder als Paket hinzufügen, die sie wirklich brauchen

Überblick über Pi

  • Pi ist ein Terminal-Coding-Harness mit einer Struktur, in der Nutzer Tools anpassen können, ohne ihren Workflow zu ändern
    • Unterstützt als erweiterbare Bausteine TypeScript-Erweiterungen, Skills, Prompt-Templates und Themes
    • Als Pi-Paket gebündelt lassen sich diese über npm oder git installieren und teilen
  • Die Standardkonfiguration ist leistungsfähig, enthält aber keine Funktionen wie Sub-Agents oder Plan-Modus
  • Bietet vier Modi (interaktiv, Print/JSON, RPC, SDK); ein reales Integrationsbeispiel ist in clawdbot zu sehen

Modelle und Anbieter

  • Unterstützt mehr als 15 Anbieter und Hunderte Modelle, darunter Anthropic, OpenAI, Google, Azure, Bedrock, Mistral, Groq, Cerebras, xAI, Hugging Face, Kimi, MiniMax, OpenRouter, Ollama
  • Authentifizierung per API-Key oder OAuth
  • Modellwechsel während der Sitzung über den Befehl /model oder Ctrl+L, Durchschalten favorisierter Modelle mit Ctrl+P
  • Benutzerdefinierte Modelle können über models.json oder Erweiterungen hinzugefügt werden

Sitzungsverwaltung

  • Sitzungen werden in einer Baumstruktur gespeichert; mit dem Befehl /tree kann zu früheren Punkten zurückgesprungen werden
  • Alle Verzweigungen werden in einer einzigen Datei gespeichert; unterstützt werden Filter für Nachrichtentypen und Bookmark-Labels
  • Mit /export ist ein HTML-Export möglich, mit /share das Hochladen als GitHub Gist und das Erzeugen einer Freigabe-URL

Context Engineering

  • Mit minimalen System-Prompts und Erweiterbarkeit lässt sich das Kontextfenster fein steuern
    • AGENTS.md: lädt Projektanweisungen beim Start automatisch
    • SYSTEM.md: ersetzt oder ergänzt den standardmäßigen System-Prompt pro Projekt
    • Compaction: fasst frühere Nachrichten automatisch zusammen, wenn das Kontextlimit erreicht ist; über Erweiterungen sind themenbasierte Zusammenfassungen oder codebewusste Zusammenfassungen möglich
    • Skills: bei Bedarf geladene Funktionspakete, die den Prompt-Cache erhalten und Funktionen schrittweise bereitstellen
    • Prompt templates: erweiterbare wiederverwendbare Prompts über den Befehl /name
    • Dynamic context: über Erweiterungen lassen sich Nachrichten einfügen, Historien filtern, RAG implementieren und Langzeitgedächtnis aufbauen

Message Queueing

  • Nachrichten können auch dann eingereicht werden, wenn der Agent bereits arbeitet
    • Enter: eine Steering-Nachricht, die nach der aktuellen Tool-Ausführung übermittelt wird
    • Alt+Enter: eine Follow-up-Nachricht, die nach Abschluss der Aufgabe übermittelt wird

Erweiterungsstruktur

  • Pi ist nicht um Funktionen, sondern um Primitives herum entworfen, sodass Nutzer Funktionen selbst implementieren können
    • Erweiterungen liegen als TypeScript-Module vor und haben Zugriff auf Tools, Befehle, Shortcuts, Events und die vollständige TUI
    • Beispielerweiterungen: Sub-Agents, Plan-Modus, Permission Gates, Pfadschutz, SSH-Ausführung, Sandboxing, MCP-Integration, benutzerdefinierte Editoren, Overlays usw.
    • Wie das Beispiel „Yes, Doom runs.“ zeigt, gibt es sogar eine Game-Overlay-Erweiterung
  • Wer nicht selbst implementieren möchte, kann Funktionen durch die Installation von Pi-Paketen hinzufügen
  • Mehr als 50 Erweiterungsbeispiele sind auf GitHub veröffentlicht

Paketverwaltung

  • Erweiterungen, Skills, Prompts und Themes können als Pakete gebündelt und über npm oder git installiert werden
    • Beispiele:
      $ pi install npm:@foo/pi-tools  
      $ pi install git:github.com/badlogic/pi-doom  
      
    • Versionen können fixiert werden (@1.2.3 oder @tag), mit pi update wird alles aktualisiert, mit pi list die Liste angezeigt und mit pi config konfiguriert
    • Mit dem Befehl pi -e ist Testen ohne Installation möglich
  • Über den npm-Suchbegriff pi-package oder den Discord-Kanal lassen sich Pakete finden und teilen

Integrationsmodi

  • Interactive: vollständige TUI-Umgebung
  • Print/JSON: pi -p "query" für Skripte, --mode json für Event-Streams
  • RPC: unterstützt Integration in Nicht-Node-Umgebungen über ein stdin/stdout-basiertes JSON-Protokoll
  • SDK: kann in Anwendungen eingebettet werden; ein reales Anwendungsbeispiel gibt es in clawdbot

Designphilosophie

  • Pi ist darauf ausgelegt, die Erweiterbarkeit zu maximieren, den Kern minimal zu halten und Nutzern die Definition ihres Workflows selbst zu überlassen
    • Funktionen wie MCP, Sub-Agents, Permission-Pop-ups, Plan-Modus, integrierte TODOs, Hintergrund-bash sind nicht enthalten
    • Stattdessen lassen sich dieselben Funktionen über Erweiterungen, Skills und Pakete umsetzen oder mit externen Tools koppeln
    • Unterstützt parallele Ausführung und Beobachtung über tmux
  • Dieser Ansatz ermöglicht eine nutzergetriebene Zusammenstellung der Entwicklungsumgebung
  • Die vollständige Philosophie wird in einem zugehörigen Blogpost weiter erläutert

2 Kommentare

 
qodot 2026-02-26

Ich mag pi wirklich sehr.

 
GN⁺ 2026-02-25
Hacker-News-Kommentare
  • Für mich sind Pi und das „claw“-Phänomen deshalb interessant, weil sie die Zukunft von Open Source zeigen
    Statt Feature-Requests oder PRs einzureichen, lädt man sich heute Skill-Dateien herunter, die einem Coding-Agenten erklären, wie er neue Funktionen hinzufügen soll
    Software ist kein festes Endprodukt mehr, sondern ein für jeden Nutzer anderes lebendiges Werkzeug
    Ich bin gespannt, welche Art von Tooling aus diesem neuen Kollaborationsparadigma entsteht

    • Ich sehe denselben Trend
      Heutige Software gibt dem Nutzer oft das Gefühl der Entfremdung, weil er seine Umgebung nicht kontrollieren kann
      Personalisierte, günstige und flexible Software kann dagegen ein echtes Gefühl von Eigentümerschaft vermitteln
      Früher bot der Linux-Desktop diese Freiheit, jetzt könnten vielleicht alle davon profitieren
      Ich bin bei dieser Zukunft optimistisch
    • Ich denke in letzter Zeit auch viel darüber nach
      Künftig wird es wohl immer mehr extrem personalisierte Software geben — bis zu einem Punkt, an dem nur eine bestimmte Person oder eine kleine Gruppe sie überhaupt versteht
      Ich habe mit Claude zuletzt viele Tools gebaut, die nur ich und ein paar andere benutzen
      Zum Beispiel eine DnD-Termin-App, einen spoilerfreien Formula-E-News-Checker und eine Abstimmungsseite für eine Klettergenossenschaft
      Früher hätte es keinen Grund gegeben, so etwas zu bauen, jetzt ist es möglich
      Mehr dazu habe ich in Releasing Software Now aufgeschrieben
    • Ich stimme der Formulierung „ein lebendiges Werkzeug, anders als die Kopie eines anderen“ zu, aber ich glaube nicht, dass sich so ein Modell institutionell gut übernehmen lässt
      Große Unternehmen oder Behörden werden so inkonsistente Systeme kaum zulassen
    • Ich verstehe nicht, warum dieses Paradigma zu interessantem Tooling führen sollte
      Eher werden daraus wohl schlechtere Werkzeuge entstehen
    • Wenn am Ende jeder eine andere Version derselben Software benutzt, wird Fehlersuche so kompliziert, dass einem schon beim Gedanken daran schwindlig wird
  • Ich bin an OpenCode gewöhnt und überlege, es als persönlichen AI-Workspace zu verwenden
    Pi hat zwar ein kleineres Ökosystem, wirkt aber flexibler und erweiterbarer, und man spürt auch die Begeisterung der Community
    Ich frage mich, ob es besser wäre, Pi statt OpenCode zu nutzen, und welche UI-Optionen es gibt

    • Ich habe dieselbe Überlegung
      Ich habe OpenCode auf Basis von .md-Dateien zum Schreiben und Organisieren verwendet, und das hat ziemlich gut gepasst
      Jetzt suche ich nach einem neuen Harness, das für diese Arbeit noch besser geeignet ist
    • Genau so ist es gemeint, wie du es verstanden hast
  • Das ist aktuell mein liebster Harness
    Weil man es direkt erweitern kann, ist es sehr effizient, und ich habe es in das vibes-Projekt integriert
    Viel schneller als ACP

    • Ich frage mich, warum es zwischen direkter Integration und ACP diesen Geschwindigkeitsunterschied gibt
      Ich hatte nach einem universellen Protokoll für Agent-Interaktionen gesucht, und ACP schien dafür ein Kandidat zu sein
      Aber selbst OpenCode nutzt ACP offenbar nicht in der UI, also scheint es da ein Problem zu geben
      Mich würde auch interessieren, ob es bessere Alternativen gibt
    • Mit welchen Harnesses hast du es verglichen?
    • Das gefällt mir wirklich sehr! Es fühlt sich an, als hätte schon jemand genau das gebaut, was ich selbst machen wollte
    • Was bedeutet „Harness“ hier eigentlich? Ist das nicht einfach ein Coding-Agent?
  • Ich habe noch niemanden gesehen, der Pi ein paar Tage benutzt hat und es dann nicht im Alltag weiterverwendet hat
    Wenn man einmal die Freiheit erlebt hat, ein Tool exakt nach den eigenen Vorstellungen einzurichten, ist es schwer, wieder zurückzugehen
    Und obendrauf kann man auch noch großartige Erweiterungen bauen

    • Klingt so, als wäre Pi in der Welt der Coding-Agenten das Neovim oder Emacs
    • Freut mich, aber für mich waren Claude CLI und OpenCode deutlich produktiver als Pi
      Die Erweiterbarkeit von Pi ist interessant, aber die tatsächliche Arbeitsqualität war für mich nicht gut genug
    • Welche selbstgebauten Funktionen, die es in Claude Code nicht gibt, gefallen dir am besten?
  • Ich verstehe nicht, warum man ausgerechnet mit einer Terminal-App coden sollte
    Dasselbe lässt sich als IDE-Erweiterung besser umsetzen, und in VSCode kann man sich auch die Fensteranordnung einfach wiederherstellen lassen

    • Wenn ich einen CLI-Agenten nutze, brauche ich überhaupt keine IDE
      Es fühlt sich an, als würde ich einem Entwicklerkollegen per Textchat Anweisungen geben
      Zum Beispiel lasse ich Claude an einem Server-Wartungsprogramm arbeiten, mache in der Zwischenzeit etwas anderes und schaue mir danach nur das Ergebnis an
      Wenn die Tests durchlaufen, ist mir egal, wie der Code im Detail aussieht
      Tatsächlich konnte ich mit vielleicht 15 Minuten aktiver Arbeit mehrere Dinge parallel erledigen
  • Ich nutze Pi in Emacs mit dem pi-coding-agent-Paket
    Im RPC-Modus legt es einen Markdown-Puffer für Ein- und Ausgabe an, was deutlich angenehmer ist als andere TUIs
    Die Anbindung an den Issue-Tracker war auch leicht, und ich habe die Befehle read und write auf Emacs-Pufferbasis neu definiert
    Den Befehl edit würde ich gern ebenfalls verbessern, indem ich tree-sitter-Abfragen von Emacs nutze
    Außerdem habe ich mit dem Befehl emacs_eval sogar die Dokumentennavigation über EWW ermöglicht

    • Sehr cool! Mich würde interessieren, wie du read und write auf Emacs-Puffer gemappt hast
      Den Pi-Emacs-Modus kann man übrigens hier installieren
      Ich arbeite außerdem daran, dass man aus den Ergebnissen von read-, write- und edit-Aufrufen direkt die entsprechende Datei öffnen kann
      Bald soll es auch Unterstützung für Pi-Sitzungen und Tree-Browsing mit Magit-Integration geben
  • Ich habe mit Pi angefangen und benutze seit den letzten zwei Wochen oh-my-pi
    Das oh-my-pi-Repository ist die Batteries-included-Version von Pi

    • Mich würde interessieren, wie deine Erfahrung mit oh-my-pi war
    • Ich würde auch gern wissen, ob du es in einer Sandbox laufen lässt oder ob es irgendeine Form von Isolation gibt
  • Vielleicht sollte ich auch einfach ein bestehendes Projekt forken und unter anderem Namen veröffentlichen
    Zum Beispiel: „Waterfox — ein minimalistischer Webkonsument“

  • Vorkonfigurierte Pi-Version: oh-my-pi

    • Der Fork ist cool, aber einfach wahllos Tools aus beliebigen Repositories hinzuzufügen wirkt sicherheitstechnisch riskant
      Man bräuchte eine isolierte Umgebung, in der man so etwas wie Apps sicher installieren und testen kann
    • Ich bin ein großer Fan dieses Forks
      Ich bin von codex/claude code → opencode → pi → oh-my-pi gewechselt
    • Ein großartiger Fork! Ich wollte auch beitragen, aber die Community wirkte auf mich etwas verschlossen
    • Es wäre gut, wenn man die Web-Tools von oh-my-pi als allgemeines Pi-Plugin auskoppeln könnte
      Ich will das irgendwann selbst ausprobieren
    • Aber ich finde, das verfehlt ein Stück weit den Kern von Pi
      Der Reiz von Pi liegt in seiner Leichtigkeit und Autonomie, während oh-my-pi mit seinen vielen Funktionen eher die Schwere von OpenCode mitbringt
  • Pi hat wirklich hervorragende Designentscheidungen getroffen
    Lob an Mario und Armin — guter Geschmack zeigt sich am Ende eben doch

    • Aber ich verstehe nicht, warum man so etwas unbedingt in JavaScript implementieren musste