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.
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 |
| 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. |
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.
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
| 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 |
- Node.js v18+
- npm
git clone https://github.com/freemind25/UnRobot.git
cd UnRobot
npm install --legacy-peer-deps
npm run devL'application est accessible sur http://localhost:5173.
npm run buildnpm test # Tests unitaires
npx vitest run --reporter=verbose # Verbose
npx vitest run src/lib/__tests__/benchmark-new-features.test.ts # BenchmarkRé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.
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
| 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).
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.
- Forkez le depot
- Creez une branche (
git checkout -b feat/ma-fonctionnalite) - Committez (
git commit -m "feat: description") - Poussez (
git push origin feat/ma-fonctionnalite) - Ouvrez une Pull Request
Conventions : Conventional Commits, TypeScript strict, max 300 lignes net par PR.
MIT
UnRobot — Votre identite linguistique, mesuree et protegee.