Présentation

Talorys est un assistant IA open‑source qui s’exécute entièrement dans un compte Cloudflare personnel. Il propose un chat en temps réel, une mémoire persistante, la gestion de tâches, de notes et de rappels programmés, le tout sans serveur dédié, base de données externe ou service de télémétrie. Le projet cible un usage mono‑utilisateur et se veut compatible avec le plan gratuit de Cloudflare, ce qui le rend accessible à toute personne disposant d’un compte Cloudflare.

Architecture technique

L’interface web, développée en React, est hébergée sur Cloudflare Pages et communique via HTTPS avec une fonction Pages (/api/*) qui utilise un service binding vers un Worker privé. Ce Worker, construit avec le routeur Hono, expose l’agent via getAgentByName("personal-agent"). Les données de l’assistant – conversations, mémoires, tâches, notes, projets et paramètres – sont stockées dans un Durable Object qui intègre une base SQLite. Les rappels et les routines récurrentes s’appuient sur les alarms du Durable Object, éliminant ainsi tout besoin de processus en continu.

Le modèle de génération de texte provient de Workers AI, précisément @cf/zai-org/glm-4.7-flash, qui supporte le streaming et l’appel d’outils. Les réponses du chat sont transmises au navigateur via Server‑Sent Events, garantissant un flux continu sans rechargement de page. En cas d’indisponibilité du quota AI gratuit, les fonctionnalités hors génération de texte (mémoire, tâches, rappels) restent opérationnelles.

Processus de déploiement

L’installation s’effectue en une seule commande :

npx create-talorys@latest
. Le script vérifie la version de Node.js (≥ 20.18) et utilise le CLI wrangler intégré pour authentifier l’utilisateur auprès de Cloudflare. Il propose de choisir le compte cible, de définir un mot de passe propriétaire (hashé localement avec PBKDF2‑SHA256) et génère un secret de session de 256 bits. Ensuite, le script crée le Worker privé, le Durable Object SQLite, les secrets Cloudflare, et déploie le projet Pages avec le binding de service. Une fois le déploiement terminé, le script valide la disponibilité du frontend, de l’endpoint d’authentification et du Worker.

Limites et perspectives

Le modèle AI utilisé bénéficie d’une allocation quotidienne gratuite, mais dépassement du quota entraîne la désactivation du texte généré, ce qui peut réduire l’expérience utilisateur. Le design mono‑utilisateur exclut la collaboration multi‑compte et la gestion de rôles, limitant l’usage à un seul propriétaire. De plus, l’absence de services payants tels que R2, D1 ou KV signifie que la persistance dépend exclusivement du Durable Object SQLite, dont la capacité de stockage est plafonnée par les limites du plan gratuit. Enfin, la dépendance à l’infrastructure Cloudflare rend le service sensible aux changements de politique tarifaire ou de disponibilité des Workers AI.