Skip to content
/ SYA Public

🧠 SYA – Assistant personnel local, modulaire et auto-hĂ©bergĂ©, basĂ© sur Ollama, Rust (Actix) et Next.js. L’alternative open-source Ă  Jarvis.

License

Notifications You must be signed in to change notification settings

Sycatle/SYA

Repository files navigation

SYA – Simplify Your Assistant

Assistant personnel local, Ă©thique et Ă©volutif – votre Jarvis open-source, conçu pour le respect de la vie privĂ©e.

GitHub stars License Rust Non Commercial Use Only


Aperçu

SYA est un assistant IA local, auto-hébergé, développé en Rust. Il fonctionne 100% en local, sans cloud, pour préserver vos données et votre vie privée. Pensé comme un "Jarvis" open-source, il utilise Ollama pour l'inférence LLM, stocke toutes les conversations dans PostgreSQL et propose une interface moderne en Next.js.

💡 Objectif : Offrir une base solide, privĂ©e et extensible pour tous ceux qui rĂȘvent d'un assistant personnel intelligent Ă  la maison, sans compromis sur la confidentialitĂ©.


Fonctionnalités principales

  • 🔒 ConfidentialitĂ© totale : fonctionne sans internet, rien ne quitte votre machine.
  • đŸ€– Assistant conversationnel IA : prompt via une interface web moderne.
  • đŸ—ƒïž Persistance PostgreSQL : historique, conversations et gestion multi-utilisateur.
  • 🧠 MĂ©moire conversationnelle : chaque conversation a son propre contexte.
  • 🔌 Extensible : architecture pensĂ©e pour les plugins, scripts, domotique et intĂ©grations futures.
  • 🐳 DĂ©ploiement facile : Docker Compose, support GPU prĂȘt Ă  l'emploi.
  • ⚡ API REST moderne : backend Rust (Actix Web), rapide et sĂ©curisĂ©.
  • đŸ›Ąïž SĂ©curitĂ© renforcĂ©e : validation stricte, CORS sĂ©curisĂ©, JWT courts.

Structure du projet

apps/
  api/                 Backend Rust (Actix)
  web/                 Frontend Next.js
packages/
  ui/                  Composants partagés
  eslint-config/       Config ESLint
  typescript-config/   Config TypeScript
docker-compose.yml     Orchestration des services
start.sh              Script de démarrage automatique
stop.sh               Script d'arrĂȘt

Installation rapide

Prérequis

  • Docker (obligatoire)
  • pnpm (installĂ© automatiquement si manquant)

🚀 DĂ©marrage en une commande

git clone https://github.com/Sycatle/SYA.git
cd SYA
chmod +x start.sh stop.sh
./start.sh

Le script vérifie automatiquement les prérequis, installe les dépendances et démarre tous les services !

Services démarrés

Commandes utiles

# Démarrer SYA
./start.sh

# ArrĂȘter SYA
./stop.sh

# Voir les logs
docker-compose logs -f

# Redémarrer
docker-compose restart

# Supprimer toutes les données
docker-compose down -v

PremiĂšre utilisation

  1. Ouvrez http://localhost:3000
  2. Créez un compte avec votre email
  3. Connectez-vous et commencez Ă  discuter !
  4. Téléchargez un modÚle via l'interface (ex: llama3, mistral, etc.)

💡 Conseil : Commencez avec llama3 qui est rapide et efficace pour la plupart des tñches.


Configuration de production

Pour déployer SYA en production, configurez les variables d'environnement suivantes :

# Sécurité
RUST_ENV=production
JWT_SECRET=your-super-secret-jwt-key-here-minimum-16-chars

# CORS - Liste des domaines autorisés séparés par des virgules
ALLOWED_ORIGINS=https://yourdomain.com,https://www.yourdomain.com

# Rate Limiting
RATE_LIMIT_WINDOW=900
RATE_LIMIT_MAX_REQUESTS=100

🔒 SĂ©curitĂ© :

  • En production, le CORS est strict et n'autorise que les domaines spĂ©cifiĂ©s dans ALLOWED_ORIGINS
  • La clĂ© JWT doit faire au minimum 16 caractĂšres
  • Si JWT_SECRET n'est pas dĂ©fini ou est trop courte, une clĂ© alĂ©atoire de 32 caractĂšres sera gĂ©nĂ©rĂ©e

Cas d'usage

  • Assistant personnel privĂ© : prise de notes, rappels, gestion de tĂąches.
  • Base pour domotique : scripts maison, pilotage MQTT/Home Assistant (bientĂŽt).
  • Plateforme Ă©volutive : expĂ©rimentation LLM, plugins, extensions mobiles ou vocales.

Roadmap

Phase Avancement Fonctionnalités clés
Phase 1 ✅ Auth, conversations, IA via Ollama, stockage PostgreSQL
Phase 2 đŸ› ïž En cours MĂ©moire conversationnelle avancĂ©e, refonte backend, persistance
Phase 3 ⏳ Bientît Plugins, assistant vocal local, dashboard, domotique, chiffrement

Voir la Roadmap détaillée pour le suivi complet.


Contribuer

Envie de participer ? Toutes les contributions sont bienvenues !

  1. Forkez ce repo et créez votre branche : git checkout -b ma-feature
  2. Développez, puis proposez une PR.
  3. Signalez bugs ou idées via Issues ou lancez une Discussion.

👉 PrioritĂ© aux sujets frontend, intĂ©gration de nouveaux modĂšles, mĂ©moire, expĂ©rience utilisateur, plugins.

Veuillez lire notre code de conduite (à créer si besoin).


Communauté et contact


Licence

Business Source License 1.1 Usage strictement non commercial jusqu'au 1er janvier 2028, puis conversion automatique en Apache 2.0. Voir LICENSE pour les détails.


Mots-clés

Assistant IA local, Rust, Ollama, Actix, Docker, PostgreSQL, self-hosted AI, privacy-first, LLM, chatbot open-source, Jarvis local, domotique, automation, extension, plugins, Next.js, GPT alternative.

About

🧠 SYA – Assistant personnel local, modulaire et auto-hĂ©bergĂ©, basĂ© sur Ollama, Rust (Actix) et Next.js. L’alternative open-source Ă  Jarvis.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •