Jarvis
4 novembre 2025 | 3 mins de lectureExplication
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

🚀 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
- Créez une application sur Spotify for Developers
- Récupérez votre "Client ID" et "Client Secret"
- Ajoutez-les dans
.env:
SPOTIFY_CLIENT_ID=<client_id>
SPOTIFY_CLIENT_SECRET=<client_secret>
Configuration Trakt.Tv
- Créez une application sur Trakt.Tv API
- Récupérez votre "Client ID"
- Ajoutez-la dans
.env:
TRAKT_API_KEY=<client_id>
📦 Technologies
- AI SDK - The AI Toolkit for TypeScript
- Drizzle - ORM for you to
settleship 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.