# arxiv-reader

> 利用python，指定某个arxiv_id/url， 基于 LLM Agent 对这篇arxiv论文进行分类与深度阅读，直接print打印阅读笔记

- Skill: `lovits/arxiv-reader` (Agent Skill, multi-file: 42 files)
- Install (CLI): `npx skillmds add lovits/arxiv-reader`
- Raw SKILL.md: https://api.skillmd.com/api/skills/lovits/arxiv-reader/raw
- Safety review: pending (external: skill-scanner PASS, skillspector WARNING)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: lovits (https://skillmd.com/u/lovits)
- Updated: 2026-08-19
- Page: https://skillmd.com/skills/lovits/arxiv-reader

---


## 凭证与配置优先级（Credentials）

本 Skill 依赖 `LLM_API_KEY` 和 `LLM_BASE_URL` 的配置。来源优先级如下：
1. 平台已注入的环境变量
2. `.env` 文件
3. 用户手动提供

**注意**：当平台环境或 `.env` 中已存在可用配置时，**不得再向用户索取 Key**，应直接静默使用现有配置。

## 单次容量限制（Capacity Limits）

- **单次处理量**：一次调用仅限处理 **1 篇**论文。
- **多篇请求处理**：若用户请求同时解读多篇论文，必须拆分为多次独立调用，并逐篇打印中间结果。
- **超时与长输出**：由于论文解析耗时较长且输出 token 量大，遇到超长输出需求时建议分段处理。请主动建议用户拆分任务，避免“同时深度解读多篇”导致执行卡死或超时。

## 快速开始

### 1. 配置 `.env`

```bash
cp .env.example .env   # 或直接编辑 .env
```

确定你已经配置了：
- `LLM_API_KEY` — OpenAI 或兼容 API 的密钥
- `LLM_BASE_URL` — API 地址

### 2. 运行

```bash
uv venv
uv pip install -r "{baseDir}/requirements.txt"

# 单篇论文模式：指定 arxiv_id 或 URL
uv run python "{baseDir}/main.py" --arxiv-id 2401.12345
uv run python "{baseDir}/main.py" --arxiv-id https://arxiv.org/abs/2401.12345
uv run python "{baseDir}/main.py" --arxiv-id https://arxiv.org/pdf/2401.12345.pdf

# 指定以特定类别阅读
uv run python "{baseDir}/main.py" --arxiv-id xxxx --category yyy

# 查看所有类别
uv run python "{baseDir}/main.py" --list

```

## 添加新的阅读分类

在 `skills/` 下新建文件夹，包含两个文件：

```
skills/your_new_category/
├── _metadata.md        # 分类描述（告诉 Classifier 什么论文属于这个类别）
└── reading_prompt.md   # 阅读指南（告诉 Reader Agent 重点关注什么）
```

重启即可自动识别，无需修改任何代码。

## Python包

- LangChain 1.x — Agent 框架（基于 LangGraph）
- LangChain OpenAI — LLM 接口（兼容 DeepSeek 等 OpenAI-compatible API）
- arxiv — 官方 Python 库
- arxiv-to-prompt 获取arxiv论文latex源码

