Communitygithub.com

jiawood2006/hermes-skills

Hermes Skills : transcription vidéo → texte / déshumanisation de texte IA / OCR documentaire / atelier de contenu e-commerce

Qu'est-ce que hermes-skills ?

Ce skill transforme des documents PDF, scans et images en texte éditable et en données structurées. Il exploite la Vision API native de macOS pour l'OCR (français/anglais) et reconstruit la mise en page des documents complexes (colonnes multiples, rapports) en respectant l'ordre de lecture logique. En option, un module de structuration utilise une clé LLM pour extraire automatiquement les champs de factures, de contrats ou pour convertir des tableaux en CSV. Le traitement reste local pour la partie OCR, l'appel LLM étant nécessaire uniquement pour l'extraction structurée. Il est compatible avec Hermes et s'installe via la commande `hermes skills install`. La gestion par lots avec tolérance aux pannes permet de traiter des dossiers entiers sans interruption. Les cas d'usage incluent la numérisation de contrats, factures, livres, captures d'écran et tout document nécessitant une extraction et une réorganisation du texte.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add jiawood2006/hermes-skills

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Doc‑OCR : reconnaissance documentaire + structuration

PDF / scans / images → texte éditable → données structurées. Les PDF avec couche texte sont extraits directement, les scans sont automatiquement soumis à l'OCR (Vision macOS intégré, français/anglais), avec reconstitution de la mise en page (colonnes multiples / mises en page complexes réorganisées dans l'ordre de lecture, pas une simple sortie ligne par ligne). Une fois l'OCR effectué, vous pouvez utiliser un LLM pour extraire les champs de factures, de contrats ou convertir en tableaux.

📁 Installation : hermes skills install jiawood2006/hermes-skills/skills/doc-ocr ou via la méthode 2 du README → par défaut dans ~/.hermes/skills/utilities/doc-ocr/. Les commandes ci‑dessous se basent sur ce chemin.

Déclencheurs

L'utilisateur fournit un fichier PDF / image et demande :

  • « extraire le texte », « transcrire », « OCR »
  • traiter un scan, un contrat, une facture, une page de livre, une capture d'écran
  • « extraire les informations de facture », « points clés du contrat », « convertir en tableau » (structuration)

Procédure d'utilisation

1. Fichier unique → texte

python3 ~/.hermes/skills/utilities/doc-ocr/scripts/dococr.py contrat.pdf
python3 ~/.hermes/skills/utilities/doc-ocr/scripts/dococr.py facture.jpg

La sortie est enregistrée sous <nom_entrée>_ocr.txt.

2. Traitement par lot (tolérant : fichier défectueux n'interrompt pas le lot)

python3 ~/.hermes/skills/utilities/doc-ocr/scripts/dococr.py ./scans/ -o tout.txt
# Récapitulatif après traitement : N succès / M total + liste des échecs (les fichiers défectueux sont enregistrés sans interrompre le lot)

3. Sortie Markdown / Réorganisation forcée pour PDF multi‑colonnes

python3 ~/.hermes/skills/utilities/doc-ocr/scripts/dococr.py livre.pdf --md
# Pour les PDF multi‑colonnes dont la couche texte est dans le désordre, forcer la réorganisation par OCR Vision :
python3 ~/.hermes/skills/utilities/doc-ocr/scripts/dococr.py article_double_colonne.pdf --md --force-ocr

4. Extraction structurée (facture / contrat / tableau, nécessite une clé LLM)

# D'abord OCR, puis extraction des champs
python3 ~/.hermes/skills/utilities/doc-ocr/scripts/dococr.py facture.jpg
python3 ~/.hermes/skills/utilities/doc-ocr/scripts/docstruct.py facture_ocr.txt --type invoice

# Champs de contrat (parties / montant / durée / clauses de pénalité)
python3 ~/.hermes/skills/utilities/doc-ocr/scripts/docstruct.py contrat_ocr.txt --type contract

# Tableau → CSV
python3 ~/.hermes/skills/utilities/doc-ocr/scripts/docstruct.py tableau_ocr.txt --type table -o tableau.csv
  • --type invoice : numéro de facture / date / montant / TVA / total TTC / acheteur / vendeur / numéro fiscal
  • --type contract : nom du contrat / parties / date de signature / montant / modalités de paiement / durée / clauses de pénalité
  • --type table : détection automatique des lignes/colonnes → CSV
  • Affichage convivial + possibilité de sauvegarder en JSON/CSV (-o)

Dépendances (installer lors de la première utilisation)

pip3 install pymupdf pyobjc-framework-Vision
# Pour l'extraction structurée, clé LLM nécessaire (variable d'environnement LLM_API_KEY ou ~/.deai_writer.conf)

Remarque : l'OCR repose sur macOS Vision (macOS uniquement). Sous Linux, installez tesseract ou un autre moteur.

Pièges connus

  • Détection des scans : un PDF avec moins de 20 caractères dans la couche texte passe automatiquement en OCR ; un PDF normal est extrait directement.
  • Réorganisation de la mise en page : l'OCR Vision réorganise les blocs de texte en fonction des coordonnées (de haut en bas, de gauche à droite par ligne) ; les documents à double colonne sont traités comme « d'abord la colonne de gauche, puis celle de droite » – adapté aux articles/rapports, mais les mises en page magazines fantaisistes peuvent encore être désordonnées – utilisez --force-ocr + vérification visuelle.
  • Écriture manuscrite : Vision fonctionne bien sur le texte imprimé et l'écriture manuscrite claire, pas garanti pour une écriture très cursive.
  • Confidentialité : les fichiers sont traités localement, non envoyés à des tiers (l'extraction structurée appelle une API LLM – attention aux documents sensibles).
  • Champs manquants : docstruct remplit les champs absents par null sans inventer ; une OCR de mauvaise qualité réduira le nombre de champs.
  • Tolérance aux pannes en mode lot : en mode dossier, l'échec sur un seul fichier est enregistré dans le récapitulatif sans interrompre le lot.

Validation rapide / Test de base

# Vérification de l'installation (même sans document sous la main)
python3 ~/.hermes/skills/utilities/doc-ocr/scripts/dococr.py --help
# Vérification réelle avec un PDF ou une image quelconque
python3 ~/.hermes/skills/utilities/doc-ocr/scripts/dococr.py n_importe_quel_document.pdf --md
# Attendu : sortie *_ocr.md contenant le texte éditable

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

Skills associés