2 points par GN⁺ 2025-04-15 | 1 commentaires | Partager sur WhatsApp
  • Stevens est un assistant IA simple construit à l’aide d’une table SQLite et de tâches cron
  • Stevens fournit chaque matin à l’utilisateur des informations comme son agenda, la météo et le courrier
  • L’architecture de Stevens est hébergée sur la plateforme Val.town, avec prise en charge du stockage SQLite, du traitement des requêtes HTTP et de l’envoi/réception d’e-mails
  • Stevens collecte des informations via diverses sources de données afin de fournir à l’utilisateur des informations personnalisées
  • Stevens est un projet personnel, et les utilisateurs peuvent forker le code pour créer leur propre outil IA

Stevens : un assistant IA modifiable

  • Stevens est un assistant IA dont le nom vient du majordome du roman Ishiguro "Remains of the Day"
  • Chaque matin, il fournit à l’utilisateur via Telegram des informations comme son agenda, la météo et le courrier
  • L’utilisateur peut communiquer avec Stevens via un chat Telegram

Architecture de Stevens

  • Stevens est hébergé sur la plateforme Val.town et utilise une table SQLite ainsi que des tâches cron
  • Le "carnet" de Stevens est une table SQLite qui stocke l’agenda et des informations de contexte
  • Des tâches cron appellent l’API Claude pour rédiger le brief du matin et l’envoyer sur Telegram

Méthode de collecte des données

  • Collecte des données d’agenda via l’API Google Calendar
  • Vérification des prévisions météo locales via une API météo
  • Traitement OCR des informations de courrier via USPS Informed Delivery
  • Ajout d’entrées de journal via les messages Telegram et les e-mails
  • Ajout chaque semaine d’un "fait amusant" pour apporter une touche originale aux mises à jour quotidiennes

Réflexions sur le projet

  • Pour les outils IA personnels, l’accès à diverses sources d’information est essentiel
  • La "mémoire" peut commencer de manière simple et être étendue selon les besoins
  • Stevens est configuré pour parler comme un majordome cérémonieux afin d’amuser l’utilisateur

Essayer par soi-même

  • Stevens n’est pas un produit commercial mais un projet personnel
  • Les utilisateurs peuvent forker le code pour créer leur propre outil utile
  • Il est possible de synchroniser avec le système de fichiers local à l’aide de la CLI Val Town

1 commentaires

 
GN⁺ 2025-04-15
Commentaire Hacker News
  • Je ne sais pas si c’est à cause de l’utilité de cette fonctionnalité, ou de l’expression du type « gentleman majordome britannique »

    • Je me demande pourquoi on lit cela sur le blog d’un ingénieur, et non dans le lancement d’un produit Apple ou Google
    • Il est décevant que ces deux entreprises n’appliquent pas la technologie IA à des domaines de « problème déjà résolu » comme le résumé ou les questions-réponses
    • S’il existe une opportunité liée à l’IA, elle pourrait menacer le duopole de ces deux entreprises
  • Je me suis demandé ce qui se passerait si mon petit utilitaire pouvait accéder à une boîte mail

    • J’ai un petit utilitaire qui vérifie la météo ou exécute des commandes système
    • Avec une boîte mail, il pourrait envoyer des informations et l’IA pourrait les analyser pour envoyer des e-mails ou générer de nouveaux messages
    • On pourrait l’utiliser utilement en analysant les e-mails, en les ajoutant à un stockage interne, puis en supprimant les messages
  • Je réfléchis à une idée de projet open source similaire

    • J’aimerais construire le backend autour d’un LLM auquel l’utilisateur peut accéder
    • Je me demande s’il serait possible de le relier à un écran tactile pour en faire un appareil de type Alexa
    • J’aimerais rendre extensibles les intégrations avec le calendrier, la météo, Homebridge, Spotify, etc.
    • Je ne peux pas consacrer beaucoup de temps à un projet en ce moment, mais j’aimerais collaborer avec des gens qui avancent dans cette direction
  • J’aimerais voir du hack IA pratique

    • Je préfère les intégrations pragmatiques avec des sources de données existantes, sans structure complexe ni vector DB
  • J’expérimente des moyens de résoudre le « point idéal des tokens de contexte »

    • Le LLM fonctionne en coopération avec une base de données pour stocker et résumer les informations
    • On peut générer des documents de synthèse afin de conserver le contexte tout en complétant les détails importants via la base de données
  • Je pensais qu’on utilisait une base sqlite pour la prédiction du prochain token

    • D’autres utilisent Claude
  • J’ai construit quelque chose de similaire avec mcp.run et des tâches

    • J’ai modifié les prompts pour vérifier si une conversation existe et enregistrer les résultats
    • On peut étendre les capacités du bot en ajoutant des servlets au registre
  • Stevens parlait au départ sur un ton sec, comme un produit Apple ou Google, mais c’était plus amusant de le faire parler comme un majordome très formel

    • L’un de mes plus gros griefs dans le monde des assistants personnels, c’est que les LLM parlent beaucoup trop
    • Tant que je ne serai pas devenu riche avec assez de temps pour devenir ami avec un assistant vocal, je n’ai pas besoin de J.A.R.V.I.S. mais de LCARS
  • Ce genre d’outils sera un terrain très fertile pour les hackers dans les années à venir

    • Une grande partie de la stack est déjà banalisée sous forme de plomberie OSS, et l’inférence hébergée est déjà peu coûteuse et facile
    • Il existe des problèmes de sécurité pour connecter un agent à l’e-mail et au calendrier, mais beaucoup préféreront contrôler toute la stack plutôt que d’en confier le contrôle à Apple ou Google
  • Je me demande si quelqu’un a déjà réfléchi à l’élagage de la mémoire ou à la synthèse

    • Au lieu de supprimer les anciens éléments, on pourrait envisager d’utiliser LRU ou de résumer les réponses et de les stocker dans la même table
    • Les données brutes disparaîtraient, mais une version compressée resterait, ce qui permettrait d’alléger la mémoire tout en préservant le contexte