{"id":49306914,"url":"https://github.com/servomorph/autoclaude","last_synced_at":"2026-04-26T10:01:28.465Z","repository":{"id":353721700,"uuid":"1218782707","full_name":"ServOMorph/AutoClaude","owner":"ServOMorph","description":"Outil Python qui clique automatiquement sur le bouton de confirmation de Claude Code (VS Code). Interface graphique sombre, compteur de clics, analyses graphiques et protection de projet intégrée.","archived":false,"fork":false,"pushed_at":"2026-04-25T06:50:59.000Z","size":802,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-25T08:37:42.947Z","etag":null,"topics":["autoclick","automation","claude-code","customtkinter","dark-theme","gui","opencv","pyinstaller","python","template-matching","vscode","windows"],"latest_commit_sha":null,"homepage":"https://serenia-tech.fr/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ServOMorph.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":"audit_after.json","citation":null,"codeowners":null,"security":"DOCS/SECURITY.md","support":null,"governance":null,"roadmap":"DOCS/ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-23T08:01:20.000Z","updated_at":"2026-04-25T06:51:04.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/ServOMorph/AutoClaude","commit_stats":null,"previous_names":["servomorph/autoclaude"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/ServOMorph/AutoClaude","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ServOMorph%2FAutoClaude","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ServOMorph%2FAutoClaude/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ServOMorph%2FAutoClaude/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ServOMorph%2FAutoClaude/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ServOMorph","download_url":"https://codeload.github.com/ServOMorph/AutoClaude/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ServOMorph%2FAutoClaude/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32292958,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-26T09:34:17.070Z","status":"ssl_error","status_checked_at":"2026-04-26T09:34:00.993Z","response_time":129,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["autoclick","automation","claude-code","customtkinter","dark-theme","gui","opencv","pyinstaller","python","template-matching","vscode","windows"],"created_at":"2026-04-26T10:01:27.793Z","updated_at":"2026-04-26T10:01:28.399Z","avatar_url":"https://github.com/ServOMorph.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AutoClaude\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Python](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/)\n[![Tests](https://github.com/ServOMorph/AutoClaude/actions/workflows/tests.yml/badge.svg)](https://github.com/ServOMorph/AutoClaude/actions/workflows/tests.yml)\n[![Version](https://img.shields.io/badge/version-2.4.4-blue.svg)](https://github.com/ServOMorph/AutoClaude/releases)\n\n\u003e **Conçu pour [Claude Code](https://claude.ai/code) dans VS Code** — donne plus d'autonomie à Claude Code en cliquant automatiquement sur les boutons de confirmation récurrents, sans interrompre le flux de travail de l'IA.\n\nOutil Python qui détecte et clique automatiquement sur un bouton récurrent à l'écran — avec une interface graphique CustomTkinter en mode sombre.\n\nQuand Claude Code travaille dans VS Code, il demande régulièrement une confirmation utilisateur (bouton \"Continuer\", \"Approuver\", etc.). AutoClaude surveille l'écran en arrière-plan et clique à ta place, permettant à Claude Code de tourner en continu sans surveillance constante.\n\n\u003e Développé par [SéréniaTech](https://serenia-tech.fr) · [GitHub](https://github.com/ServOMorph)\n\n---\n\n## Fonctionnalités\n\n- Détection d'image par template matching (OpenCV + mss)\n- Support multi-moniteur\n- Dégradation progressive : si une dépendance optionnelle manque, l'outil continue de fonctionner\n- Arrêt via Esc, fermeture fenêtre ou mouvement souris (mode auto-stop)\n- Protection de projet Claude Code via injection dans `.claude/CLAUDE.md`\n- **Compteur de clics** avec historique persisté\n- **Analyses graphiques** : navigation temporelle (Récent / Tout), bandeau de statistiques (total, moyenne, record, jours actifs), graphes par Aujourd'hui/7j/30j/12m/Tout\n- **Indicateur flottant** : overlay always-on-top en bas à gauche de l'écran, cliquable pour activer/désactiver l'autoclick depuis n'importe quelle application\n- Logs rotatifs (`~/.autoclaude/logs/`) et watchdog de stabilité pour une utilisation longue durée\n- Interface sombre SéréniaTech (CustomTkinter)\n- Paramètres persistés localement (`~/.autoclaude/settings.json`)\n\n---\n\n## Installation\n\n### Option 1 : Télécharger l'exécutable (Windows)\n\nTélécharge `AutoClaude_v2.3.0.exe` depuis les [releases](https://github.com/ServOMorph/AutoClaude/releases) et double-clique pour lancer. Aucune dépendance Python requise.\n\n### Option 2 : Installation depuis le code source\n\n```bash\n# Cloner le dépôt\ngit clone https://github.com/ServOMorph/AutoClaude.git\ncd AutoClaude\n\n# Installer les dépendances\npip install -r requirements.txt\n\n# Lancer l'application\npython run.py\n```\n\n### Dépendances (installation depuis source)\n\n**Obligatoires**\n\n| Package | Rôle |\n|---------|------|\n| `pyautogui` | Détection et clic d'image (fallback) |\n| `pynput` | Écoute clavier/souris |\n| `customtkinter` | Interface graphique |\n| `Pillow` | Affichage des images |\n| `matplotlib` | Graphes d'analyse |\n| `psutil` | Monitoring mémoire/stabilité |\n\n**Optionnelles** (meilleures performances)\n\n| Package | Rôle |\n|---------|------|\n| `opencv-python` | Template matching haute précision |\n| `mss` | Capture multi-moniteur rapide |\n| `numpy` | Traitement d'image (requis par OpenCV) |\n| `screeninfo` | Énumération des moniteurs |\n\n---\n\n## Interface\n\n![AutoClaude UI](assets/ui-screenshot.png)\n\n---\n\n## Utilisation\n\n```bash\n# Lancer l'interface graphique\npython run.py\n```\n\nL'interface permet de :\n1. **Activer / désactiver** l'autoclick via le bouton bleu/rouge\n2. **Sélectionner un dossier de projet** à protéger\n3. **Appliquer ou retirer** la protection Claude Code sur ce dossier\n4. **Compter les clics** — affichage en temps réel du nombre total, avec reset possible\n5. **Visualiser les analyses** — navigation par période, mode Récent/Tout, stats chiffrées\n6. **Afficher/masquer l'indicateur flottant** — overlay visible par-dessus toutes les applications\n\n### Indicateur flottant\n\nUn petit indicateur apparaît en bas à gauche de l'écran, par-dessus toutes les fenêtres :\n\n- 🟢 **Vert — CL OFF** : autoclick inactif\n- 🔴 **Rouge — CL ON** : autoclick actif\n\nUn clic sur l'indicateur active ou désactive l'autoclick directement, sans revenir à la fenêtre principale. L'affichage se contrôle via le switch **\"Afficher l'indicateur flottant\"** dans l'UI.\n\n\n### Analyses\n\nLa fenêtre d'analyses offre :\n- **5 périodes** : Aujourd'hui, 7 jours, 30 jours, 12 mois, Tout\n- **Mode Récent** (défaut) : fenêtre glissante — dernières 24h / 7 derniers jours / 30 derniers jours / 12 derniers mois\n- **Mode Tout** : historique complet avec navigation Précédent / Suivant (paginé par jour, mois ou année selon la période)\n- **Bandeau de stats** : total, moyenne par jour actif, record journalier, jours actifs\n\n### Arrêt\n\n- Touche **Esc** — arrête l'autoclick\n- **Fermeture de la fenêtre** — arrête proprement le thread\n- **Mouvement souris** — si le mode auto-stop est actif\n\n---\n\n## Image cible\n\nPar défaut, AutoClaude cherche `assets/yes.png`. Remplace ce fichier par un screenshot du bouton que tu veux automatiser (PNG, JPG ou BMP recommandé).\n\n---\n\n## Protection Claude Code\n\nLe bouton **Protéger** injecte un bloc de restrictions dans `.claude/CLAUDE.md` du projet sélectionné. Ce bloc est lu par Claude Code au démarrage de chaque session et contraint le comportement de l'IA au périmètre du projet.\n\nVoir [DOCS/SECURITY.md](DOCS/SECURITY.md) pour le détail du bloc injecté et de l'API.\n\n---\n\n## Logs \u0026 stabilité\n\nAutoClaude est conçu pour tourner en continu. Les logs sont disponibles dans `~/.autoclaude/logs/autoclaude.log` (rotation automatique, 5 Mo × 3 fichiers). En cas de crash ou de comportement anormal, ce fichier est le premier endroit à consulter.\n\n---\n\n## Configuration fine-tuning\n\nLe fichier `config.py` à la racine du projet permet d'ajuster le comportement sans modifier le code :\n\n| Variable | Valeur | Description |\n|----------|--------|-------------|\n| `DEBUG_COMPTEUR` | `True/False` | Affiche les cercles rouges de debug à chaque clic |\n| `COOLDOWN_DURATION` | `3.0-5.0` (sec) | Attente après chaque clic avant nouvelle détection (élevez si re-clics fantômes) |\n| `CONFIDENCE_THRESHOLD` | `0.85-0.95` | Sévérité de la détection d'image (élevez pour moins de faux positifs) |\n| `PRE_CLICK_DELAY` | `0.5-2.0` (sec) | Délai après détection avant de cliquer (élevez si bouton anime) |\n\n**Exemple :**\n```python\n# Pour éviter les faux positifs sur boutons bleus\nCONFIDENCE_THRESHOLD = 0.95\n\n# Pour boutons qui tardent à disparaître\nCOOLDOWN_DURATION = 5.0\n\n# Pour debug visuel des clics\nDEBUG_COMPTEUR = True\n```\n\n---\n\n## Problèmes connus\n\n### Comptage des clics imprécis\n- **Symptôme** : Le compteur enregistre parfois plus ou moins de clics que prévu\n- **Cause potentielle** : Timing critique entre détection, clic et disparition du bouton\n- **Solution** : Ajustez dans `config.py` :\n  - Augmentez `COOLDOWN_DURATION` si clics doublés\n  - Augmentez `CONFIDENCE_THRESHOLD` pour strictitude accrue\n  - Augmentez `PRE_CLICK_DELAY` pour laisser le bouton stable avant clic\n- **Debug** : Activez `DEBUG_COMPTEUR = True` pour visualiser chaque clic via un cercle rouge\n\n### Faux positifs de détection (image)\n- **Symptôme** : Clics sur des éléments qui ne sont pas le bouton visé\n- **Cause** : Couleurs proches (bleu, gris) ou éléments UI similaires\n- **Solution** : Augmentez `CONFIDENCE_THRESHOLD` à 0.90-0.95 dans `config.py`\n\n### Le bouton n'est pas détecté\n- **Cause** : Confiance trop stricte, ou image cible différente sur l'écran\n- **Solution** : Baissez `CONFIDENCE_THRESHOLD` à 0.80-0.85, ou mettez à jour `assets/yes.png`\n\n---\n\n## Architecture\n\n```\nsrc/core/       détection, clic, listener, service autoclick, logger, health monitor\nsrc/ui/         interface CustomTkinter + composants + dialogs + overlays\nsrc/security/   ClaudeMdProtector\nsrc/config/     constantes et persistance JSON\nassets/         yes.png, Icone AutoClaude.png, Icone AutoClaude.ico, ui-screenshot.png\n```\n\nVoir [DOCS/ARCHITECTURE.md](DOCS/ARCHITECTURE.md) pour le détail des décisions techniques.\n\n---\n\n## Mises à jour\n\nPour rester informé des dernières versions et améliorations d'AutoClaude, n'hésitez pas à suivre le dépôt GitHub officiel :\n[https://github.com/ServOMorph/AutoClaude](https://github.com/ServOMorph/AutoClaude)\n\nVous y trouverez les notes de version, les nouvelles fonctionnalités et les correctifs de bugs.\n\n---\n\n## Licence\n\nMIT — voir [LICENSE](LICENSE)\n\n---\n\nProjet réalisé par ServOMorph avec ClaudeCode pour SérénIA Tech :\nhttps://serenia-tech.fr/\n\nDate : 26 avril 2026 (v2.4.3)\n\n---\n\n## Contribuer\n\nLes contributions sont les bienvenues ! Consulter [CONTRIBUTING.md](CONTRIBUTING.md) pour démarrer.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fservomorph%2Fautoclaude","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fservomorph%2Fautoclaude","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fservomorph%2Fautoclaude/lists"}