Terax : Un développeur a créé un terminal IA supérieur à Warp

BBetter Stack
Computing/SoftwareSmall Business/StartupsInternet Technology

Transcript

00:00:00Voici Terax, un terminal natif IA open source construit avec Tauri2 et Rust qui vous offre un
00:00:05terminal multi-onglets, un éditeur de code, une barre latérale de prévisualisation de fichiers et un navigateur web, le tout dans une application
00:00:12de 7 mégaoctets qui démarre en moins de 300 millisecondes. Il possède même son propre agent IA qui lit toute votre
00:00:17base de code, exécute des commandes et propose des modifications sous forme de diffs révisables. Mais avec Warp et ses plus de 58 000
00:00:24étoiles sur GitHub, et Cmox avec la prise en charge des notifications basées sur les agents, est-ce qu'une minuscule application créée
00:00:28par une seule personne vaut vraiment le détour ? Abonnez-vous et découvrons-le.
00:00:36Terax a été créé par un développeur nommé Krinter, qui l'a lancé comme projet secondaire parce qu'il voulait
00:00:40une version de Warp plus rapide et plus légère, avec une IA intégrée pour le codage et non ajoutée après coup.
00:00:46Terax fait donc tout cela. Il implémente un véritable terminal utilisant Xterm.js avec WebGPU, le même que
00:00:53VS Code, avec un véritable éditeur de code alimenté par CodeMirror 6, et un véritable agent IA utilisant le SDK IA de Vercel,
00:01:00qui peut être utilisé avec pratiquement n'importe quel modèle existant, y compris les modèles locaux.
00:01:04Mais comment réussit-il à tout combiner avec une empreinte aussi réduite ?
00:01:08Eh bien, il utilise Tauri2 au lieu d'Electron, ce qui signifie qu'il n'y a pas de Chromium groupé, économisant 200 mégaoctets supplémentaires.
00:01:14Le back-end en Rust gère tout ce qui touche au système d'exploitation : Pty, gestion des processus du système de fichiers,
00:01:20et le front-end en React se contente de rendre l'interface utilisateur. L'ensemble fait donc environ 7 mégaoctets.
00:01:25Et si vous avez regardé ma vidéo sur Cmox, vous vous demandez peut-être comment Terax se compare à lui.
00:01:29Eh bien, je ferai une comparaison plus détaillée plus tard dans la vidéo, mais pour l'instant, testons Terax.
00:01:34Donc, après avoir installé Terax, la première chose qui pourrait vous frapper est le menu de fichiers sur la gauche.
00:01:39Regardez ça. Si je navigue avec CD, cela va immédiatement au bon endroit, ce qui signifie que je n'ai pas besoin d'utiliser LS.
00:01:45Donc je vais dans un autre coffre, un autre répertoire, cela m'y emmène directement, et je reviens là où j'étais avant.
00:01:51Je peux aussi créer de nouveaux onglets, les fermer et créer des divisions, tout comme vous le feriez dans la plupart des terminaux modernes.
00:01:57Si je vais dans le répertoire de l'interface utilisateur des paquets et que j'ouvre un fichier service app TSX, vous pouvez immédiatement voir qu'il ouvre l'éditeur de code Terax
00:02:05qui dispose d'une coloration syntaxique pour la plupart des langages.
00:02:08Mais si je le voulais, je pourrais utiliser mes éditeurs de fichiers basés sur le terminal comme Helix, par exemple, et bien sûr utiliser des outils de codage IA comme Claude Code.
00:02:14Mais il y a quelques avantages à utiliser l'éditeur Terax.
00:02:17Donc, si vous regardez dans le coin inférieur droit, il y a un bouton Agent OpenAI, qui me permet de choisir un modèle.
00:02:23Donc, en ce moment, j'ai entré mes clés API OpenAI et Claude, qui sont stockées en utilisant le trousseau de clés natif de l'OS.
00:02:29Et à partir de là, je peux poser des questions sur le fichier ouvert, comme pourquoi y a-t-il autant de fonctions dans le hook use effect ?
00:02:34Et l'agent recherchera dans le fichier et me donnera une réponse.
00:02:37Maintenant, vous remarquerez ici que je peux voir la quantité de contexte que j'ai utilisée, et je peux changer le type d'agent utilisé.
00:02:43Je peux aussi accéder aux sessions précédentes ici et poser des questions de suivi.
00:02:46Maintenant, Terax n'a actuellement que deux sous-commandes.
00:02:48Plan pour passer en mode plan, qui s'affiche ici.
00:02:51Déclencher à nouveau plan repasse en mode construction.
00:02:54Et init, qui parcourra tout le projet et créera un fichier Terax MD, similaire à un fichier Claude ou Agents MD.
00:03:00Et quand il fait ça, il nous montre un diff de code, que nous pouvons bien sûr accepter ou rejeter.
00:03:04Maintenant, parce que j'ai déjà un fichier Terax MD ici, je vais le rejeter.
00:03:08Mais ce que je pourrais faire, c'est lui demander d'apporter des modifications à ce fichier spécifique.
00:03:12Et s'il y a des changements, il nous donne un joli diff nous montrant ce qui sera supprimé et ce qui sera ajouté, nous donnant également l'option d'accepter ou de rejeter.
00:03:18Mais je peux aussi faire des choses vraiment cool avec Terax.
00:03:21Regardez ça.
00:03:21Donc, si j'appuie sur ce bouton, je peux ouvrir une page de confidentialité, ce qui signifie que cet onglet est caché de l'IA.
00:03:26Je pourrais ouvrir une nouvelle fenêtre d'éditeur pour créer un nouveau fichier, ou je pourrais ouvrir le navigateur, qui me donne même une liste de ports courants.
00:03:33Donc, si je lance cette application et que je navigue vers les bons ports, je pourrais interagir avec mon application sur un onglet et effectuer des modifications de code dans l'autre sans passer d'un outil à l'autre.
00:03:41Dans les paramètres, je pourrais changer le thème de l'éditeur, activer le mode Vim, que j'aime beaucoup, ajuster les agents, donner des instructions personnalisées et des invites réutilisables.
00:03:49Maintenant, je dois admettre qu'il y a certaines choses que je n'aime pas chez Terax.
00:03:52En ce moment, je peux ouvrir mon projet dans Helix, ce qui est bien.
00:03:55Mais si je faisais la même chose dans NeoVim, ça plante un peu.
00:03:58Et je ne suis pas sûr si c'est parce que j'utilise Nix et que j'ai une configuration bizarre de shell fish Nix, mais NeoVim fonctionne bien dans Western.
00:04:04Je n'ai pas réussi à trouver comment naviguer dans la barre latérale gauche avec le clavier.
00:04:08Donc, même si je pouvais naviguer vers différents répertoires, si je voulais ouvrir un fichier, il n'y a pas de commande d'ouverture Terax ou de raccourci clavier pour aller à la barre latérale.
00:04:15Je veux dire, je peux ouvrir et fermer la barre latérale avec commande B, mais si je voulais ouvrir un fichier, je devrais cliquer dessus avec la souris, ce qui n'est pas quelque chose que je m'attends à faire dans un terminal.
00:04:24Je ne peux pas non plus zoomer avec commande plus, pour une raison quelconque, cela n'a pas été activé.
00:04:28Et si je voulais aller sur un site autre que localhost dans le navigateur, j'obtiens cette erreur X frame options, que je comprends un peu pour des raisons de sécurité car il utilise des iframes, mais ce serait bien de pouvoir le faire.
00:04:38Honnêtement, pour quelque chose qui a été construit principalement avec JavaScript, c'est incroyablement performant.
00:04:43Je veux dire, j'étais sceptique quand l'auteur a choisi de ne pas utiliser libghosty pour le terminal.
00:04:47Mais si je ne savais pas que c'était open source et que je n'avais aucune idée du code utilisé pour construire cela, j'aurais pensé que cela utilisait un langage système.
00:04:54Eh bien, c'est un peu le cas parce que Tauri est en Rust, mais vous voyez ce que je veux dire.
00:04:57En gros, c'est incroyable ce qui peut être fait de nos jours par un seul développeur utilisant l'IA et de nombreux outils open source.
00:05:04Je veux dire, cela rivalise presque avec Warp, qui a été construit par toute une entreprise et qui a reçu un financement en capital-risque.
00:05:09Sans oublier que ce n'est même pas une version 1.0 de Terax.
00:05:12Donc je suis sûr qu'il y aura plus de fonctionnalités et plus de correctifs à venir dans le pipeline.
00:05:16Mais comment cela se compare-t-il à CMUX ?
00:05:18Eh bien, Terax est un environnement de développement agentique comme Warp, tandis que CMUX est un outil complètement différent.
00:05:24Il donne à vos agents la capacité de tout contrôler dans le terminal.
00:05:28Donc vous pouvez créer de nouveaux volets, de nouveaux onglets, contrôler la barre latérale, renommer la barre latérale et ainsi de suite,
00:05:32ce qui est parfait pour les flux de travail multi-agents.
00:05:34Avec Terax, en revanche, l'agent est uniquement limité à l'examen du code et des fichiers.
00:05:39Donc il ne peut pas créer de nouveaux onglets et de nouveaux volets divisés.
00:05:42Il ne peut pas contrôler la barre latérale, mais il peut apporter des ajustements au code lui-même.
00:05:45Donc, si vous voulez que vos agents ouvrent des navigateurs, naviguent sur le web et lancent des sous-agents, alors consultez CMUX.
00:05:51Mais si vous voulez coder dans le terminal, utiliser un agent pour effectuer des modifications et voir les changements dans le navigateur, alors utilisez Terax.
00:05:58Personnellement, je resterai avec West Term et NeoVim pour la plupart de mes développements.
00:06:01Et si vous voulez savoir pourquoi je choisis ResTerm plutôt que, disons, Ghosty, alors regardez cette vidéo.

Key Takeaway

Terax est un terminal IA open source ultra-léger et performant qui combine un éditeur de code, un navigateur et un agent IA au sein d'une application de 7 Mo construite avec Rust et Tauri2.

Highlights

  • Terax pèse 7 mégaoctets et démarre en moins de 300 millisecondes.

  • L'application utilise Tauri2, évitant ainsi les 200 mégaoctets nécessaires pour regrouper Chromium.

  • L'agent IA intégré permet de lire la base de code et de proposer des modifications via des diffs révisables.

  • L'éditeur utilise CodeMirror 6 et le terminal s'appuie sur Xterm.js avec WebGPU.

  • Les clés API OpenAI et Claude sont sécurisées via le trousseau de clés natif du système d'exploitation.

  • Le navigateur web intégré permet d'interagir avec des applications locales sur différents ports sans quitter l'interface.

Timeline

Architecture et conception de Terax

  • Terax est un terminal multi-onglets intégrant un éditeur de code, une barre latérale de fichiers et un navigateur.
  • L'utilisation de Tauri2 au lieu d'Electron réduit l'empreinte logicielle de 200 Mo.
  • Le back-end en Rust gère les processus système et le front-end en React assure l'interface utilisateur.

Développé par Krinter, Terax vise une expérience plus rapide et légère que Warp. Il s'appuie sur des technologies performantes comme Xterm.js avec WebGPU pour le terminal et CodeMirror 6 pour l'édition de code.

Fonctionnalités agentiques et interface

  • L'agent IA peut répondre à des questions sur les fichiers ouverts et appliquer des changements de code.
  • La commande 'init' analyse le projet pour créer un fichier Terax.md de documentation.
  • Les modifications de code sont présentées sous forme de diffs que l'utilisateur peut accepter ou rejeter.
  • Un mode de confidentialité permet de masquer certains onglets à l'agent IA.

L'interface simplifie la navigation dans les répertoires et permet une interaction fluide entre l'éditeur de code et le navigateur. Les clés API sont stockées localement via le système natif pour garantir la sécurité des accès aux modèles IA.

Limitations et comparaison avec les alternatives

  • L'intégration avec certains outils comme NeoVim peut entraîner des instabilités.
  • La navigation dans la barre latérale nécessite actuellement l'usage de la souris.
  • Terax se concentre sur l'examen du code, contrairement à CMUX qui permet un contrôle total du terminal par des agents.

Bien que performant, Terax manque de certaines fonctionnalités avancées, comme le zoom par raccourci clavier ou une navigation clavier complète. Par rapport à CMUX, il s'adresse davantage aux développeurs souhaitant coder et visualiser les résultats dans une seule fenêtre intégrée.

Community Posts

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

Write about this video