Ch CLI

Repo GitHub du projet

À propos

Il y a un an, j’ai créé Cha, lisez mon article de blog original à ce sujet, mon outil CLI Python pour interagir avec les modèles d’OpenAI. Depuis, j’ai vu le paysage de l’IA évoluer de manière spectaculaire. De nouveaux acteurs sont entrés sur le marché, offrant des alternatives convaincantes à OpenAI. Cela m’a amené à réimaginer ce que Cha pourrait être. Le résultat est Ch, une implémentation expérimentale en Go qui incarne tout ce que j’ai appris sur la création d’outils pour développeurs.

Ch n’est pas juste un port de Cha. Bien qu’il soit encore à ses débuts, il se concentre sur ce qui compte le plus pour moi et d’autres développeurs : la vitesse, l’efficacité et le support de plusieurs plateformes AI. Tout en conservant la philosophie de simplicité et d’interaction en priorité terminale qui a rendu Cha utile, Ch offre une amélioration de performance impressionnante de 2,55x par rapport à son prédécesseur Python. Cela signifie moins de temps d’attente et plus de temps à résoudre réellement des problèmes.

L’évolution

Le paysage de l’IA a considérablement changé depuis que j’ai d’abord publié Cha. J’ai observé plusieurs changements majeurs qui ont influencé ma façon d’aborder la construction de Ch :

  • L’essor de nouveaux fournisseurs d’IA a été incroyable. Des entreprises comme Groq ont repoussé les limites de la vitesse d’inférence. Claude d’Anthropic a montré des capacités de raisonnement impressionnantes. DeepSeek et d’autres ont apporté de nouvelles approches aux modèles de langage. Cette diversification signifiait qu’être lié uniquement à OpenAI n’était plus suffisant.

  • La vitesse de réponse est devenue de plus en plus critique. À mesure que les outils d’IA deviennent partie intégrante de notre flux de travail quotidien, ces secondes supplémentaires d’attente pour des réponses s’accumulent. C’était l’une de mes principales motivations pour réécrire en Go. Les gains de performance ne sont pas juste des chiffres sur un banc d’essai. Ils se traduisent par une expérience visiblement plus fluide lorsque vous êtes plongé dans une session de codage.

  • Le besoin de flexibilité de plateforme a également augmenté. Différents modèles excellent dans différentes tâches, et avoir la liberté de passer facilement de l’un à l’autre est précieux. Je voulais que Ch rende cela transparent, afin que vous puissiez vous concentrer sur votre travail plutôt que de gérer des points de terminaison API.

Caractéristiques clés

Support multi-plateforme : Ch fonctionne sans problème avec OpenAI, Groq, DeepSeek, Anthropic et xAI. J’ai rendu le passage entre les plateformes aussi simple que possible car je crois que disposer d’options rend l’outil plus précieux.

Performance ultra-rapide : L’amélioration de vitesse de 2,55x par rapport à Cha n’est pas juste du marketing. C’est le résultat d’une optimisation minutieuse et des excellentes caractéristiques de performance de Go. Chaque interaction semble plus réactive, ce qui fait une réelle différence lorsque vous l’utilisez tout au long de votre journée.

Modes interactif et direct : Parfois, vous voulez une réponse rapide, d’autres fois vous avez besoin d’une conversation prolongée. Ch prend en charge les deux flux de travail naturellement. Vous pouvez poser des questions rapides ou vous engager dans des discussions techniques détaillées.

Intégration de recherche Web : J’ai intégré SearXNG avec le format de citation IEEE. Cela signifie que lorsque Ch intègre du contenu web pour répondre à vos questions, vous obtenez des réponses correctement citées, de niveau recherche. C’est particulièrement utile lorsque vous avez besoin d’informations à jour ou que vous souhaitez vérifier des affirmations.

Gestion intelligente des fichiers : Charger des fichiers dans votre contexte de chat est quelque chose que j’utilise constamment, donc je l’ai amélioré. La fonctionnalité de sélection multiple facilite l’inclusion exactement de ce dont vous avez besoin dans votre conversation.

Outils professionnels : Que vous exportiez des conversations pour la documentation, que vous utilisiez votre éditeur de texte préféré pour des invites complexes, ou que vous passiez d’un modèle AI à un autre, Ch rend cela simple. Ce ne sont pas juste des fonctionnalités que je pensais être agréables. Ce sont des outils que j’utilise chaque jour dans mon propre travail.

Gestion de l’historique des chats : Pouvoir revenir sur l’historique des conversations m’a sauvé d’innombrables fois lorsque j’ai besoin de référencer des parties antérieures d’une discussion ou d’exporter des chats pour référence future.

Pourquoi Go ?

La décision de réécrire Cha en Go n’était pas seulement une question de performance. Après un an de maintenance de Cha, j’avais une idée claire de ce qui fonctionnait et de ce qui pouvait être amélioré. Le typage fort de Go a permis de détecter les erreurs plus tôt dans le développement. Son excellent support de la concurrence a rendu la gestion de plusieurs appels API plus fluide. L’exécution rapide a rendu chaque interaction plus réactive.

Mais peut-être plus important encore, Go m’a aidé à construire un outil plus robuste et maintenable. Le code est plus propre, la gestion des erreurs est plus fiable, et l’architecture globale est plus solide. Ces améliorations ne sont peut-être pas immédiatement visibles pour les utilisateurs, mais elles rendent Ch plus fiable et plus facile à étendre avec de nouvelles fonctionnalités.

Le pouvoir du développement assisté par IA

Ce qui m’a vraiment étonné dans la construction de Ch n’était pas seulement les améliorations de performance ou les nouvelles fonctionnalités. C’était la façon dont je l’ai construit. En utilisant des outils comme Claude Code CLI et Gemini CLI, combinés avec le Cursor IDE, j’ai pu développer ce MVP en moins d’une journée. Cette expérience a complètement changé ma perspective sur ce qui est possible dans le développement logiciel.

Ce cycle de développement rapide n’était pas une question de compromis. Au contraire, il a démontré comment les outils d’IA transforment notre façon d’aborder les projets logiciels. Ce qui aurait pu prendre des semaines de planification, de codage et de débogage a été condensé en quelques heures de développement concentré. Ce n’est pas seulement une question d’écrire du code plus rapidement ; il s’agit de pouvoir expérimenter, itérer et innover à un rythme qui n’était pas possible auparavant.

Perspectives d’avenir

Bien que Ch implémente actuellement la plupart des fonctionnalités de base de Cha, c’est un projet très expérimental. Je suis enthousiaste quant à son potentiel, mais il reste encore du travail à faire. Les améliorations de performance et le support multi-plateforme positionnent Ch pour croître aux côtés du paysage AI en évolution rapide.

J’utilise Ch quotidiennement, tout comme je l’ai fait avec Cha, mais maintenant avec la satisfaction de savoir qu’il est plus rapide. Pour ceux qui souhaitent l’essayer, consultez le dépôt GitHub du projet lié en haut de cet article. Le processus d’installation est simple, surtout si vous êtes familier avec les outils Go.

Le parcours de Cha à Ch a été plus qu’une simple réécriture d’un outil dans un langage plus rapide. Il s’est agi de prendre tout ce que j’ai appris en construisant et en utilisant Cha, et de créer quelque chose qui répond mieux aux besoins des développeurs dans le paysage AI d’aujourd’hui. Je suis impatient de voir comment les gens utilisent Ch et comment il peut évoluer pour répondre aux besoins futurs.