Skills DirectorySearch all skills ↗

AI agent skill · by @cat-xierluo

Patent Download

专利 PDF 批量下载工具。当用户需要下载专利全文 PDF、查询专利信息、批量导出专利文件时使用。支持多平台(Google Patents 优先),自动处理申请号和公告号格式。

Archived 2026-10-23 · Source updated 2026-10-11 · License: MIT. Check the original repository for the latest version.

SKILL.md instructions

# patent-download - 专利下载工具

根据专利号从多个平台下载专利文本(PDF / 摘要 / 全文)。

## 何时用 / 何时不用

**用**:下载专利全文 PDF、批量导出专利文件、查询专利基本信息。
**不用**:专利侵权比对 / 权利要求分析 / 有效性核查等,请用专用分析工具。

## 推荐通道

Google Patents(API、免费免登录)为首选,度衍专利(浏览器)为备选。各平台实测状态、推荐度与接入方式见 `references/platform-status.md`。

## 专利号格式(关键)

用户给的往往是**申请号**(如 `202421964517.8`),Google Patents 用**公告号**(如 `CN223081266U`)索引。两者无数学对应关系,`google_patents.py` 会尝试自动匹配但不保证成功。

完整的申请号/公告号结构、种类代码(A/B/U/S)、发明 A vs B 区别、默认下载规则见 `references/patent-number-formats.md`。

## 使用方法

### 统一入口(推荐)

```bash
# 进入脚本目录(相对 skill 根)
cd scripts

# 查看支持的平台及状态
python cli.py --list

# Google Patents 下载(推荐,免费免登录)
python cli.py google CN223081266U
python cli.py google 202421964517.8      # 申请号自动匹配

# 仅查询专利信息,不下载
python cli.py google CN223081266U --info

# 度衍浏览器自动化(账号自动从环境变量读取)
python cli.py uyanip CN223081266U -m browser

# 批量下载
python cli.py google CN223081266U CN118198150A CN118198150B
```

### 直接调用平台脚本

```bash
python platforms/google_patents.py CN223081266U
python platforms/google_patents.py 202421964517.8 -o ~/Downloads
python platforms/uyanip.py 2024214535561
```

## 凭证(环境变量,公开发布版)

各平台账号通过**环境变量**配置,代码不硬编码、仓库不存储任何账号密码。

命名:`PATENT_<平台>_USERNAME` / `PATENT_<平台>_PASSWORD`(如 `PATENT_UYANIP_USERNAME`)。

配置流程:
1. `cp config/.env.example config/.env`
2. 编辑 `config/.env`,填入你注册的账号(已 .gitignore,不入库)
3. 账号自动从环境变量 / `.env` 加载(`scripts/platforms/_creds.py`,无需额外依赖)
4. **安全自检**:`python scripts/platforms/_creds.py` —— 检查 `.env` 是否被误提交到 git,并显示各平台账号是否就绪(不打印密码)

各平台账号获取方式与 **ToS 合规提示**见 `references/accounts-setup.md`。Google Patents 与 CNIPA epub 为公开免登录,无需配置。

## 参数说明

| 参数 | 说明 |
|------|------|
| `-m, --method` | 下载方式:api 或 browser |
| `-u, --username` | 用户名(默认从环境变量读) |
| `-p, --password` | 密码(默认从环境变量读) |
| `-o, --output` | 输出目录(默认当前目录) |
| `--headless` | 无头模式(浏览器方式) |
| `--info` | 仅查询信息,不下载(仅 Google Patents) |

## 依赖

### 开箱即用(无需安装)

- **Google Patents 信息查询**:`python cli.py google <号> --info` 仅用标准库,零依赖
- **凭证自检**:`python cli.py --list`、`python platforms/_creds.py` 零依赖
- 缺少下述可选依赖时,脚本会打印清晰提示并退出,不会抛晦涩的 `ImportError`

### 需安装依赖

首次下载前按所用通道安装(统一命令:`pip install -r scripts/requirements.txt`):

| 通道 | 依赖 | 安装命令 |
|------|------|----------|
| Google Patents 下载(推荐) | `patent-downloader` | `pip install patent-downloader` |
| 度衍/粤港澳/PSS 浏览器自动化 | `playwright` + 浏览器 | `pip install playwright && playwright install chromium` |
| PatentStar/epub API 等 | `requests` | `pip install requests` |

一条命令装全部:`pip install -r scripts/requirements.txt`。

## 所需权限与安全说明

本技能会执行本地脚本完成专利下载,涉及以下能力边界,请在使用前知悉:

### 运行时自动安装依赖(请留意)

- `scripts/patent-download.sh` 包装脚本在缺少依赖时会**自动执行 `pip install` 与 `playwright install chromium`**:
  - 首个参数为 `google` 时,若未装 `patent-downloader` 会自动 `pip install patent-downloader`;
  - 其他参数走老版路径时,若未装 `playwright` 会自动 `pip install -r requirements.txt` 并下载 Chromium 浏览器二进制。
- 该自动安装**没有固定版本(unpinned)**,会从网络拉取最新包,存在供应链风险。请知悉:自动安装前建议人工审查 `scripts/requirements.txt`,或改为手动安装(`pip install -r scripts/requirements.txt`)。
- 直接调用 `python cli.py <平台> <专利号>` 不会触发自动安装,缺依赖时只会打印清晰提示并退出。

### 网络访问

- 按用户指定的专利号向外部平台发起网络请求下载专利全文/PDF:Google Patents(API)、度衍、粤港澳、PSS、PatentStar、CNIPA epub 等。请求对象由用户输入的专利号决定,不会上传本地文档内容。
- 使用 `requests` / `patent-downloader` / `playwright`(浏览器自动化)等依赖完成下载。

### 凭证访问

- 各平台账号通过环境变量(`PATENT_<平台>_USERNAME` / `PATENT_<平台>_PASSWORD`)或本地 `config/.env` 读取(见「凭证」章节)。凭证仅用于登录下载,不硬编码、不打印密码。
- 凭据等同账号密码,请勿截图、分享或提交到任何仓库。

### 浏览器自动化

- 部分平台(度衍/粤港澳/PSS)使用 Playwright 驱动 Chromium,支持 `--headless` 无头模式。会在本机启动浏览器进程执行登录与下载操作。

### 文件访问

- 在用户指定输出目录(`-o`,默认当前目录)写入下载的 PDF/文件。

## 更多

- 使用示例与故障排除:`references/examples.md`
- 变更历史:`CHANGELOG.md`

Related skills