Jarvis

4 novembre 2025 | 3 mins de lecture

Explication

Just A Rather Very Intelligent System

Une application conversationnelle pour dialoguer avec plusieurs agents IA spécialisés, chacun doté de capacités uniques et de personnalités distinctes.

🎭 Agents IA

Jarvis 🤖

Expert en développement Web et conseiller en UI/UX. Capable de consulter des pages Web pour fournir des analyses et recommandations précises.

Ed 🎬

Le meilleur d'Ed Harris et Ed Sheeran réunis ! Recommande des films, séries et musiques du moment grâce aux intégrations Spotify et Trakt.Tv.

Moka 🐱

Un assistant Chat avec son propre caractère... Qui n'en fait qu'à sa tête !

🎯 Objectifs

Ce projet a été conçu pour :

  • Démontrer comment implémenter un agent IA avec AI SDK (by Vercel) ;
  • Éprouver les limites des agents et illustrer l'intérêt des "tools", ces extensions qui décuplent les capacités des LLMs ;

📸 Aperçu

Tools in Action

🚀 Démarrage

Cloner le Projet

git clone https://github.com/dmnchzl/jarvis.git
cd jarvis

Installer les Dépendances

pnpm install

Démarrer l'Application

pnpm run dev

Autres Commandes...

# Lancer les tests
pnpm run test

# Construire pour la version de production
pnpm run build

# Prévisualiser la version de production
pnpm run preview

⚙️ Configuration

1. API Gemini

Créez un fichier .env à la racine du projet et ajoutez votre clé API :

AI_API_KEY=<google_generative_ai_api_key>

NB : Pour récupérer votre clé API, rendez-vous sur Google AI Studio

2. Persistance des Données (Optionnel)

Par défaut, l'application utilise le stockage en mémoire. Voici la démarche, pour activer PostgreSQL et Redis :

Installer Docker

Assurez-vous d'avoir Docker et Docker Compose installés sur votre machine.

Configurer Docker Compose

Modifiez le fichier docker-compose.yml selon vos besoins.

Compléter les Variables d'Environnement

POSTGRES_URL=postgresql://<user>:<password>@localhost:5432/<db>
REDIS_URL=redis://localhost:6379

Monter les Services

docker compose up -d

Autres Commandes...

# Consulter les services
docker compose ps

# Démonter les services
docker compose down

3. APIs Spotify and Trakt.Tv (Optionnel)

Ed 🎬 a besoin d'une configuration supplémentaire pour accéder aux catalogues de films, séries et musiques.

Configuration Spotify

  1. Créez une application sur Spotify for Developers
  2. Récupérez votre "Client ID" et "Client Secret"
  3. Ajoutez-les dans .env :
SPOTIFY_CLIENT_ID=<client_id>
SPOTIFY_CLIENT_SECRET=<client_secret>

Configuration Trakt.Tv

  1. Créez une application sur Trakt.Tv API
  2. Récupérez votre "Client ID"
  3. Ajoutez-la dans .env :
TRAKT_API_KEY=<client_id>

📦 Technologies

  • AI SDK - The AI Toolkit for TypeScript
  • Drizzle - ORM for you to settle ship ship ship
  • HTMX - High Power Tools for HTML
  • Nitro - Next Generation Server Toolkit
  • Tailwind CSS - Rapidly build modern websites without ever leaving your HTML

📄 License

           DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
                   Version 2, December 2004

Copyright (C) 2025 Damien Chazoule <dmnchzl@pm.me>

Everyone is permitted to copy and distribute verbatim or modified
copies of this license document, and changing it is allowed as long
as the name is changed.

           DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
  TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

 0. You just DO WHAT THE FUCK YOU WANT TO.