Paper Manager
一个用于 Obsidian 的论文管理插件:通过 DOI 自动抓取论文元数据、下载开放获取 PDF、管理论文笔记。
一个拥有和Zotero论文管理方式比肩的优秀视图。
预览
✨ 功能
📥 论文元数据自动抓取
- DOI 一键创建笔记:输入 DOI,自动从 OpenAlex 获取标题、作者、年份、期刊、出版社、论文类型、引用数、摘要、ISSN 等元数据
- arXiv 支持:识别
10.48550/arXiv.xxxx.xxxxx格式的 DOI,通过 arXiv API 获取 preprint 元数据(含完整摘要) - 期刊指标查询:集成 EasyScholar 查询影响因子、JCR 分区、中科院分区
- 会议名缩写:自动从期刊名中提取或匹配会议缩写(CVPR、ICCV、NeurIPS 等)
📄 PDF 自动下载
- 集成 Unpaywall 获取开放获取 PDF 直链
- 支持 arXiv、PLOS ONE 等出版商的直链构造
- 多层校验(HTTP 状态码 / 空响应 / PDF 文件头),避免产生垃圾文件
- 已存在且有效的 PDF 自动跳过
📊 双视图展示(基于 Bases)
- 树形视图:按文件夹层级浏览论文,徽章显示年份、期刊、引用数、IF、分区
- 表格视图:资源管理器式导航,跟随左侧文件树(单击展开 / 双击进入)
表格视图可配置项:
- 列显示 / 隐藏(名称列固定)
- 排序字段 + 方向(默认创建时间倒序)
- 数值列颜色规则(引用数、IF 按阈值着色)
- 枚举列颜色映射(JCR、中科院分区)
- 拖拽调整列宽并持久化
- 中科院分区两行居中显示,只对
X区部分着色 - 返回上级目录按钮
🔄 元数据刷新
- 单篇刷新:在笔记右键菜单或命令面板触发
- 批量刷新:设置面板一键刷新所有论文
- DOI 变更检测:对比插件私有记录与笔记当前 DOI,仅在变更时刷新
- 来源追溯:DOI 从 arXiv 变更为正式发表版本时,自动记录
previous_doi
📦 安装
从 Obsidian 社区插件安装(已上架)
- 打开 Obsidian 设置 → 第三方插件
- 点击 浏览,搜索
Paper Manager - 安装并启用
手动安装
- 从 Releases 下载
main.js、manifest.json、styles.css - 在库的
.obsidian/plugins/下新建文件夹paper-manager - 把三个文件放入该文件夹
- 重启 Obsidian,在 设置 → 第三方插件 中启用
🚀 快速上手
1. 配置
- 进入插件设置,配置论文根目录、PDF 文件夹、EasyScholar Secret Key (在 easyscholar.cc 注册获取) 、邮箱、论文标识符(默认
paper)
2. 创建你的第一篇论文笔记
- 点击左侧功能区的 📄 从 DOI 创建论文笔记 图标
- 输入 DOI,例如:
- 期刊论文:
10.1038/nature12373 - arXiv 论文:
10.48550/arXiv.1706.03762
- 期刊论文:
- 选择存放位置(支持文件夹自动补全)
- 点击 创建笔记
插件会自动:
- 在指定目录创建 Markdown 笔记
- 写入完整的 Frontmatter 元数据
- 将摘要填入正文的
## 摘要区块 - 尝试下载开放获取 PDF 到指定目录
- 自动添加
paper标签
3. 浏览所有论文
插件会在库根目录自动创建 paper-manager.base 文件,用 Obsidian 打开它就能看到:
- 按文件夹:树形视图
- 全部论文:表格视图
4. 更新元数据
- 单篇:在文件浏览器中右键论文笔记 → 重新检索 DOI
- 批量:设置 → Paper Manager → 批量操作 → 立即刷新
5. 注意
- 也可以不从DOI导入创建笔记,只要是根目录下的笔记文件,笔记属性中包含
tags:paper即可接受视图管理。如自己创建的xx.md文件中包含tags:paper,它隶属于插件设置中的根目录,就可以在视图中显示信息。
⚙️ 配置
插件设置分为以下几个区块:
目录设置
| 选项 | 说明 |
|---|---|
| 论文根目录 | 论文笔记的根目录。创建笔记时默认放于此目录下;表格视图只在此目录内联动 |
| PDF 文件夹 | 存放论文 PDF 的目录。创建笔记时不可选此目录;表格视图会跳过 |
论文标识
| 选项 | 说明 |
|---|---|
| 论文标识符 | 创建笔记时自动添加的标签(默认 paper) |
| 应用到现有笔记 | 为论文目录下所有 Markdown 文件补打标签 |
表格视图
- 列显示开关
- 排序字段和方向
- 引用数 / 影响因子颜色阈值规则
- JCR / 中科院分区颜色映射
外部 API
| 选项 | 说明 | 必需 |
|---|---|---|
| Unpaywall 邮箱 | 任意合法邮箱,Unpaywall 用于标识调用方 | 是 |
| EasyScholar Secret Key | 在 easyscholar.cc 注册获取 | 用于期刊指标查询 |
批量操作
- 刷新所有论文元数据:仅刷新 DOI 发生变化的笔记
📋 笔记字段说明
插件会在笔记 Frontmatter 中写入以下字段:
| 字段 | 来源 | 说明 |
|---|---|---|
doi | 输入 | 论文 DOI |
arxiv_id | arXiv API | arXiv ID(若适用) |
previous_doi | 自动追踪 | DOI 变更前的旧 DOI(如 arXiv 版 → 正式版) |
title | OpenAlex / arXiv | 论文标题 |
authors | OpenAlex / arXiv | 作者列表 |
year | OpenAlex / arXiv | 出版年份 |
journal | OpenAlex | 期刊 / 会议全称 |
venue_short | 自动提取 | 会议缩写(如 CVPR、NeurIPS) |
issn | OpenAlex | 期刊 ISSN |
publisher | OpenAlex | 出版商 |
type | OpenAlex | 论文类型(article / conference / preprint 等) |
cited_by | OpenAlex | 引用数 |
impact_factor | EasyScholar | 影响因子 |
sci_quartile | EasyScholar | JCR 分区(Q1-Q4) |
cas_quartile | EasyScholar | 中科院分区(如 医学2区) |
oa_url | OpenAlex | 开放获取落地页 |
pdf_url | OpenAlex / Unpaywall | PDF 直链 |
pdf | 插件生成 | 本地 PDF 链接 [[path]] |
abstract | OpenAlex / arXiv | 摘要 |
tags | 插件生成 | 包含 paper 标签 |
❓ 常见问题
PDF 下载失败怎么办?
现象:笔记创建后提示"无法自动下载 PDF"。
原因:论文不是开放获取(如 Nature、Science 的订阅文章),或出版商限制自动下载。
处理:手动从出版商网页下载 PDF 到插件设置的 PDF 目录,文件名与笔记同名。
期刊指标为空白?
原因:未配置 EasyScholar Secret Key,或该期刊不在 EasyScholar 数据库中。
处理:在设置中填入 Secret Key。arXiv preprint 通常没有期刊指标,这是正常的。
表格视图没有显示我的论文?
检查:
- 笔记是否在论文根目录下
- 笔记是否有
paper标签(可在设置里批量添加) - 视图切换菜单是否选择了正确的视图
DOI 刷新后元数据没变?
原因:插件检测到笔记当前 DOI 与上次生成元数据时的 DOI 一致,跳过刷新。
处理:如果你想强制刷新,可以手动修改 doi 字段(哪怕加个空格),再点刷新。
我的 data.json 会上传到 Git 吗?
不会。data.json 保存在 .obsidian/plugins/paper-manager/data.json,包含你的 API 密钥和本地路径,插件源码的 .gitignore 已排除。永远不要把它分享给他人。
🛠️ 开发
环境要求
- Node.js 18+
- Obsidian 1.4.0+
构建
# 安装依赖
npm install
# 开发模式(watch)
npm run dev
# 生产构建
npm run build
For plugin developers
Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.