OneCLI et claude-thermos : secrets en sécurité et sessions chaudes pour les agents en production
Deux outils open-source apparus sur Hacker News résolvent deux problèmes concrets de qui fait tourner des agents en production : garder les identifiants sécurisés et ne pas gaspiller des tokens quand les sessions refroidissent.
OneCLI est une gateway écrite en Rust qui s’interpose entre l’agent et les services externes. Au lieu de donner à chaque agent les vraies clés API, tu leur attribues un placeholder. Quand l’agent fait un appel HTTP, la gateway remplace le placeholder par la vraie clé, l’injecte dans la requête et la laisse partir. L’agent ne voit jamais le secret. Tu as un seul endroit pour gérer les clés, les rotationner et auditer ce que fait chaque agent.
claude-thermos résout un problème différent mais tout aussi opérationnel. Le cache de Claude Code a un TTL de 5 minutes : si plus de cinq minutes s’écoulent entre deux requêtes sur le même préfixe, le cache expire et le système réencode toute la conversation au tarif plein. Ça arrive souvent quand l’agent principal attend un subagent qui travaille longtemps, parce que le subagent a un préfixe de cache différent et ne rafraîchit pas celui du principal. claude-thermos lance un proxy local qui envoie du trafic keep-alive pour garder le cache chaud. Qui l’a développé mesure l’économie autour de 22% de la facture sur 185 sessions locales.
Pourquoi ça te concerne. Si tu mènes des agents hors de la démo, la gestion des identifiants et le contrôle des coûts sur les sessions longues sont deux problèmes que tu rencontres vite. Les deux outils naissent de qui a vécu ces problèmes, pas d’un labo qui théorise.
Si tu veux essayer. Les README des deux dépôts ont un quick start. Les commandes ne sont pas encore testées sur le banc d’essai du site : commence par là pour le premier pas.
En détail
OneCLI affronte le problème de la surface d’exposition des identifiants distribués. Quand tu as dix agents qui appellent vingt API différentes, les clés finissent éparpillées : dans les fichiers .env, dans les variables d’environnement des conteneurs, dans les prompts système. Chaque copie est un point d’exposition. Le pattern d’OneCLI est celui d’une gateway d’authentification, une architecture utilisée depuis des années dans les infrastructures d’entreprise (HashiCorp Vault, AWS Secrets Manager) mais peu accessible à qui travaille avec des agents AI à petite échelle.
La gateway est écrite en Rust et tourne comme proxy HTTP. L’agent s’authentifie auprès de la gateway avec un token d’accès (header Proxy-Authorization), fait son appel HTTP vers le service externe avec un placeholder, et la gateway fait le swap avant que la requête parte. Les secrets sont chiffrés avec AES-256-GCM et déchiffrés seulement au moment de la requête, appairés par host et motif de path. Il y a un tableau de bord Next.js pour gérer les agents, les secrets et les permissions.
Les limites sont concrètes. Le dépôt a 67 issues ouvertes sur 304 commits, signe d’un projet jeune avec beaucoup à régler. Le mode quick start est single-user sans authentification : pour le multi-utilisateur il faut configurer OAuth. Le modèle de menace suppose que l’agent ne peut pas accéder directement à la gateway ou lire son filesystem, mais dans beaucoup de déploiements réels ce n’est pas garanti. Si l’agent tourne sur le même host que la gateway, un agent compromis pourrait tenter d’atteindre le secret store directement.
claude-thermos résout un problème plus étroit mais économiquement pertinent. Le prompt caching de Claude Code fonctionne avec un TTL de 5 minutes : tant que le cache est vivant, chaque tour coûte 0.1x du prix d’input au lieu du tarif plein. Mais quand l’agent principal délègue une tâche à un subagent, le subagent a un system prompt et un tool set différents, donc travaille sur un préfixe de cache séparé. Pendant que le subagent tourne pendant plus de 5 minutes, le préfixe de l’agent principal vieillit et expire. Quand le subagent revient, l’agent principal reprend avec un historique identique mais cache manquant : il doit réencoder 200K-500K tokens au taux d’écriture (1.25x au lieu de 0.1x).
claude-thermos lance un reverse proxy local qui intercepte le trafic vers l’API d’Anthropic, identifie les lignes de cache (chaînes de préfixe) et envoie des requêtes keep-alive quand il détecte que l’agent principal est inactif depuis trop longtemps. Les paramètres sont configurables : seuil d’idle, intervalle entre les warm-up, nombre maximum de cycles par épisode.
L’économie déclarée de 22% est mesurée sur 185 sessions locales par qui a développé l’outil, pas sur un benchmark indépendant. L’échantillon est une personne, avec ses propres patterns d’utilisation. L’outil exige Python 3.11+ et ne fonctionne qu’avec la CLI de Claude Code, pas avec d’autres clients ou API.
Comme nous le racontions à propos du bug qui a supprimé le répertoire home, le point faible des agents en production n’est pas le modèle : c’est l’infrastructure autour. OneCLI et claude-thermos sont deux réponses artisanales à des problèmes que les fournisseurs n’ont pas encore résolus dans leurs produits. Pour qui construit des agents, la leçon est méthodique : d’abord comprendre où se rompt la chaîne opérationnelle (identifiants exposés, cache qui expire), puis chercher ou écrire l’outil spécifique.