jade

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.

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.jsonl avant 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 .env sont 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