À propos du projet

IronClaw est un « Agent OS » open source positionné comme un assistant IA personnel sécurisé qui garde les données sous le contrôle de l'utilisateur. Il s'agit d'une réimplémentation en Rust inspirée d'OpenClaw, distribuée sous forme d'installateurs précompilés pour macOS, Linux et Windows/WSL, avec des builds depuis les sources nécessitant Rust 1.96+ et Node.js 22+ avec pnpm. La configuration est centrée sur la commande guidée `ironclaw onboard` : l'utilisateur choisit un fournisseur de LLM, saisit une clé API via une invite masquée, et IronClaw provisionne la configuration locale, un magasin de credentials chiffré et un jeton de connexion WebUI. Sur macOS et Linux, il installe et démarre également un service en arrière-plan et affiche un lien WebUI ; `ironclaw status` le réaffiche, et les utilisateurs Windows peuvent exécuter `ironclaw serve` au premier plan. La configuration est gérée via des commandes CLI telles que `ironclaw models set-provider`, `ironclaw config set` et `ironclaw config list` ; les secrets sont toujours demandés plutôt que passés en arguments, et les modifications de configuration ne redémarrent pas automatiquement le service. La philosophie déclarée est une opération locale, chiffrée et auditable sans télémétrie ni collecte de données, avec des capacités auto-extensibles et une sécurité en couches. Les fonctionnalités de sécurité incluent un sandbox WASM pour les outils non fiables avec permissions basées sur les capacités, une liste blanche de points de terminaison, une injection de credentials à la frontière hôte avec détection de fuite, des limites de débit et de ressources, et des défenses contre l'injection de prompts combinant détection de motifs, assainissement, règles de politique avec niveaux de gravité, et enveloppement des sorties d'outils. Les secrets sont décrits comme chiffrés avec AES-256-GCM, et les exécutions d'outils sont journalisées pour audit. Fonctionnellement, IronClaw prend en charge plusieurs canaux (REPL, webhooks HTTP, canaux WASM tels que Telegram et Slack, et une passerelle web avec streaming SSE/WebSocket), un sandbox Docker avec jetons par tâche et un modèle orchestrateur/travailleurs, des routines déclenchées par cron et par événements, un système de battement de cœur pour les tâches en arrière-plan, une exécution parallèle des tâches, et une auto-réparation des opérations bloquées. Les outils peuvent être construits dynamiquement comme modules WASM, et le protocole Model Context Protocol est pris en charge pour connecter des capacités externes ; des plugins peuvent être ajoutés sans redémarrage. La mémoire est persistante, utilisant un système de fichiers d'espace de travail plus une recherche hybride plein texte et vectorielle combinée via la fusion de rang réciproque, ainsi que des fichiers d'identité pour une personnalité et des préférences cohérentes. Le diagramme d'architecture décrit une boucle d'agent, un routeur d'intentions, un planificateur, des travailleurs, un orchestrateur, un registre d'outils, un moteur de routines, une passerelle web et une couche de sécurité. Le développement utilise les outils Rust standard (cargo fmt, clippy, tests contre une base de données de test PostgreSQL), et le projet est sous double licence MIT ou Apache-2.0.