literature-search-arxiv

Par mkurman · zorai

Recherche d'articles scientifiques, de prépublications et de publications sur arXiv. Extrait les métadonnées, les résumés et télécharge les versions PDF ou HTML complètes des articles. À utiliser lorsque l'utilisateur souhaite trouver des articles de recherche, de la littérature scientifique ou des identifiants arXiv spécifiques.

npx skills add https://github.com/mkurman/zorai --skill literature-search-arxiv

Recherche et Récupération arXiv

Prérequis

  1. uv : Lisez la skill uv et suivez ses instructions de configuration pour vous assurer que uv est installé et sur PATH.
  2. Notification utilisateur : Si le fichier LICENSE_NOTIFICATION.txt n'existe pas déjà dans ce répertoire de skill, alors (1) notifiez bien visiblement l'utilisateur de vérifier les conditions à https://info.arxiv.org/help/api/index.html et de toujours vérifier la licence des articles récupérés par la skill pour toute restriction, puis (2) créez le fichier en enregistrant le texte de notification et l'horodatage.

Règles essentielles

  • Conditions d'utilisation : Vous DEVEZ respecter les conditions d'utilisation d'arXiv.
    • Maximum 1 requête toutes les 3 secondes.
    • Les scripts utilitaires fournis gèrent automatiquement la limitation de débit. Utilisez toujours ces scripts plutôt que d'écrire vos propres requêtes curl/python.
  • Si cette skill est utilisée, assurez-vous que cela soit mentionné dans la sortie ET listez les URL de tous les articles qui ont été utilisés pour produire la sortie.

Scripts utilitaires

1. Recherche et extraction de métadonnées

Recherchez arXiv et retournez un tableau JSON propre des articles correspondants.

uv run scripts/search_arxiv.py --query "au:einstein AND ti:relativity" \
  --max_results 5 2>/dev/null > /tmp/arxiv_search_results.json

Important : L'outil produit un large résultat JSON sur stdout. Demander 100+ résultats produira un énorme JSON qui pourrait dépasser votre context window. Limitez --max_results (par exemple, 5-10) ou paginé soigneusement avec --start. Redirigez toujours la sortie vers un fichier et analysez-la séparément, sinon la sortie du terminal sera tronquée.

Métadonnées retournées : Les résultats JSON incluent id, title, summary, published, authors, pdf_url, primary_category, doi, journal_ref, et comment. Remarque : le champ doi ne contient les informations DOI que si l'article possède un DOI externe et si seul un DOI émis par arXiv existe, ce DOI n'est pas retourné.

Options :

  • --query : Chaîne de recherche. Consultez references/query_syntax.md pour la syntaxe avancée.
  • --id_list : Liste d'IDs arXiv séparés par des virgules à récupérer directement (par exemple, 1706.03762v5).
  • --start : Décalage de pagination (par défaut 0).
  • --max_results : Nombre de résultats à retourner (par défaut 10).
  • --sort_by : relevance, lastUpdatedDate, ou submittedDate. (Utilisez --sort_by submittedDate --sort_order descending pour les articles les plus récents).
  • --sort_order : ascending ou descending.

2. Télécharger un article (PDF ou HTML)

Téléchargez le texte complet d'un article dans votre espace de travail local pour la lecture.

uv run scripts/download_paper.py --id 1706.03762 --format pdf --output attention.pdf

Options :

  • --id : L'ID arXiv (par exemple, 1706.03762 ou 1706.03762v5).
  • --format : pdf ou html. Remarque : HTML n'est disponible que pour les articles plus récents.
  • --output : Chemin du fichier où sauvegarder le document téléchargé.

Important : Lors du téléchargement d'articles, assurez-vous de les télécharger dans un emplacement où vous ne remplacez pas d'autres fichiers et où vous ne désorganisez pas la structure de répertoire existante.

3. Télécharger la source de l'article (tar.gz)

Téléchargez les fichiers source LaTeX d'un article dans votre espace de travail local. Notez que tous les articles ne disposent pas de sources disponibles.

uv run scripts/download_paper_source.py --id 2010.11645 --output source.tar.gz

Options :

  • --id : L'ID arXiv (par exemple, 2010.11645).
  • --output : Chemin du fichier où sauvegarder le fichier tar.gz téléchargé.

Attention : La prudence est recommandée lors de l'extraction (untar) du fichier téléchargé pour la sécurité et pour éviter de désorganiser votre système de fichiers, car les archives peuvent contenir de nombreux fichiers ou des structures de répertoire inattendues.

Exigences d'extraction sécurisée : N'EXTRAYEZ JAMAIS directement dans votre répertoire de travail ! Extrayez toujours dans un nouveau répertoire dédié : bash mkdir paper_source && tar -xzf source.tar.gz -C paper_source

Référence

  • Syntaxe de requête avancée : Consultez references/query_syntax.md pour les préfixes (au, ti, abs), les booléens et le filtrage par date.

Flux de travail

  1. Recherchez des articles avec search_arxiv.py. Examinez les résumés JSON.
  2. Si le texte complet est nécessaire, utilisez download_paper.py pour récupérer le PDF ou HTML.
  3. Si vous téléchargez un PDF, vérifiez que le PDF n'est pas vide ou corrompu.
  4. Lisez le fichier téléchargé avec les outils de lecture de fichier standard.

Skills similaires