Ch

Dépot 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 observé l’évolution spectaculaire du paysage IA. De nouveaux acteurs sont apparus sur le marché, proposant des alternatives convaincantes à OpenAI. Cela m’a conduit à 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 simplement un portage de Cha. Bien qu’il soit encore à ses débuts, il se concentre sur ce qui compte le plus pour moi et les autres développeurs : la vitesse, l’efficacité et la prise en charge de multiples plateformes IA. Tout en conservant la philosophie fondamentale de simplicité et d’interaction en mode terminal qui rendait 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 consacré à résoudre réellement les problèmes.

L’évolution

Le paysage IA a changé de façon significative depuis que j’ai publié Cha. J’ai observé plusieurs changements majeurs qui ont influencé ma façon d’aborder la création 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 dé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 limité à OpenAI ne suffisait plus.

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

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

Fonctionnalités clés

Prise en charge multi‑plateforme: Ch fonctionne de manière transparente avec OpenAI, Groq, DeepSeek, Anthropic, et xAI. J’ai rendu le passage d’une plateforme à l’autre 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 qu’une simple promotion. Elle résulte d’une optimisation minutieuse et des excellentes caractéristiques de performance de Go. Chaque interaction est plus réactive, ce qui fait une réelle différence lorsque vous l’utilisez tout au long de la journée.

Modes interactif et direct: Parfois vous souhaitez une réponse rapide, d’autres fois vous avez besoin d’une conversation prolongée. Ch prend naturellement en charge les deux flux de travail. Vous pouvez lancer des requêtes 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 récupère 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 le contexte de votre chat est une pratique que j’utilise constamment, j’ai donc amélioré cela. La fonctionnalité de sélection multiple facilite l’inclusion exacte de ce dont vous avez besoin dans votre conversation.

Outils professionnels: Que vous exportiez des conversations pour la documentation, utilisiez votre éditeur de texte préféré pour des prompts complexes, ou passiez d’un modèle IA à un autre, Ch rend cela simple. Ce ne sont pas seulement des fonctionnalités que j’ai pensé être agréables. Ce sont des outils que j’utilise quotidiennement dans mon travail.

Gestion de l’historique des chats: Pouvoir revenir en arrière dans 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 ne concernait pas uniquement la performance. Après un an de maintenance de Cha, j’avais une vision claire de ce qui fonctionnait et de ce qui pouvait être amélioré. Le typage fort de Go détectait les erreurs plus tôt dans le développement. Son excellent support de la concurrence rendait la gestion de multiples appels API plus fluide. L’exécution rapide rendait chaque interaction plus réactive.

Mais peut-être plus important encore, Go m’a aidé à créer un outil plus robuste et maintenable. Le code est plus propre, la gestion des erreurs plus fiable, et l’architecture globale 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 création de Ch n’étaient 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 en développement logiciel.

Ce cycle de développement rapide ne visait pas à bâcler les choses. Au contraire, il a démontré comment les outils IA transforment notre manière 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é. Il ne s’agit pas seulement 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 principales de Cha, il s’agit d’un projet très expérimental. Je suis enthousiaste quant à son potentiel, mais il reste du travail à faire. Les améliorations de performance et la prise en charge multi‑plateforme placent Ch pour croître parallèlement au paysage IA en évolution rapide.

J’utilise Ch quotidiennement, comme je le faisais 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 indiqué en haut de cet article. Le processus d’installation est simple, surtout si vous êtes familier avec les outils Go.

Le passage de Cha à Ch a été plus qu’une simple réécriture d’un outil dans un langage plus rapide. Il s’agissait 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 IA actuel. Je suis impatient de voir comment les gens utilisent Ch et comment il pourra évoluer pour répondre aux besoins futurs.