À propos du projet

# Job Agent Un agent autonome de candidature qui automatisе le cycle complet de la recherche d'emploi — de la découverte au suivi des candidatures. ## Ce qu'il fait Job Agent se connecte aux grandes plateformes d'emploi (LinkedIn, Indeed, Glassdoor, ZipRecruiter, Dice, Wellfound), découvre les offres, les évalue par rapport à un profil candidat configurable grâce à l'IA, adapte les CV pour chaque candidature et soumet automatiquement les matches à fort score. Les offres de confiance moyenne sont mises en file d'attente pour examen manuel via un tableau de bord web. ## Fonctionnalités clés **Découverte multi-plateformes** Supporte LinkedIn, Indeed, Glassdoor, ZipRecruiter, Dice et Wellfound avec gestion des limites de taux et des sessions par plateforme. **Appariement propulsé par l'IA** Score chaque offre de 0,0 à 1,0 par rapport à votre profil en utilisant des fournisseurs d'IA configurables : Google Gemini (gratuit), Groq (gratuit), Ollama (local), OpenRouter et Anthropic Claude. **Adaptation des CV et lettres de motivation** Génère automatiquement des CV optimisés ATS (PDF) et des lettres de motivation personnalisables par candidature. Supporte les tons professionnel, décontracté et formel. **Gestion des ATS externes** Lorsque les sites d'emploi redirigent vers les carrières des entreprises, l'agent détecte et remplit les formulaires sur Greenhouse, Lever, Workday, Ashby et les portails génériques. Gère également les questions de screening et les flux de candidature par email. **Autonomie en plusieurs niveaux** - Score ≥ 0,80 : auto-candidature - Score 0,70–0,79 : mise en file d'attente pour examen manuel - Score < 0,70 : ignoré Les seuils sont configurables depuis le tableau de bord ou les profils YAML. **Tableau de bord web** Interface Flask + HTMX + Bootstrap 5 à http://127.0.0.1:5000 avec des pages pour l'aperçu, les offres, la file d'attente de révision, les candidatures, le networking, les analyses et les paramètres. Configurez tout depuis l'interface — aucune édition de fichier requise. **Bots interactifs** Bot Telegram (long-polling, sans URL publique nécessaire) et bot Discord (commandes slash) pour approuver/rejeter des offres, vérifier l'état de la file d'attente et consulter les statistiques depuis votre téléphone. **Navigateur anti-détection** Utilise Camoufox, un navigateur stealth avec frappe humaine, mouvements de souris, délais aléatoires et rotation de sessions pour réduire les risques de détection. **Notifications et networking** Email (SMTP), webhooks Slack/Discord, alertes Telegram. Emails de prospection et demandes de connexion LinkedIn générés par l'IA adressés aux recruteurs. **Planification** APScheduler avec fenêtres d'activité configurables (par défaut 8h–23h). Exécution unique, programmée ou en mode test. ## Démarrage rapide ```bash git clone https://github.com/billmal071/job-agent.git cd job-agent uv sync uv run playwright install chromium uv run job-agent init-db uv run job-agent dashboard ``` Visitez http://127.0.0.1:5000/settings pour configurer le fournisseur d'IA, les identifiants des plateformes, les seuils et les notifications. ## Génération de profil Téléchargez votre CV existant (PDF/DOCX) dans le tableau de bord et l'IA extrait les compétences, le niveau d'expérience et les rôles cibles pour générer automatiquement un profil recherchable. ## Profils multiples Supporte des profils séparés pour différentes recherches d'emploi (ex. fullstack vs devops), chacun avec ses propres mots-clés, localisations, attentes salariales et modèles de CV. ## Support Docker ```bash docker compose up dashboard # ou docker compose run --rm agent ``` ## Sécurité - Identifiants des plateformes chiffrés Fernet (clé dans ~/.job-agent/fernet.key) - Clés API dans .env (ignoré par git) - Base de données dans ~/.job-agent/agent.db (SQLite, hors dépôt) - État du navigateur persisté séparément ## Licence MIT