Réglages → Web
La recherche web permet au chat d'aller vérifier quelque chose en direct au lieu de répondre depuis la mémoire seule. Elle est éteinte tant que vous ne l'avez pas configurée ici. L'entrée du rail s'appelle Web ; la page est titrée Recherche web et son sous-titre dit Recherche web optionnelle et souveraine. Désactivée par défaut — rien ne quitte ta machine tant que tu n'as pas configuré une instance et activé l'option. Les recherches sont affichées sous chaque réponse.
La page a deux paliers. Le simple, affiché par défaut, c'est la carte d'état, l'interrupteur principal et le seul identifiant dont le fournisseur actif a besoin. Tout le reste est derrière Mode pro, parce qu'une mauvaise valeur là-dedans est invisible dans l'interface et ruine chaque réponse.
Chaque changement s'enregistre aussitôt (les champs texte quand vous les quittez) ; une ligne ✓ Enregistré le confirme en bas. Tout changement remet aussi la carte d'état sur Jamais testé, pour qu'un verdict vert ne survive jamais au réglage sur lequel il a été mesuré. Pendant le chargement de la configuration la page dit Chargement…. Les erreurs du lancement du conteneur sont traduites ; les autres échecs sont imprimés tels quels, certains en anglais ("Save failed", "test failed"…).
Les valeurs d'usine : recherche web désactivée, fournisseur Jina, pas de clé, pas d'URL d'instance, Résultats max 5, Reformuler la question activé, Profondeur rapide, Filtre de pertinence activé, aucun mot déclencheur.
Carte d'état
Un point coloré, un titre, une ligne de détail et un bouton Tester (Test… pendant qu'il tourne). Le bouton est grisé tant que le fournisseur actif n'a pas son identifiant.
| Verdict | Détail |
|---|---|
| Non configuré | Renseigne l'identifiant ci-dessous, puis lance un test. |
| Configuré, mais éteint | Active « Activer la recherche web » pour rendre le bouton du chat disponible. |
| Test en cours… (bleu) | |
| Jamais testé | Lance un test pour vérifier que le moteur renvoie vraiment des résultats sur ce que tu demandes. |
| Échec (rouge) | l'erreur renvoyée |
| Répond, mais renvoie du hors-sujet (orange) | Le moteur a répondu sans erreur, mais les résultats n'ont aucun rapport avec la requête de contrôle. Garde le filtre de pertinence actif, ou change de fournisseur. |
| Opérationnel (vert) | {count} résultats pertinents en {ms} ms. |
Après un test, le titre du premier résultat s'imprime en italique : Premier résultat : {title}.
L'app cherche une requête de contrôle fixe, « Electron release notes », et ne déclare le moteur opérationnel que si au moins un résultat contient « electron » dans son titre ou son adresse. Un moteur qui répond sans erreur mais avec les résultats de quelqu'un d'autre est cassé de la seule façon qui compte, et c'est ce que le verdict orange attrape.
Activer la recherche web
Interrupteur principal. Désactivé par défaut — active-le pour rendre le toggle du chat disponible. Activé, le chat gagne un bouton web ; éteint, rien n'est jamais cherché, quoi que dise le reste de la page.
L'identifiant
Seul l'identifiant du fournisseur actif est affiché. Le fournisseur lui-même se choisit en Mode pro (plus bas) ; Jina est le défaut.
Jina (défaut)
Clé API Jina : un champ de mot de passe, texte indicatif jina_…,
enregistré quand vous le quittez. Requise pour Jina Search. Gratuite en
~1 min sur jina.ai (10M tokens offerts), puis colle-la ici. Le lien
Obtenir une clé gratuite ouvre jina.ai.
Avec ce fournisseur, chaque recherche envoie votre requête au service Jina, et seulement quand la recherche web est active (l'indication du Mode pro le dit en toutes lettres). La clé reste dans les réglages de l'app sur votre machine et est envoyée à Jina avec chaque requête.
SearXNG
URL de l'instance SearXNG : texte indicatif http://127.0.0.1:8888,
enregistrée quand vous quittez le champ. SearXNG auto-hébergé avec la
sortie JSON activée, ex. http://127.0.0.1:8888. Sans clé API, privé.
En dessous, un panneau Faire tourner SearXNG : Un clic et Docker fait le reste : il écrit un fichier de réglages avec la sortie JSON activée, télécharge l'image, démarre le conteneur et attend qu'il réponde vraiment. Le premier lancement télécharge ~1 Go.
- Avoir Docker qui tourne
Le panneau vérifie Docker d'abord et distingue les deux cas bloquants, parce qu'ils se ressemblent dans un terminal et demandent des remèdes opposés. Docker absent : Docker n'est pas installé. C'est la seule étape qu'on ne peut pas faire à ta place — c'est une vraie installation, et sous Windows elle demande un redémarrage., avec quatre faits (Environ 500 Mo à télécharger, gratuit pour un usage personnel., Sous Windows, il active WSL2 et demande un redémarrage., Une seule fois : ensuite, lancer SearXNG tient en un clic ici., Nécessaire uniquement pour le chemin SearXNG. Le chemin hébergé (Jina + clé gratuite) ne demande rien de tout ça.) et un bouton Télécharger Docker Desktop. Docker installé mais arrêté : Docker est installé mais ne tourne pas. Démarre Docker Desktop, puis relance., et Ouvre Docker Desktop et attends que l'icône baleine cesse de s'animer (~30 s au démarrage à froid), puis relance. Rien d'autre à configurer.
- Lancer SearXNG
Cliquez Lancer SearXNG (grisé tant que Docker n'est pas prêt). La phase s'imprime en direct : Vérification de Docker…, Téléchargement de l'image (~1 Go, une seule fois)…, Démarrage du conteneur…, Attente de la réponse de l'instance…, Prêt. Le bouton dit En cours… pendant ce temps.
- Laisser la page finir la configuration
Une fois que l'instance répond vraiment, la page bascule le fournisseur sur SearXNG, remplit URL de l'instance SearXNG toute seule, et lance le Test. Le conteneur s'appelle
mnemosyne-searxng, écoute sur le port 8888 et garde ses réglages dans~/.mnemosyne/searxng. - Arrêter ou relancer plus tard
La ligne d'état dit En marche ou Arrêté — relance-le pour repartir ; le même bouton devient Arrêter pendant que le conteneur tourne.
Si un lancement échoue, la raison est traduite : Docker n'est pas installé., Docker est installé mais ne tourne pas — démarre Docker Desktop., ou Le conteneur a démarré mais n'a jamais répondu. Vérifie que le port 8888 est libre, puis regarde : docker logs mnemosyne-searxng.
Ou lance la commande toi-même déplie le chemin manuel : Rien à cloner, rien n'est embarqué : SearXNG est un conteneur que tu lances toi-même. Cette commande en démarre un sur le port 8888 — il faut ensuite activer la sortie JSON dans son settings.yml, sinon il ne sert que du HTML et l'app ne peut pas le lire. Voir docs/features/web-search.md, puis lance le test., la commande elle-même :
docker run -d --name mnemosyne-searxng --restart unless-stopped -p 8888:8080 -v ~/.mnemosyne/searxng:/etc/searxng searxng/searxng:latest
et un bouton Copier la commande qui dit Copié un instant. La mise à jour vous revient aussi : Pour mettre à jour : docker pull searxng/searxng:latest, puis recrée le conteneur. La mise à jour suit ton rythme, pas celui de l'app.
Tant que le champ d'URL est vide, un bouton propose Pas de Docker ? Passer au chemin hébergé (Jina + clé gratuite). Il existe parce que le sélecteur de fournisseur est caché dans le Mode pro : sans lui, « SearXNG sélectionné, pas d'URL » était une impasse.
Mode pro
Une ligne Mode pro déplie les leviers ci-dessous. Son état ouvert ou fermé est mémorisé sur cette machine seulement, comme une préférence d'affichage. Quand elle est fermée et qu'un levier de qualité n'est pas à sa valeur recommandée, la ligne porte un badge orange modifié : une configuration dégradée ne doit pas se cacher derrière un panneau replié bien propre.
La section pro
Fournisseur et leviers de qualité. Les réglages ci-dessus sont ceux qui ont été mesurés comme fonctionnels — ne touche à ceux-ci que si tu sais pourquoi.
- Fournisseur de recherche : Jina Search (hébergé — clé API gratuite) (défaut) ou SearXNG (auto-hébergé — souverain). L'indication suit le choix : Le plus simple : colle une clé Jina gratuite ci-dessous (inscription 1 min sur jina.ai). Ta requête est envoyée au service Jina, uniquement quand la recherche web est active. ou Confidentialité maximale : tu héberges toi-même le relais de recherche. Nécessite une instance SearXNG ci-dessous. Le bloc d'identifiant du fournisseur que vous venez de choisir apparaît dans le palier simple, au-dessus de cette section, malgré le mot « ci-dessous ».
- Reformuler la question : activé par défaut. Laisse l'IA réécrire ta question en une requête de recherche ciblée avant de chercher (meilleurs résultats). +1-2s. Éteint, un avertissement orange apparaît : Désactivé : ta question part telle quelle. Une formulation non anglaise renvoie des résultats sans rapport sur le moteur hébergé. C'est le levier le plus puissant de la page.
- Filtre de pertinence : activé par défaut. Écarte les résultats qui ne partagent aucun mot significatif avec la requête, avant qu'ils n'atteignent le modèle. Éteint : Désactivé : des résultats sans rapport sont injectés dans la réponse. Les moteurs renvoient parfois les résultats de quelqu'un d'autre.
- Profondeur : Rapide — extraits (défaut, Rapide : titres + extraits du moteur de recherche.) ou Profond — lire les pages (plus lent) (Lit le texte complet des meilleurs résultats pour des réponses plus exactes et ancrées — quelques secondes de plus.). Profond avec le filtre de pertinence éteint ajoute un avertissement : Profond sans filtre de pertinence amplifie les mauvais résultats : les premières pages sont lues en entier et remplissent le prompt.
- Tes propres mots déclencheurs : une zone de texte de trois lignes, texte indicatif morgen / Wetter / cours BTC. Un par ligne (les virgules marchent aussi). Toute question contenant l'un de ces mots part sur le web immédiatement, avant que le modèle ou le score n'aient leur mot à dire. Casse et accents ignorés. Et : Les déclencheurs intégrés ne couvrent que l'anglais, le français et l'espagnol — c'est ici que tu ajoutes ta langue, ou un sujet que tu veux toujours vérifier en direct (un cours, un concurrent, un vol). Actif en mode Auto ; ne passe jamais outre le web sur Off. La liste est nettoyée quand vous quittez le champ (retours à la ligne, virgules ou points-virgules ; doublons fusionnés sans tenir compte de la casse ni des accents) et réécrite avec ce qui a été gardé. Un mot en écriture latine ne se déclenche que sur un mot entier (« prix » reconnaît « le prix du blé », pas « prixe ») ; les autres écritures se reconnaissent n'importe où dans le texte.
- Résultats max : 3, 5, 8 ou 10, 5 par défaut. Le mode profond lit les 3 premiers en entier, quel que soit ce nombre.
- Rétablir les réglages recommandés n'apparaît que si la reformulation ou le filtre de pertinence est éteint, et réactive les deux. Profondeur, nombre, fournisseur et mots déclencheurs restent tels quels.
La recherche web est désactivée par défaut, et éteinte, rien n'est cherché. Activée : la requête part chez le fournisseur, le service Jina ou votre propre instance SearXNG. Avec Reformuler la question activé, l'IA réécrit d'abord votre question, sur la route de modèle que le chat utilise. Avec Profond, les pages des meilleurs résultats sont récupérées et lues en entier. Ce qui a été cherché est affiché sous chaque réponse.