Skip to content

Repository files navigation

研趣阁 · PaperLore

像追玄幻小说一样追论文
Read papers like fantasy novels.

PaperLore 学术幻想风封面

PaperLore 是为手机设计的论文阅读器。它把 PDF 或 arXiv 论文重排为类似小说 App 的横向分页,并尽量保留目录、公式、定理、图表和引用,让论文不再只是缩小后的 PDF。

下载 Android APK · 当前为测试版,支持 Android 7.0 及以上系统
iOS 与 Android 共用同一套阅读、导入和 AI 能力;当前 iOS 版需通过 Xcode 安装,TestFlight 安装包尚未发布。

介绍视频

点击封面查看从论文导入、移动端重排阅读到双语翻译的完整演示。

播放 PaperLore 介绍视频

▶ 观看完整介绍视频(3 分 47 秒)

主要功能

  • 小说式横向分页:左右滑动或点击页面两侧翻页;Android 阅读模式还支持音量键。
  • 两种导入方式:上传 PDF,或粘贴 arXiv 编号/链接。
  • 学术内容重排:支持目录、行内/行间公式、定理与证明、表格、Figure 和引用链接。
  • AI 中文阅读:按章节渐进翻译,已完成内容会缓存,可以边翻译边阅读。
  • 简洁书架:记录阅读进度,长按论文可删除。
  • 阅读控制:日间/夜间模式、目录跳转和链接锁定,避免误触论文中的超链接。
  • 本地保存:书架、阅读进度、翻译缓存和千问配置保存在当前设备。

安装

Android

  1. 在 Android 手机上下载 PaperLore-android-debug.apk
  2. 打开下载完成的 APK;如果系统拦截,请为浏览器或文件管理器允许“安装未知应用”。
  3. 点击“安装”,完成后打开“研趣阁”。

安装新版时直接打开新的 APK 覆盖安装即可。若系统提示签名不一致,需要先卸载旧版;卸载会同时清除本机书架和翻译缓存。

iPhone / iPad(开发测试)

iOS 工程已与 Android 平行维护。按 Capacitor 8 当前要求,建议使用 macOS Sequoia 15.6 + Xcode 26.3,或更新的兼容组合。

git clone https://github.com/e9tian/PaperLore.git
cd PaperLore
npm ci
npm run ios:open

在 Xcode 中选择 App Target:

  1. 打开 Signing & Capabilities,登录 Apple ID 并选择自己的 Team。
  2. 选择 iPhone 模拟器或已开启开发者模式的真机。
  3. 点击 Run 安装并启动。

免费 Apple 开发者账号可以在自己的设备上测试;通过 TestFlight 或 App Store 分发需要加入 Apple Developer Program

怎么使用

1. 配置千问

书架右上角点击“千问”,粘贴阿里云百炼 API Key,然后选择模型:

  • Max: 质量优先,适合复杂 PDF、数学公式和正式翻译。
  • Plus: 响应更快、成本更低,适合普通论文和日常阅读。

一个 Key 同时用于 PDF 结构恢复、公式识别和中文翻译。Key 会保存在当前设备;请勿把真实 Key 提交到 GitHub、Issue 或截图中。

首次使用 AI 时,App 会先说明即将发送的数据并请求授权。只有同意后,论文文字、必要的 PDF 页面或公式图片才会发送给阿里云百炼千问;授权可在“千问设置”中撤回。百炼可能按其条款存储调用数据,详见官方隐私说明

2. 加入论文

点击书架右上角“+”:

  • arXiv: 输入 2503.13986、摘要页链接或 PDF 链接。若论文存在结构化版本,这种方式通常能更完整地保留公式和章节。
  • PDF: 从手机文件中选择论文。普通文字会直接重排;复杂公式和版面会由千问进一步恢复。

转换过程中已准备好的内容会先显示,不必等待整篇论文全部处理完。

3. 阅读

  • 点击书架中的封面进入论文;左右滑动或点击页面两侧翻页。
  • 点击页面中央显示或隐藏阅读工具栏。
  • 工具栏提供“书架”“目录”“链接开/关”“中文/原文”和“日间/夜间”。
  • Android 工具栏隐藏时,音量上键进入上一页,音量下键进入下一页;其他状态下音量键仍调节系统音量。iOS 始终保留系统音量键。
  • Android 阅读页执行系统返回手势会回到书架;在书架再次返回时,App 会提示“再按一次退出哦”,再次返回才会退出。iOS 从屏幕左边缘向右滑会从论文回到书架,退出 App 仍使用系统 Home 手势。
  • 点击“中文”后译文会逐步出现;切回原文、翻页或退出阅读页不会清除已完成的翻译。
  • 长按书架中的论文,可确认删除论文及其阅读进度和翻译缓存。

技术路线

flowchart LR
  A["arXiv 编号或链接"] --> B["arXiv / ar5iv 结构化 HTML"]
  C["本地 PDF"] --> D["PDF.js 文字与版面提取"]
  D --> E["千问多模态恢复复杂结构与 LaTeX"]
  B --> F["语义化 HTML + MathML"]
  E --> F
  F --> G["移动端分页阅读器"]
  G --> H["IndexedDB 书架与翻译缓存"]
Loading
  • arXiv 导入: 优先使用结构化 HTML/MathML,直接保留章节、公式、定理和 Figure。
  • PDF 导入: PDF.js 先提取可检索文字和几何布局;千问多模态处理复杂数学页面、行内公式和结构恢复;PaddleOCR.js 用作无文字层页面的本机识别补充。
  • 阅读器: React + CSS Columns 将语义化正文分页;KaTeX/MathML 渲染公式,宽公式和表格可横向查看。
  • 翻译: 按 section 切块调用千问,支持渐进显示、重试和本地检查点。
  • 移动端: Capacitor 将同一套前端资源打包进 Android/iOS 原生外壳;Android 与 iOS 只分别实现符合平台习惯的返回和硬件控制,IndexedDB 和 App 私有存储负责书架、进度与配置。

主要依赖

层级 技术
界面与阅读器 React 19、Next.js 16、vinext、TypeScript、CSS Columns
论文与公式 PDF.js、KaTeX、MathML、PaddleOCR.js、ONNX Runtime Web
AI 阿里云百炼千问 Max / Plus 多模态模型
本地数据 IndexedDB、Local Storage
移动端 Capacitor 8、Android WebView、iOS WKWebView

本地开发

需要 Node.js >= 22.13.0 和 npm。

git clone https://github.com/e9tian/PaperLore.git
cd PaperLore
npm ci
npm run dev

常用命令:

命令 用途
npm run dev 启动本地开发服务
npm run lint 运行 ESLint
npx tsc --noEmit 运行 TypeScript 类型检查
npm test 构建并运行导入、公式、翻译和排版测试
npm run mobile:web 生成移动端静态前端
npm run mobile:sync 生成前端并同步 Capacitor 工程
npm run android:apk 构建 Android debug APK
npm run ios:sync 生成前端并同步 iOS 工程
npm run ios:open 同步后用 Xcode 打开 iOS 工程
npm run ios:build:simulator 构建无需签名的 iOS Simulator Debug App
npm run ios:test:native 运行无需 Xcode 的 iOS 返回状态机测试

构建 Android 版还需要 Android Studio、Android SDK 和 JDK。运行:

npm run android:apk

APK 输出位置:

android/app/build/outputs/apk/debug/app-debug.apk

如需在 Android Studio 中调试,先运行 npm run mobile:sync,再用 Android Studio 打开仓库中的 android/ 目录。

iOS 开发可运行 npm run ios:open;Simulator 构建输出位于 ios/DerivedData/Build/Products/Debug-iphonesimulator/。Xcode 和 macOS 的兼容关系请以 Apple 官方要求为准。

许可证

PaperLore 源码采用 PolyForm Noncommercial License 1.0.0 授权,可用于个人使用、学习、研究及其他非商业用途。未经版权所有者另行书面授权,不得将本项目用于商业用途。

Copyright © 2026 Pengfei Tian.

该许可证属于 source-available 许可,并非 OSI 定义的开源许可证。第三方依赖及其附带资源继续遵循各自的许可证。

数据处理方式见 PaperLore 隐私说明

About

No description, website, or topics provided.

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages