Terax: Ein einziger Entwickler baut ein besseres KI-Terminal als Warp
BBetter Stack
Computing/SoftwareSmall Business/StartupsInternet Technology
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.
Community Posts
No posts yet. Be the first to write about this video!
Write about this video