Dinoer

Posez une question à un assistant augmenté par la recherche et il vous fournira une réponse. Ce qu’il ne vous fournit pas, c’est le corpus qu’il a réellement consulté pour la produire — et le 14 août 2026, une expérience réelle a prouvé que cet écart n’était pas théorique : avec la possibilité de « planifier avant d’extraire », un modèle délégué a effectué douze recherches web en direct, invisibles dans le texte final, et a répondu à partir de pages qui n’avaient été collectées par personne.

C’est le problème que Dinoer cherche à résoudre, et non celui pour lequel il existe afin de gagner en volume. Ce sur quoi Dinoer est réellement en compétition →

Avant le nom, la preuve

La commande ci-dessous est celle que vous taperiez. La sortie est réelle et a été capturée le 15 août 2026, contre https://example.com, en utilisant le chemin d’appel réel (shot.py, Dinoer 1.0.0, guide-version 1.6). Elle est abrégée : la réponse réelle contient plus de données, notamment des statistiques DOM, une latence par action et un compteur de navigation respectueuse. Les clés sont en français parce que l’outil lui-même les nomme ainsi — ce n’est pas une traduction inachevée.

/opt/dinoer/venv/bin/python3 /opt/dinoer/shot.py \
  --url https://example.com --a11y --guide-version 1.6
{"succes": true, "http_status": 200,
 "a11y_tree": "- heading \"Example Domain\" [level=1]\n- paragraph: This domain is for use in documentation examples…\n- paragraph:\n  - link \"Learn more\":\n    - /url: https://iana.org/domains/example",
 "boussole": {"titre_page": "Example Domain", "dernier_code_http": 200,
              "respect": {"actions_executees": 0, "duree_totale_ms": 2910}},
 "etat": {"pret_a_agir": true, "niveau_confiance": "eleve"}}

Aucun PNG nulle part dans cette sortie. Pas parce qu’il aurait été retiré avant publication — parce qu’aucun n’a jamais été produit. --guide-version n’est pas une décoration. Sans lui, vous obtenez {"succes": false, "erreur": "guide_non_lu"} et rien d’autre ne se passe — c’est ainsi qu’un agent prouve avoir lu le guide avant de toucher une cible réelle. Pourquoi ce verrou existe →

Ce qu’est Dinoer

Dinoer explore un grand nombre de sources publiques et compile à partir de celles-ci un signal sourcé et vérifiable, le tout sur un matériel aussi modeste qu’un Raspberry Pi 5.

C’est une version dérivée de Diwall (automatisation visuelle des navigateurs pour les LLM), dont toute la couche de perception a été supprimée : aucun instantané, aucun ensemble de marqueurs, aucun modèle de vision, jamais. Dinoer ne regarde jamais une page ; il la lit : DOM, arbre d’accessibilité, texte de la page nettoyé.

Requête → découverte SearXNG → collecte HTTP légère
      → escalade vers un vrai navigateur uniquement pour les pages qui en ont besoin
      → synthèse par un LLM délégué → rapport Markdown daté et sourcé

Ce sur quoi il ne concurrence pas Un assistant de recherche généraliste avec des moteurs authentifiés et basés sur des cookies a une portée structurelle qu’une instance SearXNG locale et non authentifiée n’a pas — ce qui est mesuré directement, et non supposé. La mesure →

Le corpus est la garantie, pas la réponse

Chaque affirmation dans un rapport Dinoer est attribuable à une page réellement collectée et enregistrée sur le disque (collecte.jsonl/operations.jsonl) — sans aucune dépendance de ce que le moteur de recherche tiers a fait lors de la production de la réponse. opencode.jsonc empêche le modèle délégué d’utiliser ses propres outils websearch/webfetch, quel que soit le répertoire depuis lequel OpenCode est lancé ; une vérification directe du flux d’événements complet du modèle pendant la synthèse, et non seulement de son texte final, a permis de détecter la fuite de 12 appels mentionnée ci-dessus, et a confirmé la correction.

{"id_campagne": "concerts-finistere-2026-07-28",
 "cibles": [{"type": "query", "valeur": "concerts finistere sud ete"}],
 "sujet_synthese": "concerts and festivals, south Finistère, summer 2026"}

C’est la majeure partie d’une véritable déclaration. campagne.py --manifeste manifeste.json le reste s’occupe de tout : collecte respectant les quotas, puis un rapport synthétisé dont vous pouvez retracer l’origine jusqu’à chaque source utilisée.

Voir la même doctrine résumée en une seule page →

Rubriques