Twitter CLI : Outil axé terminal pour X/Twitter sans clés API

CLI Twitter : Un outil axé sur le terminal pour X/Twitter sans clés API

Introduction

À une époque où les plateformes de médias sociaux modifient fréquemment leurs politiques d'API et leurs exigences d'accès, disposer d'outils fiables qui fonctionnent indépendamment des API officielles devient de plus en plus précieux. Voici twitter-cli, une interface de ligne de commande open-source qui offre des fonctionnalités complètes de Twitter/X directement depuis votre terminal, sans nécessiter de clés API officielles.

Développé en tant que package Python, cet outil représente une solution pratique pour les développeurs, les créateurs de contenu, les chercheurs et les agents IA qui ont besoin d'un accès programmatique aux données et aux fonctionnalités de Twitter.

Fonctionnalités clés

Capacités de lecture

  • Accès au fil d'actualité : Récupérez les flux "Pour vous" et "Suivis" avec des filtres personnalisables
  • Gestion des signets : Listez et gérez les tweets enregistrés de votre compte
  • Recherche avancée : Trouvez des tweets par mot-clé avec prise en charge des onglets Top/Latest/Photos/Videos
  • Détails des tweets : Affichez les tweets individuels ainsi que leurs fils de réponses complets
  • Profils utilisateurs : Accédez aux informations utilisateur, aux tweets, aux likes, aux abonnés et aux listes de suivis
  • Articles Twitter : Récupérez les articles longs de Twitter et exportez-les en Markdown
  • Fils d'actualité des listes : Récupérez les tweets de listes Twitter spécifiques

Opérations d'écriture

  • Création de publications : Créez de nouveaux tweets et réponses avec des pièces jointes d'images optionnelles (jusqu'à 4 images)
  • Citation de tweets : Partagez des tweets avec des commentaires et des images
  • Gestion de contenu : Supprimez vos propres tweets, gérez les likes/retweets et gérez les signets
  • Sortie structurée : Toutes les opérations d'écriture prennent en charge la sortie explicite JSON/YAML pour le scripting

Authentification et anti-détection

Contrairement aux bots Twitter traditionnels qui s'appuient sur des clés API officielles, twitter-cli utilise une approche d'authentification astucieuse :

  1. Extraction des cookies du navigateur : Extrait automatiquement les cookies Twitter des navigateurs Arc, Chrome, Edge, Firefox ou Brave
  2. Variables d'environnement : Rebascule sur les variables TWITTER_AUTH_TOKEN et TWITTER_CT0
  3. Fonctionnalités anti-détection :
  4. Imitation de l'empreinte TLS à l'aide de curl_cffi avec correspondance dynamique de la version Chrome
  5. Tremblement du délai des requêtes pour éviter la détection de modèles
  6. Délais d'attente des opérations d'écriture (aléatoire de 1,5 à 4 secondes) pour atténuer les limites de débit
  7. Génération de l'en-tête x-client-transaction-id
  8. Prise en charge des proxys : Routez les requêtes via des proxys HTTP ou SOCKS5 via la variable d'environnement TWITTER_PROXY

Installation et configuration

Installation recommandée

# Utilisation de l'outil uv (rapide, isolé)
uv tool install twitter-cli

# Utilisation de pipx
pipx install twitter-cli

Exemples de démarrage rapide

# Récupérer le fil d'actualité principal (Pour vous)
twitter feed

# Récupérer le fil d'actualité des suivis
twitter feed -t following

# Rechercher du contenu spécifique
twitter search "Claude Code"
twitter search "AI agent" -t Latest --max 50

# Afficher les détails d'un tweet
twitter tweet 1234567890
twitter tweet https://x.com/user/status/1234567890

# Publier un nouveau tweet
twitter post "Bonjour depuis twitter-cli !"

# Publier avec des images
twitter post "Galerie" -i a.png -i b.jpg -i c.webp

Configuration et personnalisation

Créez un fichier config.yaml dans votre répertoire de travail pour personnaliser le comportement :

fetch:
  count: 50

filter:
  mode: "topN"  # "topN" | "score" | "all"
  topN: 20
  minScore: 50
  lang: []
  excludeRetweets: false
  weights:
    likes: 1.0
    retweets: 3.0
    replies: 2.0
    bookmarks: 5.0
    views_log: 0.5

rateLimit:
  requestDelay: 2.5
  maxRetries: 3
  retryBaseDelay: 5.0
  maxCount: 200

Le système de notation vous permet de filtrer le contenu en fonction des métriques d'engagement, avec des poids configurables pour différents types d'interactions.

Intégration d'agents IA

L'une des caractéristiques remarquables de twitter-cli est son excellent support pour les flux de travail des agents IA :

Formats de sortie structurés

# Sortie YAML (recommandée pour les agents IA)
twitter feed --yaml

# Sortie JSON
twitter feed --json

# Exporter vers un fichier pour traitement
twitter feed --output tweets.json

Intégration des compétences

# Installer comme compétence d'agent IA
npx skills add jackwener/twitter-cli

L'outil est livré avec un fichier SKILL.md spécialement conçu pour l'exécution par des agents IA, ce qui facilite l'intégration des fonctionnalités de Twitter dans les flux de travail automatisés.

Bonnes pratiques pour une utilisation sûre

Pour éviter les restrictions de compte ou les bannissements, suivez ces directives :

  1. Utilisez un proxy : Définissez TWITTER_PROXY pour éviter l'exposition directe de l'IP
  2. Contrôlez le volume des requêtes : Utilisez --max 20 au lieu de --max 500
  3. Évitez les redémarrages fréquents : Chaque démarrage récupère x.com pour initialiser les en-têtes anti-détection
  4. Utilisez l'extraction des cookies du navigateur : Fournit une empreinte complète des cookies pour des modèles de trafic plus naturels
  5. Privilégiez les IP résidentielles : Les IP de centres de données sont plus susceptibles de déclencher des limitations de débit

Dépannage des problèmes courants

Problèmes d'authentification

  • Aucun cookie Twitter trouvé : Assurez-vous d'être connecté à x.com dans un navigateur pris en charge
  • Cookie expiré ou invalide : reconnectez-vous à x.com et réessayez
  • Problèmes de trousseau macOS : déverrouillez le trousseau ou modifiez les contrôles d'accès pour votre application de terminal

Erreurs API

  • Erreur API Twitter 404 : Indique généralement une rotation de l'ID de requête GraphQL - réessayez simplement la commande
  • Limitation de débit : L'outil inclut une nouvelle tentative automatique avec une exponentielle décroissante

Problèmes spécifiques à Windows

  • Capture de sortie de pipe/sous-processus : Il s'agit d'un problème ConPTY avec le terminal Windows. Utilisez Git Bash avec "windowsEnableConpty": false dans les paramètres du terminal

Structure du projet et développement

La base de code est bien organisée et activement maintenue :

twitter_cli/
├── cli.py           # Interface de ligne de commande principale
├── client.py        # Client HTTP avec anti-détection
├── graphql.py       # Gestion des requêtes GraphQL
├── parser.py        # Logique d'analyse des données
├── auth.py          # Gestion de l'authentification
├── config.py        # Gestion de la configuration
├── filter.py        # Algorithmes de filtrage de contenu
└── models.py        # Modèles de données

Pour contribuer ou modifier :

# Cloner le dépôt
git clone [email protected]:jackwener/twitter-cli.git
cd twitter-cli

# Installer les dépendances de développement
uv sync --extra dev

# Exécuter les tests
uv run pytest -q

Outils connexes

Le développeur maintient plusieurs outils CLI similaires pour d'autres plateformes :

  • bilibili-cli : Vidéos, utilisateurs, recherche et flux Bilibili
  • discord-cli : Synchronisation locale, recherche et exportation Discord
  • tg-cli : Synchronisation locale, recherche et exportation Telegram
  • xiaohongshu-cli : Notes et flux de compte Xiaohongshu (小红书)

Conclusion

twitter-cli représente une approche sophistiquée de l'automatisation de Twitter qui contourne les limitations des API officielles tout en maintenant des fonctionnalités robustes. Sa conception axée sur le terminal le rend idéal pour :

  • Les développeurs qui ont besoin d'un accès programmatique à Twitter
  • Les chercheurs qui collectent des données sur les médias sociaux
  • Les créateurs de contenu qui gèrent plusieurs comptes
  • Les agents IA qui nécessitent des données structurées de Twitter
  • Les utilisateurs avancés qui préfèrent les flux de travail en terminal

Avec sa nature open-source, sa maintenance active et sa conception réfléchie autour des mesures anti-détection, twitter-cli offre un outil précieux à quiconque a besoin d'un accès fiable et flexible aux fonctionnalités de Twitter/X sans les contraintes des programmes d'API officiels.

Dépôt : https://github.com/jackwener/twitter-cli Licence : Apache-2.0 Étoiles : 2.4k+ Dernière mise à jour : Avril 2026

Article original: Voir l'original

Partager cet article