Terax: Ein einziger Entwickler baut ein besseres KI-Terminal als Warp

BBetter Stack
컴퓨터/소프트웨어창업/스타트업AI/미래기술

Transcript

00:00:00Das ist Terax, ein Open-Source KI-natives Terminal, entwickelt mit Tauri2 und Rust, das dir ein
00:00:05Multi-Tab-Terminal, einen Code-Editor, eine Datei-Vorschau-Seitenleiste und einen Webbrowser bietet, alles in einer 7 Megabyte
00:00:12großen App, die in unter 300 Millisekunden startet. Sie hat sogar eine eigene KI, die deine gesamte
00:00:17Codebasis liest, Befehle ausführt und Bearbeitungen als überprüfbare Diffs vorschlägt. Aber bei Warp mit über 58.000
00:00:24Sternen auf GitHub und Cmox mit Unterstützung für agentenbasierte Benachrichtigungen: Ist eine winzige App, gebaut
00:00:28von einer Person, wirklich deine Zeit wert? Abonniere den Kanal und lass es uns herausfinden.
00:00:36Terax wurde von einem Entwickler namens Krinter erstellt, der es als Nebenprojekt startete, weil er
00:00:40eine schnellere, leichtere Version von Warp wollte, mit integrierter KI zum Programmieren und nicht als nachträglichem Zusatz.
00:00:46Terax macht genau das. Es implementiert ein echtes Terminal mit Xterm.js und WebGPU, genau wie
00:00:53VS Code, mit einem echten Code-Editor, angetrieben von CodeMirror 6, und einem echten KI-Agenten unter Verwendung von Vercels AI SDK,
00:01:00der so ziemlich für jedes Modell da draußen genutzt werden kann, einschließlich lokaler Modelle.
00:01:04Aber wie schafft es die App, all diese Dinge bei so geringem Speicherbedarf zu vereinen?
00:01:08Nun, es nutzt Tauri2 statt Electron, was bedeutet, dass kein Chromium gebündelt wird, was 200 Megabyte spart.
00:01:14Das Rust-Backend kümmert sich um alles, was das Betriebssystem berührt, also Pty, Dateisystem, Prozessmanagement
00:01:20und das React-Frontend rendert nur die UI. Das Ganze ist also etwa 7 Megabyte groß.
00:01:25Und wenn du mein Video über Cmox gesehen hast, fragst du dich vielleicht, wie Terax im Vergleich dazu abschneidet.
00:01:29Nun, ich werde später im Video einen detaillierteren Vergleich anstellen, aber lass uns Terax erst einmal ausprobieren.
00:01:34Nachdem du Terax installiert hast, fällt dir als Erstes das Dateimenü auf der linken Seite auf.
00:01:39Schau dir das an. Wenn ich mit CD navigiere, springt es sofort an die richtige Stelle, das heißt, ich muss LS nicht verwenden.
00:01:45Wenn ich also in ein anderes Verzeichnis gehe, bringt es mich direkt dorthin, und ich kann zurückkehren, wo ich vorher war.
00:01:51Ich kann auch neue Tabs erstellen, sie schließen und Splits hinzufügen, genau wie in den meisten modernen Terminals.
00:01:57Wenn ich in das Verzeichnis 'packages UI' gehe und eine Datei 'service app TSX' öffne, sieht man sofort, dass sich der Terax-Code-Editor öffnet,
00:02:05der Syntax-Highlighting für die meisten Sprachen bietet.
00:02:08Aber wenn ich wollte, könnte ich meine terminalbasierten Datei-Editoren wie Helix verwenden und natürlich KI-Coding-Tools wie Claude Code.
00:02:14Es gibt jedoch ein paar Vorteile bei der Nutzung des Terax-Editors.
00:02:17Wenn du in die untere rechte Ecke schaust, gibt es einen OpenAI-Agent-Button, mit dem ich ein Modell auswählen kann.
00:02:23Ich habe hier meine OpenAI- und Claude-API-Schlüssel hinterlegt, die im nativen OS-Keyring gespeichert sind.
00:02:29Von dort aus kann ich Fragen zur geöffneten Datei stellen, wie: Warum gibt es so viele Funktionen im 'use effect'-Hook?
00:02:34Der Agent durchsucht die Datei und gibt mir eine Antwort.
00:02:37Du wirst hier feststellen, dass ich sehen kann, wie viel Kontext ich verbraucht habe, und ich kann den Agententyp ändern.
00:02:43Ich kann auch zu früheren Sitzungen zurückkehren und Folgefragen stellen.
00:02:46Terax hat aktuell nur zwei Unterbefehle.
00:02:48Plan, um in den Planungsmodus zu wechseln, der hier angezeigt wird.
00:02:51Ein erneutes Ausführen von Plan wechselt zurück in den Build-Modus.
00:02:54Und 'init', das das gesamte Projekt durchsucht und eine 'Terax MD'-Datei erstellt, ähnlich wie eine Claude- oder Agents-MD-Datei.
00:03:00Wenn das geschieht, wird uns ein Code-Diff angezeigt, den wir natürlich akzeptieren oder ablehnen können.
00:03:04Da ich hier bereits eine 'Terax MD'-Datei habe, werde ich es ablehnen.
00:03:08Aber was ich tun könnte, ist den Agenten zu bitten, Änderungen an dieser speziellen Datei vorzunehmen.
00:03:12Und wenn es Änderungen gibt, zeigt es ein schönes Diff, das uns zeigt, was entfernt und was hinzugefügt wird, und bietet ebenfalls die Option zum Akzeptieren oder Ablehnen.
00:03:18Ich kann aber auch einige wirklich coole Dinge mit Terax machen.
00:03:21Schau dir das an.
00:03:21Wenn ich auf diesen Button drücke, kann ich eine Datenschutzseite öffnen, was bedeutet, dass dieser Tab vor der KI verborgen bleibt.
00:03:26Ich könnte ein neues Editorfenster öffnen, um eine neue Datei zu erstellen, oder den Browser öffnen, der mir sogar eine Liste gängiger Ports anzeigt.
00:03:33Wenn ich also diese App starte und zu den richtigen Ports navigiere, kann ich in einem Tab mit meiner App interagieren und im anderen Code-Änderungen vornehmen, ohne zwischen verschiedenen Tools wechseln zu müssen.
00:03:41In den Einstellungen kann ich das Editor-Thema ändern, den Vim-Modus aktivieren, den ich sehr mag, die Agenten anpassen und benutzerdefinierte Anweisungen sowie wiederverwendbare Prompts vergeben.
00:03:49Ich gebe zu, es gibt einige Dinge, die ich an Terax nicht mag.
00:03:52Momentan kann ich mein Projekt in Helix öffnen, was in Ordnung ist.
00:03:55Aber wenn ich dasselbe in NeoVim tue, stürzt es irgendwie ab.
00:03:58Ich bin mir nicht sicher, ob das daran liegt, dass ich Nix verwende und eine seltsame Nix-Fish-Shell-Konfiguration habe, aber NeoVim funktioniert in WezTerm einwandfrei.
00:04:04Ich konnte nicht herausfinden, wie man die linke Seitenleiste mit der Tastatur navigiert.
00:04:08Obwohl ich zu verschiedenen Verzeichnissen navigieren konnte, gibt es, wenn ich eine Datei öffnen wollte, keinen Terax-Befehl oder Tastaturkürzel, um zur Seitenleiste zu gelangen.
00:04:15Ich meine, ich kann die Seitenleiste mit Befehl B öffnen und schließen, aber um eine Datei zu öffnen, muss ich sie mit der Maus anklicken, was ich in einem Terminal nicht erwarte.
00:04:24Ich kann auch nicht mit Befehl Plus zoomen, das wurde irgendwie nicht aktiviert.
00:04:28Und wenn ich im Browser eine Seite aufrufen will, die nicht localhost ist, erhalte ich diesen X-Frame-Options-Fehler, was ich aus Sicherheitsgründen verstehe, da Iframes verwendet werden, aber es wäre schön, dies tun zu können.
00:04:38Ehrlich gesagt, für etwas, das größtenteils mit JavaScript gebaut wurde, ist das unglaublich performant.
00:04:43Ich war skeptisch, als der Autor sich entschied, nicht libghostty für das Terminal zu verwenden.
00:04:47Aber wenn ich nicht wüsste, dass dies Open Source ist und keine Ahnung hätte, welcher Code verwendet wurde, hätte ich gedacht, es wäre eine Systemsprache.
00:04:54Nun, irgendwie ist es das, weil Tauri Rust ist, aber du verstehst, was ich meine.
00:04:57Im Grunde ist es erstaunlich, was heutzutage von einem einzelnen Entwickler unter Verwendung von KI und vielen Open-Source-Tools erreicht werden kann.
00:05:04Das konkurriert fast mit Warp, das von einem ganzen Unternehmen gebaut wurde und VC-Finanzierung hat.
00:05:09Ganz zu schweigen davon, dass dies nicht einmal eine 1.0-Version von Terax ist.
00:05:12Ich bin mir also sicher, dass in Zukunft noch weitere Funktionen und Fixes kommen werden.
00:05:16Aber wie ist der Vergleich zu CMUX?
00:05:18Nun, Terax ist eine agentenbasierte Entwicklungsumgebung wie Warp, während CMUX ein völlig anderes Tool ist.
00:05:24Es gibt deinen Agenten die Fähigkeit, alles im Terminal zu steuern.
00:05:28Du kannst also neue Fenster, neue Tabs erstellen, die Seitenleiste steuern, die Seitenleiste umbenennen und so weiter,
00:05:32was perfekt für Multi-Agenten-Workflows ist.
00:05:34Bei Terax hingegen ist der Agent darauf beschränkt, den Code und die Dateien zu betrachten.
00:05:39Er kann also keine neuen Tabs und Fenster erstellen.
00:05:42Er kann die Seitenleiste nicht steuern, aber er kann Anpassungen am Code selbst vornehmen.
00:05:45Wenn du also möchtest, dass deine Agenten Browser öffnen, im Web navigieren und Sub-Agenten starten, dann sieh dir CMUX an.
00:05:51Aber wenn du im Terminal programmieren, einen Agenten nutzen möchtest, um Änderungen vorzunehmen und die Änderungen im Browser zu sehen, dann nutze Terax.
00:05:58Ich persönlich werde für den Großteil meiner Entwicklung bei WezTerm und NeoVim bleiben.
00:06:01Und wenn du wissen willst, warum ich WezTerm statt beispielsweise Ghostty wähle, dann schau dir dieses Video an.

Key Takeaway

Terax ist ein KI-natives Terminal mit einer App-Größe von nur 7 Megabyte, das durch den Einsatz von Rust und Tauri2 eine performante Alternative zu ressourcenintensiven Anwendungen bietet.

Highlights

  • Terax ist ein KI-natives Open-Source-Terminal, das mit Tauri2 und Rust entwickelt wurde und eine Dateigröße von nur 7 Megabyte aufweist.

  • Die Anwendung startet in unter 300 Millisekunden.

  • Durch den Einsatz von Tauri2 statt Electron entfällt das Bündeln von Chromium, was 200 Megabyte Speicherplatz einspart.

  • Ein integrierter KI-Agent nutzt das Vercel AI SDK und kann mit verschiedenen KI-Modellen, einschließlich lokaler Optionen, verbunden werden.

  • Die Benutzeroberfläche umfasst ein Multi-Tab-Terminal, einen Code-Editor basierend auf CodeMirror 6, eine Dateivorschau und einen Webbrowser.

  • Terax schlägt Änderungen am Code als überprüfbare Diffs vor, die der Nutzer direkt akzeptieren oder ablehnen kann.

Timeline

Technologie und Architektur von Terax

  • Terax basiert auf Rust und Tauri2 für eine minimale App-Größe.
  • Das Backend verwaltet systemnahe Aufgaben wie PTY und Dateisysteme.
  • Das Frontend nutzt React für die Benutzeroberfläche.
  • Die Anwendung bietet ein Terminal, einen Code-Editor und einen Webbrowser in einem Paket.

Die Architektur verzichtet auf ein gebündeltes Chromium-Framework, was den Speicherbedarf auf 7 Megabyte reduziert. Ein echter Code-Editor mittels CodeMirror 6 und ein Terminal-Interface basierend auf Xterm.js und WebGPU ermöglichen eine Leistung, die mit VS Code vergleichbar ist. Das System ermöglicht die Integration verschiedener KI-Modelle über das Vercel AI SDK.

Funktionsweise und KI-Integration

  • Das Dateimenü bietet eine sofortige Verzeichnisnavigation.
  • KI-API-Schlüssel werden sicher im nativen Betriebssystem-Keyring gespeichert.
  • Projektweite Analysen erfolgen über den 'init'-Befehl, der eine Terax-MD-Datei erstellt.
  • Der KI-Agent generiert Code-Diffs für die Bearbeitung und akzeptiert oder lehnt diese basierend auf Nutzerentscheidungen ab.

Der Benutzer navigiert durch Verzeichnisse, wobei die Dateivorschau automatisch aktualisiert wird. Der KI-Agent ermöglicht kontextbezogene Anfragen zur geöffneten Datei und kann gezielte Änderungen am Code vornehmen. Ein Datenschutzmodus erlaubt es, bestimmte Tabs von der KI-Analyse auszuschließen.

Einschränkungen und Vergleich

  • Die Tastaturnavigation in der linken Seitenleiste ist derzeit limitiert.
  • Spezifische terminalbasierte Editoren wie NeoVim verursachen gelegentlich Abstürze.
  • Terax fokussiert sich auf Code-Bearbeitung, während Cmox komplexere Multi-Agenten-Workflows und Terminal-Steuerungen ermöglicht.
  • Der Browser zeigt X-Frame-Options-Fehler bei externen Webseiten.

Obwohl Terax eine hohe Performance liefert, bestehen bei der Tastatursteuerung und beim Einsatz bestimmter Shell-Konfigurationen noch Mängel. Im Vergleich zu Cmox, das für agentenbasierte Terminal-Steuerung ausgelegt ist, konzentriert sich Terax primär auf die Programmierung und Datei-Bearbeitung.

Community Posts

No posts yet. Be the first to write about this video!

Write about this video