boss-agent-cli : rechercher et organiser des offres depuis le terminal
CLI BOSS Zhipin à assistance locale pour les agents IA, la recherche, le filtrage des aides sociales, la liste restreinte, la sortie de l'enveloppe JSON ; à faible risque et conforme par défaut.
En bref
- De quoi s’agit-il ?
- Local-assist BOSS Zhipin CLI for AI agents, search, welfare filtering, shortlist, JSON-envelope output; low-risk & compliant by default. Cette analyse relie ses fonctions documentées à leurs conditions d’usage.
- À qui s’adresse-t-il ?
- boss-agent-cli convient aux personnes qui acceptent ses dépendances et ses limites documentées. Il ne convient pas à un usage exigeant des garanties que le README ne donne pas.
- Puis-je l’utiliser commercialement ?
- Oui. MIT est une licence permissive : vous pouvez utiliser, modifier et vendre un logiciel qui en dépend, à condition de conserver les mentions de droit d’auteur et de licence.
- Est-il encore maintenu ?
- Oui. Les derniers commits datent d’il y a 2 jours.
- En quel langage est-il écrit ?
- Principalement Python, d’après les statistiques de langage de GitHub.
Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 14 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.
ANALYSE OPEN SOURCE APPROFONDIE
Recherche d’offres et filtre des avantages
Le README commence par expliquer que les scripts de candidature automatique et de salutation en masse automatisent exactement ce que la plateforme BOSS Zhipin ne veut pas voir automatisé, et qu'un bannissement n'est qu'une question de temps. boss-agent-cli prend le chemin inverse : il confie la partie à faible risque, en lecture seule et déclenchée par l'utilisateur d'une recherche d'emploi au terminal et à un agent IA, et laisse les actions sensibles (saluer, postuler, envoyer des messages) à l'utilisateur qui les effectue manuellement sur le site officiel. Le projet décrit la conformité non pas comme un correctif mais comme la posture par défaut. En conséquence, les commandes qui saluent, postulent, échangent des contacts, lisent les CV des candidats ou répondent sont bloquées par défaut et renvoient COMPLIANCE_BLOCKED. Un `boss config set operating_mode research` explicite active une recherche de protocole navigateur limitée, mais la rédaction, les points de contrôle, les contrôles d'arrêt et la provenance scriptée vérifiable restent exigés. Le README ne définit pas quelles adaptations de contrôle des risques sont appliquées en mode recherche ; il ne liste que les contraintes.
Le point utile à retenir est le lien entre cette promesse et un artefact vérifiable du dépôt. Une commande, un fichier de configuration, une sortie JSON ou un journal doit permettre de voir ce qui s’est réellement passé. Les informations absentes du README restent absentes de cette analyse : elles ne sont pas remplacées par une garantie imaginaire. Cette distinction compte lorsque le projet touche au matériel, à des comptes, à des données personnelles ou à des services externes. Dans le cas de boss-agent-cli, vérifiez concrètement recherche d’offres et filtre des avantages en conservant le nom du projet et les fichiers cités par sa documentation. Notez la sortie obtenue, les erreurs et les conditions du test ; ce sont ces éléments qui permettent de distinguer une fonction disponible d’une intégration complète. Le matériau indique une implémentation en Python, sous licence MIT, avec 1623 étoiles et 9 issues ouvertes. Ces métadonnées décrivent l’état observé, pas un niveau de support garanti.
Assistant terminal et enveloppe JSON
La liste des fonctionnalités couvre trois domaines principaux. La découverte d'emplois comprend une recherche par mots-clés avec des filtres en couches et une navigation en cache via les commandes search, show et detail. Le différenciateur est le filtrage des avantages : `--welfare "双休,五险一金"` parcourt les résultats, récupère les détails et effectue une véritable correspondance ET, avec un `--sort score` facultatif pour trier par score de correspondance local. Une liste courte locale permet d'inspecter les détails, de synchroniser les emplois favoris du web, d'organiser les candidats avec des étiquettes et notes locales, de comparer les emplois hors ligne et de voir les statistiques d'entonnoir. Les candidatures et les messages restent sur le site officiel. Une assistance IA pour la recherche d'emploi est également présente : analyse de JD, polissage de CV, suggestions de mots-clés, optimisation de CV, rapports de correspondance de liste courte, préparation d'entretien et coaching par chat. Les poids des modèles locaux ne sont pas inclus ; ils sont attendus à partir des points de terminaison Ollama ou vLLM.
Le point utile à retenir est le lien entre cette promesse et un artefact vérifiable du dépôt. Une commande, un fichier de configuration, une sortie JSON ou un journal doit permettre de voir ce qui s’est réellement passé. Les informations absentes du README restent absentes de cette analyse : elles ne sont pas remplacées par une garantie imaginaire. Cette distinction compte lorsque le projet touche au matériel, à des comptes, à des données personnelles ou à des services externes. Dans le cas de boss-agent-cli, vérifiez concrètement assistant terminal et enveloppe json en conservant le nom du projet et les fichiers cités par sa documentation. Notez la sortie obtenue, les erreurs et les conditions du test ; ce sont ces éléments qui permettent de distinguer une fonction disponible d’une intégration complète. Le matériau indique une implémentation en Python, sous licence MIT, avec 1623 étoiles et 9 issues ouvertes. Ces métadonnées décrivent l’état observé, pas un niveau de support garanti.
Liste courte, cache et reprise
Le chemin d'installation recommandé est `uv tool install boss-agent-cli` suivi de `patchright install chromium` pour le noyau navigateur utilisé uniquement pour la connexion déclenchée par l'utilisateur et l'export local. La boucle à faible risque documentée est `boss doctor`, `boss login`, `boss status`, puis des commandes de recherche, de détail et de liste courte telles que `boss search "Golang" --city 广州 --welfare "双休,五险一金"` et `boss shortlist add <security_id> <job_id> --tags backend,remote`. Chaque commande produit une enveloppe JSON uniquement sur stdout avec un champ `ok` et des codes de sortie 0 ou 1 ; stderr contient les journaux. La surface de commande est documentée comme 38 commandes de niveau supérieur plus 9 sous-commandes de recruteur de premier niveau, regroupées en catégories : authentification, découverte, organisation, exploration de recherche restreinte, CV/IA, utilitaires et recruteur. Le README pointe vers une référence de commande séparée pour les paramètres complets.
Le point utile à retenir est le lien entre cette promesse et un artefact vérifiable du dépôt. Une commande, un fichier de configuration, une sortie JSON ou un journal doit permettre de voir ce qui s’est réellement passé. Les informations absentes du README restent absentes de cette analyse : elles ne sont pas remplacées par une garantie imaginaire. Cette distinction compte lorsque le projet touche au matériel, à des comptes, à des données personnelles ou à des services externes. Dans le cas de boss-agent-cli, vérifiez concrètement liste courte, cache et reprise en conservant le nom du projet et les fichiers cités par sa documentation. Notez la sortie obtenue, les erreurs et les conditions du test ; ce sont ces éléments qui permettent de distinguer une fonction disponible d’une intégration complète. Le matériau indique une implémentation en Python, sous licence MIT, avec 1623 étoiles et 9 issues ouvertes. Ces métadonnées décrivent l’état observé, pas un niveau de support garanti.
MCP, Python et modèles locaux
Trois voies d'intégration sont documentées. Celle recommandée est un serveur MCP avec 50 outils, configuré dans Claude Desktop ou Cursor avec un bloc JSON qui exécute `uvx --from boss-agent-cli[mcp] boss-mcp`. Une option Docker est également fournie, avec un conteneur qui ne livre volontairement aucun noyau navigateur ; vous exécutez `boss login` sur l'hôte et montez `~/.boss-agent`. La deuxième voie est le sous-processus : laissez l'agent lire `boss schema` pour obtenir l'auto-description, puis analysez le JSON de stdout. La troisième est l'intégration Python avec une API typée : `from boss_agent_cli import AuthManager, BossClient` et `client.search_jobs("Golang", city="北京")`. Le README montre également un exemple OpenCode qui copie une configuration vérifiée et exécute `boss-mcp --data-dir ./.boss-agent`.
Le point utile à retenir est le lien entre cette promesse et un artefact vérifiable du dépôt. Une commande, un fichier de configuration, une sortie JSON ou un journal doit permettre de voir ce qui s’est réellement passé. Les informations absentes du README restent absentes de cette analyse : elles ne sont pas remplacées par une garantie imaginaire. Cette distinction compte lorsque le projet touche au matériel, à des comptes, à des données personnelles ou à des services externes. Dans le cas de boss-agent-cli, vérifiez concrètement mcp, python et modèles locaux en conservant le nom du projet et les fichiers cités par sa documentation. Notez la sortie obtenue, les erreurs et les conditions du test ; ce sont ces éléments qui permettent de distinguer une fonction disponible d’une intégration complète. Le matériau indique une implémentation en Python, sous licence MIT, avec 1623 étoiles et 9 issues ouvertes. Ces métadonnées décrivent l’état observé, pas un niveau de support garanti.
Plateformes et actions sensibles
Le CLI utilise un registre de plateformes en direct. BOSS Zhipin est la plateforme par défaut et prend en charge les rôles candidat et recruteur. Zhaopin (zhilian) a une parité en lecture seule côté candidat et une automatisation `agent` navigateur/CDP V1 pour les flux recruteur ; 51job (qiancheng) est un espace réservé enregistré qui renvoie NOT_SUPPORTED jusqu'à ce qu'un portail de recherche en lecture seule soit satisfait. La sélection de plateforme se fait avec `--platform zhipin|zhilian|qiancheng` ou en définissant une valeur par défaut via `boss config set platform zhilian`. Les commandes recruteur (`hr jobs list/online/offline`) ne prennent actuellement en charge que la plateforme recruteur par défaut `zhipin-recruiter` ; l'automatisation recruteur de Zhaopin est exposée via la commande `agent` et l'adaptateur navigateur/CDP. Les flux de données personnelles des candidats sont bloqués par défaut.
Le point utile à retenir est le lien entre cette promesse et un artefact vérifiable du dépôt. Une commande, un fichier de configuration, une sortie JSON ou un journal doit permettre de voir ce qui s’est réellement passé. Les informations absentes du README restent absentes de cette analyse : elles ne sont pas remplacées par une garantie imaginaire. Cette distinction compte lorsque le projet touche au matériel, à des comptes, à des données personnelles ou à des services externes. Dans le cas de boss-agent-cli, vérifiez concrètement plateformes et actions sensibles en conservant le nom du projet et les fichiers cités par sa documentation. Notez la sortie obtenue, les erreurs et les conditions du test ; ce sont ces éléments qui permettent de distinguer une fonction disponible d’une intégration complète. Le matériau indique une implémentation en Python, sous licence MIT, avec 1623 étoiles et 9 issues ouvertes. Ces métadonnées décrivent l’état observé, pas un niveau de support garanti.
Configuration locale et responsabilité
Le diagramme d'architecture montre un CLI Click sous des garde-fous de conformité, qui se trouvent au-dessus d'AuthManager, des registres de plateformes, de BossClient (httpx + limiteur), de CacheStore (SQLite WAL) et d'AIService (compatible OpenAI / Ollama / vLLM). La couche de sortie force une enveloppe JSON sur stdout. Invariants : stdout est uniquement JSON, stderr contient les journaux, les codes de sortie sont 0 ou 1, les erreurs portent code/recoverable/recovery_action, et `boss schema` est la source de capacité faisant autorité. La configuration se trouve dans `~/.boss-agent/config.json` et couvre les délais de requête, le délai de salutation en lot, le niveau de journalisation, l'URL CDP, le répertoire d'export et la plateforme/rôle. L'état local sous `~/.boss-agent/` comprend des jetons chiffrés, des recherches en cache, une liste courte, des CV locaux, une configuration IA et un registre de modèles externes. Les poids des modèles ne sont pas inclus dans le package Python.
Le point utile à retenir est le lien entre cette promesse et un artefact vérifiable du dépôt. Une commande, un fichier de configuration, une sortie JSON ou un journal doit permettre de voir ce qui s’est réellement passé. Les informations absentes du README restent absentes de cette analyse : elles ne sont pas remplacées par une garantie imaginaire. Cette distinction compte lorsque le projet touche au matériel, à des comptes, à des données personnelles ou à des services externes. Dans le cas de boss-agent-cli, vérifiez concrètement configuration locale et responsabilité en conservant le nom du projet et les fichiers cités par sa documentation. Notez la sortie obtenue, les erreurs et les conditions du test ; ce sont ces éléments qui permettent de distinguer une fonction disponible d’une intégration complète. Le matériau indique une implémentation en Python, sous licence MIT, avec 1623 étoiles et 9 issues ouvertes. Ces métadonnées décrivent l’état observé, pas un niveau de support garanti.
Conclusion éditoriale
boss-agent-cli convient aux personnes qui acceptent ses dépendances et ses limites documentées. Il ne convient pas à un usage exigeant des garanties que le README ne donne pas. Avant adoption, exécutez le parcours propre à boss-agent-cli, observez les sorties et vérifiez les permissions, les données et la version réellement utilisées.
Notes de la communauté