Le test des conversations volumineuses
Nous avions testé l’extraction.
Nous avions testé la reconstruction.
Nous avions testé les quatre formats d’export.
Il restait une question beaucoup plus simple :
qu’est-ce qui se passe lorsque la conversation devient vraiment volumineuse ?
Un petit chat ne suffit pas pour tester une architecture.
Sur une conversation de quelques dizaines de messages, presque tout fonctionne.
Le navigateur peut afficher le contenu.
Une extension peut le parcourir.
Un exporteur peut récupérer les messages.
Ce n’est pas encore un test très intéressant.
Le problème apparaît lorsque la conversation devient suffisamment longue pour transformer le document en véritable archive.
Nous avons donc utilisé un jeu de test interne spécialement retenu pour mettre l’export à l’épreuve.
Un premier test à grande échelle.
Le premier résultat est déjà assez parlant.
L’export Markdown produit par Stalker Chat Export V4 atteint :
50 846 lines 1 220 571 bytes 252 ## User 225 ## ChatGPT 477 role blocks
Ce n’est plus vraiment un petit fichier de test.
C’est suffisamment de données pour commencer à poser de vraies questions d’export et de conservation.
Et surtout, c’est suffisamment volumineux pour vérifier que l’architecture ne dépend pas simplement de ce qui est visible à l’écran.
Et pourtant, pas de défilement interminable.
C’est ici que l’architecture choisie pour V4 devient intéressante.
L’extension ne demande pas à Firefox de parcourir les dizaines de milliers de lignes affichées à l’écran.
Elle récupère les données directement, puis travaille localement sur la réponse obtenue.
BROWSER
│
│ conversation ID
│ access token
▼
CHATGPT BACKEND
│
│ JSON
▼
STALKER CHAT EXPORT V4
│
├── reconstruction
├── validation
└── local processing
│
├── Markdown
├── HTML
├── TXT
└── JSONLe navigateur sert donc essentiellement de point d’accès.
Il n’a pas besoin de devenir le moteur de l’export.
Un second test : 448 messages actifs
Nous avons également utilisé un second jeu de test interne pour vérifier le comportement de la reconstruction sur une conversation longue.
Le résultat contrôlé était le suivant :
448 active messages 148 User 300 ChatGPT current_node detected active path verified
Le moteur ne s’est donc pas contenté de récupérer quelques messages visibles dans la fenêtre du navigateur.
Il a reconstruit le chemin actif à partir des données de la conversation.
Le nombre de blocs mérite une vérification.
Un gros export peut contenir davantage de nœuds que de messages effectivement présents dans le chemin actif.
C’est une distinction importante.
La structure interne d’une conversation peut contenir plusieurs branches et plusieurs relations entre les nœuds.
Il ne suffit donc pas de compter les blocs pour déterminer si un export est correct.
LONG TEST DATASET
│
▼
API RESPONSE
│
▼
MAPPING
│
┌────┴────┐
│ │
ACTIVE OTHER
PATH BRANCHES
│
▼
RECONSTRUCTED
CONVERSATIONC’est justement l’un des avantages de cette architecture : nous pouvons examiner la structure au lieu de simplement compter ce qui apparaît à l’écran.
Le test n’est pas seulement une question de vitesse.
Nous aurions pu nous contenter de dire :
« Ça va vite. »
Mais ce n’est pas vraiment le test.
Un exporteur doit surtout produire quelque chose de cohérent lorsque la quantité de données augmente.
Il faut récupérer les données.
Il faut reconstruire la conversation.
Il faut conserver les messages dans le bon chemin.
Il faut générer les différents formats.
Et il faut pouvoir vérifier que l’opération est terminée.
Le contrôle avant le téléchargement.
C’est pour cette raison que V4 affiche un état d’extraction vérifié avant de proposer les fichiers.
API RESPONSE
↓
MAPPING
↓
CURRENT NODE
↓
ACTIVE PATH
↓
MESSAGES
↓
VALIDATION
↓
EXPORT READYLe bouton de téléchargement n’est donc pas simplement la conséquence de la réception d’un fichier JSON.
Il arrive après la reconstruction et les contrôles prévus par l’extension.
Pourquoi cette série s’arrête ici?
Au début, nous voulions simplement récupérer nos conversations.
Nous avons commencé par comprendre comment l’ancien outil fonctionnait.
Puis nous avons reconstruit notre propre extension.
Nous avons remplacé la lecture du DOM par une extraction directe.
Nous avons étudié la structure mapping.
Nous avons reconstruit le chemin actif.
Nous avons ajouté quatre formats d’export.
Et nous avons fini par lui donner suffisamment de données pour voir où les vrais problèmes commencent.
À ce stade, Stalker Chat Export V4 n’est plus seulement une expérience.
C’est un outil utilisable.
Une petite extension, sans grand système derrière.
Il n’y a pas de serveur StalkerLabs au milieu.
Il n’y a pas de compte à créer.
Il n’y a pas d’abonnement.
Il n’y a pas de télémétrie ajoutée par l’extension.
La conversation est récupérée depuis ChatGPT puis traitée localement par l’extension.
Le résultat est enregistré par l’utilisateur.
Le but n’était pas de construire un service autour de vos conversations.
Le but était simplement de vous permettre de les récupérer.
V4.1.1 — release.
La version publiée pour Firefox est Stalker Chat Export V4.1.1.
Cette version a été soumise au processus de validation Mozilla et a reçu une signature Mozilla.
Cette release constitue la version de référence distribuée par StalkerLabs.
STALKER CHAT EXPORT Version 4.1.1 Mozilla signed Local extraction No intermediary server Four export formats Stalker Chat Export V4.1.1 is released under the MIT License. The software is free to use, modify and redistribute, subject to the terms of the license. StalkerLabs does not require an account, subscription or payment to use the extension. The extension performs conversation extraction and processing locally. StalkerLabs does not operate an intermediary server for the exported conversations. Project: StalkerLabs Developer: AxehGo & DebIA Version: 4.1.1 Platform: Firefox License: MIT
SHA-256.
For users who want to verify the integrity of the distributed Mozilla-signed XPI, the SHA-256 checksum of the official release is: e2de7c9a739f2924c233b04f52ec7d55563f92d5f2987429dc77264afc4ca128 File: Stalker-Chat-Export-V4.1.1-Mozilla-SIGNED.xpi This checksum corresponds to the XPI file currently distributed from the official StalkerLabs website.
Et maintenant ?
Le projet pourra naturellement évoluer.
Mais la première mission est terminée.
Nous voulions récupérer nos conversations.
Nous avons construit l’outil.
Nous l’avons testé sur des conversations courtes et longues.
Nous l’avons fait signer.
Et maintenant, nous pouvons le mettre à disposition.
One problem.
One extension.
One local export.
Fin de la série.
EXP 960 → EXP 963
La série Stalker Chat Export V4 s’arrête ici.
Le prochain travail ne sera plus de raconter sa naissance, mais de voir ce que nous pouvons faire avec ce nouvel outil.
AxehGo & DebIA
Independent Research & Experiments in Linux, AI and Statistical Computing
// discussion
No comments