Que fait opencli-explorer ?
Utilisez cette compétence lorsque vous créez un nouvel adaptateur OpenCLI à partir de zéro, que vous ajoutez la prise en charge d'un nouveau site web ou d'une nouvelle plateforme, que vous explorez les points d'API d'un site via les DevTools du navigateur, ou lorsqu'un utilisateur demande de générer automatiquement une CLI pour un site web (par exemple "帮我生成 xxx.com 的 cli"). Elle couvre la génération automatisée, le workflow de découverte d'API, le choix de stratégie d'authentification, l'écriture d'adaptateur en TypeScript, et les tests.
Fonctionnalités principales
- Découverte d'API : Analysez les requêtes réseau via les DevTools du navigateur pour identifier les endpoints, paramètres, en-têtes et formats de réponse.
- Génération d'adaptateur : Créez automatiquement le squelette d'un adaptateur TypeScript avec les types et méthodes appropriés.
- Authentification : Aide à sélectionner et configurer la stratégie d'authentification (API Key, OAuth, Bearer Token, Cookie, etc.).
- Tests : Génère des scripts de test pour valider le comportement de l'adaptateur.
Workflow de génération
- Exploration : Ouvrez les DevTools du navigateur et inspectez les requêtes réseau lors de l'utilisation du site cible.
- Extraction : Copiez les exemples de requêtes (curl, fetch) avec leurs en-têtes et corps.
- Configuration : Définissez les paramètres de l'adaptateur (baseURL, auth strategy, endpoints).
- Génération : Utilisez cette compétence pour produire le code TypeScript de l'adaptateur.
- Test : Exécutez les tests générés pour vérifier le bon fonctionnement.
Exemple d'utilisation
# Après avoir collecté les requêtes depuis DevTools
opencli generate --from-curl "curl -X GET https://api.example.com/v1/users -H 'Authorization: Bearer token'"
Stratégies d'authentification supportées
| Stratégie | Description | Quand l'utiliser |
|---|---|---|
| API Key | Clé fixe passée en header | APIs simples avec clé statique |
| Bearer Token | Token JWT dans Authorization | APIs standards modernes |
| OAuth2 | Flow OAuth complet | Services nécessitant login utilisateur |
| Cookie | Session via cookie | Sites web avec session login |
Dépannage
- Si la découverte d'API échoue, vérifiez que les DevTools sont ouverts avant de naviguer sur le site.
- Pour les sites utilisant un rendu côté serveur (SSR), inspectez les requêtes XHR/Fetch plutôt que les documents HTML.
- Si l'authentification échoue, assurez-vous que les en-têtes sont copiés correctement (incluant les cookies ou refresh tokens).