Fonctionnalités
Ce que jade fait de vos documents
Une application Windows native (Flutter) qui démarre un backend Python local, à l'écoute sur 127.0.0.1 uniquement.
Recherche et sources
- Recherche hybride
Vecteurs et BM25, fusionnés, puis reclassés. Les embeddings sont calculés sur le processeur, en local.
- Sources numérotées
Chaque réponse tirée de vos documents liste les passages utilisés.
- Types de fichiers
.docx .xlsx .xls .pdf .txt .md .csv .html .htm .odt .eml .msget, au mieux,.pst. - OCR
L'OCR local des images et des PDF numérisés est optionnel et ne fait pas partie de l'installateur.
Trois modes
Choisis sur l'écran d'accueil, ou laissés en automatique.
- Vos documents
Cherche dans l'index et répond à partir des passages trouvés.
- Recherche web
Utilise votre SearXNG, ou DuckDuckGo directement depuis le PC si aucun n'est configuré.
- Créer un fichier
Fichiers Word, Excel, PDF, PowerPoint, CSV, texte, Markdown et HTML, dans
Documents\Jade.
Conversations
- Organisées
Dossiers, épingles, recherche, export Word et une mémoire locale entre les conversations.
- Incognito
Un mode incognito ne conserve rien.
- Chiffrées
Les conversations sont chiffrées avec la clé du compte Windows. Passez par la sauvegarde pour les déplacer vers une autre machine.
Ce qui quitte la machine
Les documents restent. Voici ce qui sort.
- La question et de courts extraits
Envoyés en HTTPS au serveur d'inférence que vous configurez (Ollama derrière Cloudflare Access).
- Chaque appel sortant est d'abord journalisé
Chaque appel est écrit dans
outbound.jsonlavant d'être envoyé. Ouvrez ce fichier pour vérifier ce qui sort. - Ni télémétrie, ni API cloud
La télémétrie de ChromaDB est désactivée.
- Droits NTFS
Un utilisateur n'obtient jamais l'extrait d'un fichier qu'il n'a pas le droit de lire.
Exploitation
- Poste ou serveur RDS
Sur un serveur RDS, chaque session a son propre backend sur son propre port.
- Mises à jour
Une vérification des mises à jour auprès de la dernière version d'un dépôt Gitea que vous configurez : un bouton sur les postes, une tâche planifiée de nuit sur les serveurs RDS.
- Licences, désactivées par défaut
Le dépôt contient un serveur de licences optionnel, pour qui exploite jade pour des clients et gère des abonnements. Il est désactivé par défaut (
LICENSE_ENABLED=0). Une fois activé, l'envoi de questions est bloqué en fin de période, et l'historique reste lisible. Voir Licensing.
Ce qu'il ne fait pas
- D'autres systèmes
Windows 10 et 11 (x64) uniquement. Il n'existe ni version ni installateur pour macOS ou Linux.
- D'autres langues
L'interface et les réponses sont en français uniquement.
- Répondre sans serveur
Il lui faut un serveur d'inférence joignable. Sans lui, jade ne peut pas répondre.
- Garder les extraits sur le PC
La question et de courts extraits quittent bien le PC, par conception. La recherche web envoie la question à votre SearXNG, ou à DuckDuckGo si aucun n'est configuré.
- Fournir un installateur signé
Il n'y a pas de version GitHub : vous compilez l'installateur vous-même. Il n'est pas signé : SmartScreen affiche un éditeur inconnu.
- Protéger les secrets des processus locaux
Les secrets du
.envsont scellés avec DPAPI au niveau de la machine : tout processus local de cette machine peut donc les déchiffrer. Sur un serveur RDS partagé, restreignez le jeton de service Cloudflare. - Chiffrer les sauvegardes
Les sauvegardes (
.jadebak) ne sont pas chiffrées. - Indexer en temps réel
Il n'y a pas de service d'indexation Windows. L'index est reconstruit toutes les 30 minutes par défaut (
REINDEX_MINUTES).
Compiler jade
Aucun installateur n'est publié. Les étapes et les prérequis sont sur la page de téléchargement et dans la documentation.
$ git clone https://github.com/yetysw/jade.git && cd jade
$ python -m venv .venv
$ .venv\Scripts\activate
$ pip install -e .[dev]
$ cd flutter_app && flutter build windows --release && cd ..
$ python -m PyInstaller jade.spec --noconfirm
$ "%LOCALAPPDATA%\Programs\Inno Setup 6\ISCC.exe" installer\jade.iss