À propos du projet

jcode est un harnais de codage IA open-source en terminal, conçu pour être économe en ressources et rapide. Le projet se positionne comme le harnais le plus économe en RAM et le plus intelligent, et le README appuie cela avec des tableaux de benchmarks comparant jcode à des outils tels que pi, Codex CLI, OpenCode, GitHub Copilot CLI, Cursor Agent, Claude Code et Antigravity CLI. Les chiffres rapportés incluent environ 27,8 Mo de PSS pour une session unique avec l'embedding local désactivé, environ 14 ms pour le premier frame, et environ 48,7 ms pour la première entrée, avec une échelle de mémoire par session d'environ 10 Mo. L'installation se fait via un script curl en une ligne sur macOS/Linux et une ligne PowerShell sur Windows 11, et l'outil est disponible pour Linux, macOS et Windows sous licence MIT. L'expérience principale est une TUI avec une zone de chat, des panneaux latéraux, un rendu de diagrammes Mermaid en ligne, des widgets d'information qui n'occupent que de l'espace négatif, une implémentation de scrollback personnalisée, et un projet compagnon de terminal appelé Handterm qui ajoute une API de scroll native. Le rendu est annoncé à plus de mille fps, et le projet inclut une bibliothèque de rendu Mermaid personnalisée (mermaid-rs-renderer) sans dépendance navigateur ou TypeScript. L'alignement peut être basculé entre gauche et centré, et les emojis peuvent être désactivés globalement via la configuration ou une variable d'environnement. Une fonctionnalité distinctive est le système de mémoire d'agent. Chaque tour est intégré comme un vecteur sémantique et interrogé contre un graphe de mémoires en utilisant la similarité cosinus. Les correspondances sont injectées dans la conversation, éventuellement vérifiées par un sideagent mémoire qui peut effectuer des travaux de récupération supplémentaires. Les mémoires sont extraites périodiquement en fonction de la dérive sémantique, du nombre de tours ou de la fin de session, et consolidées en mode ambiant qui réorganise les entrées et vérifie l'obsolescence et les conflits. Des outils de mémoire explicites permettent à l'agent de rechercher ou stocker activement des mémoires, et la recherche de session fournit un RAG traditionnel sur les sessions précédentes. La fonctionnalité Swarm permet à plusieurs agents de fonctionner dans le même dépôt sous un serveur partagé. Lorsqu'un agent modifie un fichier qu'un autre a lu, le serveur notifie l'autre agent, qui peut ignorer le changement ou inspecter le diff pour éviter les conflits. Les agents peuvent se messager via DM, diffusion ou canaux limités au dépôt, et ils peuvent spontanément créer leurs propres essaims, transformant l'agent principal en coordinateur et les agents créés en travailleurs. Les canaux de messagerie de groupe, les statuts de complétion et la coordination sont gérés automatiquement, et cela peut fonctionner sans tête ou avec tête. Le support des fournisseurs est large. Les flux de connexion OAuth intégrés couvrent Claude, OpenAI/ChatGPT/Codex, Google Gemini, GitHub Copilot, Azure OpenAI, Alibaba Cloud Coding Plan, Fireworks, Novita AI, MiniMax, Meta Model API/Muse, LM Studio et Ollama, plus un endpoint personnalisé compatible OpenAI. Les fournisseurs OpenAI natifs utilisent Responses WebSocket v2 avec préchauffage opportuniste en arrière-plan et repli HTTPS. Les fournisseurs compatibles OpenAI incluent des profils nommés intégrés pour des services tels que OpenRouter, DeepSeek, Moonshot AI, Baseten, Hugging Face, Nebius, Scaleway et autres, et des endpoints arbitraires peuvent être ajoutés via une commande de profil fournisseur en une fois qui écrit dans ~/.jcode/config.toml et stocke les secrets dans un répertoire de configuration d'application privé. Les passerelles compatibles Anthropic Messages sont prises en charge avec authentification par bearer, en-tête personnalisé ou sans authentification, et des en-têtes spécifiques à la passerelle. Les runtimes locaux comme Ollama et LM Studio sont pris en charge avec des complétions de chat en streaming, des appels de fonction/outil et du contenu d'image de style OpenAI pour les modèles locaux capables de vision. Les options de configuration incluent les fenêtres de contexte par modèle, les champs extra_body pour les corps de requête non standard, les délais d'inactivité de streaming qui s'adaptent à l'effort de raisonnement, et les contrôles d'effort de raisonnement. Le projet fournit également un SDK, une documentation, des benchmarks et une communauté Discord. Les mises à jour peuvent être effectuées dans la TUI avec /update ou depuis le terminal avec jcode update, avec un canal stable par défaut et un canal principal pour les mises à jour de branche source. Les builds de développement comparent le commit Git du binaire en cours d'exécution à la balise de version et s'arrêtent plutôt que de risquer une rétrogradation si l'ascendance ne peut pas être vérifiée. Dans l'ensemble, jcode cible les développeurs qui veulent un environnement de codage IA en terminal rapide et léger en mémoire, avec une mémoire persistante, une collaboration multi-agents et une configuration flexible des fournisseurs de modèles.