Skip to content

freemind25/UnRobot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

334 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

UnRobot — Moteur d'Intelligence Linguistique Personnelle

UnRobot est une plateforme d'intelligence linguistique personnelle (PLI) qui découvre, mesure, explique et protège votre identité d'écriture. Tout le traitement s'effectue 100% localement dans votre navigateur — aucune donnée ne quitte jamais votre machine.

Chaque utilisateur possède une identité linguistique. UnRobot la découvre, la mesure, l'explique, la protège, l'améliore.


Fonctionnalités

Analyse IA — 20 modules LIC

Le LIC (Linguistic Intelligence Core) analyse votre texte à travers 20 modules indépendants, chacun mesurant une dimension distincte du style d'écriture.

Modules principaux (pondérés dans le score composite) :

Module Ce qu'il mesure
Variation des phrases Régularité des longueurs de phrases (burstiness)
Richesse lexicale Diversité du vocabulaire (TTR, hapax)
Répétition Mots et structures répétés
Équilibre des paragraphes Variance de taille entre paragraphes
Densité de transitions Fréquence des connecteurs logiques
Entropie Distribution des fréquences de mots
Taux de compression Ratio de compression de Shannon
Loi de Zipf Adéquation à la distribution de Zipf
Voix passive Fréquence des constructions passives
Perfection Symétrie et équilibre excessifs
Voix générique Absence de marqueurs personnels
Perplexité Complexité textuelle atypique
Profondeur Spécificité et détails concrets
Structure IA Régularité paragraphique prévisible
Personnalisation Présence de la voix de l'auteur
Paraphrase IA Signes de réécriture automatique
Style Distance par rapport aux patterns stylistiques IA

Modules d'observation (poids 0 — n'affectent pas le score) :

Module Ce qu'il mesure
Stabilité de style Cohérence intra-texte (variation entre sections)
Confiance identitaire Correspondance avec votre profil stocké
Dérive de style Évolution par rapport à votre historique

Pages

Page Description
Analyse Détection IA complète, score composite, checklist pré-envoi, détail des métriques. Mode Recherche disponible.
Intelligence Humanisation avec contrôle du ton et de l'intensité, profil d'auteur, Coach d'écriture, Empreintes, Profils cibles, Évolution.
Forensics Corrections suggérées, détection de plagiat, timeline phrase par phrase, simulation de détection, heatmap, Distance de style, Cohérence, Dérive de signature.
Labs Tableau de bord d'apprentissage (progression, tendances, anomalies), historique des analyses, profil linguistique.
Innovation Bancs d'essai, expériences A/B, gestion des Knowledge Packs.

Fonctionnalités avancées

Style Distance Comparez deux textes via leurs empreintes stylistiques. Similarité cosinus, distance euclidienne, deltas sur 6 dimensions. Applications : comparer un étudiant à lui-même, détecter un ghostwriter, mesurer l'impact de l'humanisation.

Consistency Lab Analyse la cohérence stylistique au sein d'un même texte. Découpage en sections, détection des outliers, Author Consistency Index (ACI) sur 6 dimensions.

Writing Coach Suggestions d'amélioration basées sur des patterns statistiques (pas de LLM). Détection des répétitions de connecteurs, uniformité rythmique, diversité lexicale, voix personnelle, voix passive. Alternatives contextuelles en français et en anglais.

Goal Profiles Cinq profils d'écriture cibles : Chercheur, Journaliste, Essayiste, Vulgarisateur, Propre style. Comparaison de votre empreinte contre un profil cible, avec recommandations priorisées.

Evolution Engine Suivi temporel de votre style via des empreintes stockées en IndexedDB. Sparklines SVG sur 6 dimensions, tendances (hausse/baisse/stable), pourcentages de changement.

Signature Drift Explications en langage naturel de l'évolution de votre style. « Vos phrases sont devenues plus longues », « Votre vocabulaire s'est appauvri », avec suggestions actionnables.

Research Mode Pondérations académiques qui privilégient la profondeur, le vocabulaire et la structure. Active depuis la page Analyse.

Humanisation 7 modes d'humanisation (naturel, académique, professionnel, créatif, journalistique, SEO, technique) avec 5 niveaux d'intensité progressive. Journal des modifications, comparaison avant/après, replay des transformations.

Détection d'humanisation Identification des textes IA humanisés. Classification en 4 catégories : Humain, IA brute, IA humanisée, IA paraphrasée. 12 sous-métriques avancées.

Forensics Lab Timeline phrase par phrase avec inspection détaillée, graphe de preuves, simulation de détection multi-outils, heatmap de humanisation.

Knowledge Packs Système de packs de connaissances configurables. Import/export ZIP, métriques personnalisables, poids par mode d'analyse.


Architecture

UnRobot/
├── public/                          # Assets statiques (logo, favicon)
├── src/
│   ├── components/
│   │   ├── AppShell.tsx             # Layout principal + sidebar
│   │   ├── ErrorBoundary.tsx        # Gestion d'erreurs
│   │   ├── ui/                      # Composants shadcn/ui
│   │   └── TextCleaner/             # Composants métier (36 fichiers)
│   │       ├── AIAnalysis.tsx       # Résultats de l'analyse IA
│   │       ├── StyleDistancePanel.tsx
│   │       ├── ConsistencyLabPanel.tsx
│   │       ├── WritingCoachPanel.tsx
│   │       ├── GoalProfilesPanel.tsx
│   │       ├── EvolutionPanel.tsx
│   │       ├── SignatureDriftPanel.tsx
│   │       ├── FingerprintManager.tsx
│   │       ├── SentenceTimeline.tsx
│   │       ├── EvidenceGraph.tsx
│   │       └── ...
│   ├── contexts/
│   │   └── AnalysisContext.tsx      # État global d'analyse
│   ├── hooks/
│   │   ├── useAIDetector.ts
│   │   ├── useMLDetector.ts
│   │   └── usePlagiarism.ts
│   ├── lib/
│   │   ├── textAnalysis.ts          # Orchestrateur principal
│   │   ├── analysisRegistry.ts      # Registre des 20 modules LIC
│   │   ├── mod*.ts                  # 20 modules d'analyse
│   │   ├── styleDistance.ts         # Moteur de distance de style
│   │   ├── consistencyLab.ts        # Moteur de cohérence
│   │   ├── writingCoach.ts          # Moteur du coach d'écriture
│   │   ├── goalProfiles.ts          # Profils cibles
│   │   ├── evolutionEngine.ts       # Moteur d'évolution
│   │   ├── signatureDrift.ts        # Moteur de dérive
│   │   ├── researchMode.ts          # Mode recherche
│   │   ├── fingerprintDB.ts         # IndexedDB fingerprints
│   │   ├── humanizationV2.ts        # Moteur d'humanisation v2
│   │   ├── humanizationDetector.ts  # Détection d'humanisation
│   │   ├── forensicsEngine.ts       # Moteur forensique
│   │   ├── forensicsEngines.ts      # Sous-moteurs forensiques
│   │   ├── knowledgeEngine.ts       # Moteur de connaissances
│   │   ├── patternEngine.ts         # Détection de patterns IA
│   │   ├── plagiarism/              # Détection de plagiat (MinHash)
│   │   ├── ml/                      # ONNX ML model service
│   │   ├── knowledge/               # LIC knowledge packs
│   │   └── __tests__/               # Tests et benchmarks
│   └── pages/
│       ├── Analyse.tsx
│       ├── Intelligence.tsx
│       ├── Forensics.tsx
│       ├── Labs.tsx
│       └── InnovationCenter.tsx
├── vercel.json
├── vite.config.ts
├── tailwind.config.ts
└── tsconfig.json

Technologies

Catégorie Technologie
Framework React 19
Langage TypeScript (strict)
Build Vite
Styling Tailwind CSS 4
Composants UI shadcn/ui (Radix UI)
Icônes Lucide React
Routing React Router v6
État React Context + useState
Stockage IndexedDB (empreintes) + localStorage (historique)
ML ONNX Runtime Web (optionnel)
Notifications Sonner
Requêtes TanStack Query
Tests Vitest

Démarrage rapide

Prérequis

Installation

git clone https://github.com/freemind25/UnRobot.git
cd UnRobot
npm install --legacy-peer-deps
npm run dev

L'application est accessible sur http://localhost:5173.

Build de production

npm run build

Tests

npm test                              # Tests unitaires
npx vitest run --reporter=verbose     # Verbose
npx vitest run src/lib/__tests__/benchmark-new-features.test.ts  # Benchmark

Benchmark

Résultats sur 3 textes de test (humain, IA, mixte) :

Module Statut Temps moyen
Analyse IA complète (20 modules) 22% / 62% / 38% 5.6 ms
Style Distance (cosinus + euclidien) Dist 19.5 (H vs IA) 2.9 ms
Consistency Lab (ACI) 94% 10.4 ms
Writing Coach (suggestions) 3 suggestions 4.0 ms
Goal Profiles (5 profils) 31% match Chercheur 0.4 ms
Signature Drift (explications) 6 explications 0.5 ms
Research Mode (poids académiques) 16 métriques < 0.1 ms
Pattern Engine 2 patterns 0.2 ms
Humanization Detection Classification correcte 0.2 ms
Forensics Engine 4/4 phrases flaguées 0.3 ms

Total : 10/10 modules opérationnels — Temps d'analyse cumulé < 25 ms.


Déploiement

SPA statique déployable sur Vercel, Netlify, Cloudflare Pages ou GitHub Pages.

// vercel.json
{
  "framework": "vite",
  "buildCommand": "npm run build",
  "outputDirectory": "dist",
  "installCommand": "npm install --legacy-peer-deps",
  "rewrites": [{ "source": "/(.*)", "destination": "/" }]
}

Démo : unrobot-rust.vercel.app


Design System

Token Valeur Usage
--color-signal #6B4FBB (violet) Côté machine / IA
--color-ambre #C17F4A (ambre) Côté humain
--color-success Vert Scores bas (humain)
--color-warning Orange Scores moyens (mixte)
--color-destructive Rouge Scores élevés (IA)

Typographies : font-human italic (serif, côté humain), font-machine (monospace, côté machine).


Confidentialite

UnRobot ne collecte aucune donnee. Tout le traitement s'effectue dans votre navigateur. Aucun texte n'est envoye a un serveur externe. Les empreintes linguistiques sont stockees exclusivement en IndexedDB sur votre appareil.


Contribuer

  1. Forkez le depot
  2. Creez une branche (git checkout -b feat/ma-fonctionnalite)
  3. Committez (git commit -m "feat: description")
  4. Poussez (git push origin feat/ma-fonctionnalite)
  5. Ouvrez une Pull Request

Conventions : Conventional Commits, TypeScript strict, max 300 lignes net par PR.


Licence

MIT


UnRobot — Votre identite linguistique, mesuree et protegee.

About

Humaniseur et Nettoyeur de Texte Supprimez les caractères invisibles de vos fichiers texte. Espaces insécables (U+00A0) et espaces minces (U+202F) issus de l'IA ou de copier-coller.

Topics

Resources

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors