LocalGPT : Exécutez un assistant IA puissant localement en Rust avec des dépendances minimales

Présentation

LocalGPT est le premier assistant IA open-source de haut niveau qui fonctionne entièrement sur votre appareil. Rédigé en Rust, il est réparti dans un seul binaire, ne nécessite ni runtime JavaScript ni image Docker, et conserve toute la mémoire et la configuration dans des répertoires conformes à XDG. Le projet prend en charge Anthropic Claude, OpenAI, xAI (Grok), Ollama, GLM, et même les serveurs locaux qui exposent une API compatible OpenAI. Avec une intégration Telegram optionnelle, une interface web et une CLI puissante, LocalGPT vise à être le couteau suisse de toute personne souhaitant un chatbot privé à faible latence.

Pourquoi LocalGPT compte

  • Aucune dépendance cloud – Toutes les conversations, embeddings et outils s'exécutent localement.
  • Stockage de connaissances markdown persistant – Enregistrez tout, des notes de réunion aux extraits de code, et recherchez-les par mot‑clé ou similarité sémantique.
  • Pulsation autonome – Le mode daemon vous permet de programmer des tâches de fond qui ne bloquent jamais votre journée.
  • Sandbox intégré – Sandboxing au niveau du noyau (Landlock sur Linux, Seatbelt sur macOS, filtres seccomp partout) protège votre système pendant que l’assistant lance des commandes fournies par l’utilisateur.
  • Multiples interfaces – Discutez via le terminal, une interface web réactive, une application de bureau ou même un bot Telegram.

Démarrage rapide (Linux/macOS)

  1. Installez la CLI – cargo install localgpt
  2. Initialisez la configuration – localgpt config init
  3. Commencez à discuter – localgpt chat

Vous verrez une invite ressemblant à :

$ localgpt chat
> What’s the best way to set up a Rust project?
LocalGPT: ...

L’installeur récupère le binaire localgpt le plus récent depuis crates.io, crée un espace de travail propre sous ~/.local/share/localgpt, et écrit un config.toml minimal.

Approfondissement : configuration et mémoire

La configuration de LocalGPT se trouve dans ~/.local/share/localgpt/config.toml :

[agent]
default_model = "claude-cli/opus"

[providers.anthropic]
api_key = "${ANTHROPIC_API_KEY}"
Vous pouvez choisir n’importe quel fournisseur pris en charge. Si vous exécutez un serveur local, il suffit de pointer default_model vers openai/<your‑model> et de définir base_url. Par exemple, pour utiliser LM Studio :
[providers.openai]
api_key = "not‑needed"
base_url = "http://127.0.0.1:1234/v1"

Mémoire de l’espace de travail

Une banque de connaissances markdown se trouve sous <workspace>/knowledge/. Chaque fichier est automatiquement indexé grâce à SQLite FTS5 pour des recherches rapides par mot‑clé, et sqlite‑vec pour le matching de similarité sémantique. Les fichiers de niveau supérieur MEMORY.md, HEARTBEAT.md et SOUL.md offrent respectivement la mémoire à long terme, les tâches planifiées et les directives de personnalité.

Fonctionnalités avancées

Autonomie et Battement de cœur

Exécuter localgpt daemon start lance un serveur en arrière‑plan avec : - Battement de cœur – Des “ticks” périodiques pouvant déclencher des actions planifiées. - API HTTP – Expose /api/chat, /api/memory/search, etc. pour l’intégration. - Interface web – Accessible à http://localhost:31327 ou via l’interface graphique de bureau fournie.

Sandbox sécuritaire

Toutes les commandes shell s’exécutent via un sandbox imposé par le noyau. Sur Linux, vous obtenez Landlock + seccomp ; sur macOS, Seatbelt. Le sandbox impose également des limites d’exécution : 120 s de CPU, 1 MB stdout, 64 processus et une quota de fichiers de 50 MB. La politique par défaut bloque les écritures vers des emplacements sensibles comme ~/.ssh et ~/.aws.

Mitigation d’injection de prompt

LocalGPT supprime les marqueurs de token, applique des contrôles regex sur les phrases d’injection, et enveloppe le contenu externe dans des balises XML. Vous pouvez renforcer davantage l’assistant en ajoutant un fichier de politique LocalGPT.md signé avec votre clé appareil.

Communauté et extensibilité

  • Plugins CLI – Contribuez de nouveaux outils en ajoutant des crates Rust sous crates/.
  • Bot Telegram – Coupler le daemon avec un bot Telegram pour un accès mobile.
  • Sous‑projet de génération de monde – localgpt-gen vous permet d’instruire l’assistant à créer des scènes 3‑D via le moteur Bevy.

Le projet accepte les pull requests, notamment pour de nouvelles intégrations LLM, formats de mémoire ou améliorations du sandbox.

Cas d’usage

Scénario Comment LocalGPT aide
Base de connaissances personnelle Stocker des notes de réunion, des documents de recherche et des extraits de code en Markdown et les récupérer instantanément.
Bot d’assistance client à faible latence Déployer sur le même serveur gérant les tickets internes sans appels API externes.
Flux de travail sensibles à la vie privée Toutes les données, y compris les embeddings, ne quittent jamais l’appareil, satisfaisant des exigences strictes de conformité.

S’impliquer

  • Démarrer depuis le dépôt – git clone https://github.com/localgpt-app/localgpt
  • Construire à partir de la source – cargo build --release --workspace
  • Rejoindre le Discord – Partagez vos créations et demandez de l’aide.

LocalGPT est sous licence MIT avec une licence Apache‑2.0 pour les contributions, vous êtes donc libre d’utiliser, de modifier et de distribuer vos propres itérations.

Conclusion

LocalGPT prouve que de puissants assistants IA respectueux de la vie privée peuvent être construits avec une pile minimaliste pur Rust. Que vous soyez développeur, chercheur ou utilisateur soucieux de la vie privée, installer un GPT local vous donne un accès instantané et à faible latence aux avancées LLM sans sacrifier le contrôle. Essayez-le aujourd’hui, et rejoignez une communauté grandissante qui redéfinit la façon dont nous interagissons avec l’IA en périphérie.

Original Article: Voir l’original

Partager cet article