Edwardxlai/easyread

★ 600⑂ 46

把英文论文读成舒服的中文:本地 PDF 论文翻译、原文对照、边读边问 AI、文献管理。Read English papers in comfortable Chinese.

About Edwardxlai/easyread

Edwardxlai/easyread is an open-source project on GitHub, mainly written in Python. 把英文论文读成舒服的中文:本地 PDF 论文翻译、原文对照、边读边问 AI、文献管理。Read English papers in comfortable Chinese. It currently holds 600 stars and 46 forks with 0 open issues, and was last pushed on an unknown date (repository created unknown).

Project Overview

AI Homed tracks it on the Today's Trending board, currently at rank #87 with 0 new stars today.

GitHub Repository Details

Repository Edwardxlai/easyread · default branch - · size 0 KB · watchers 0 · source: GitHub REST API and repository README

README

https://github.com/Edwardxlai/easyread/blob/HEAD/EasyRead

EasyRead

让你更舒服地读论文
导入 PDF,后台逐页翻译;公式、表格照原文排好,随时对照原文,边读边划线、记笔记、提问。
本地运行,文献库默认保存在电脑上,也可以放进你自己的网盘同步文件夹

简体中文 · English

▶ 在线试读一篇 · 项目主页 · 下载

https://github.com/Edwardxlai/easyread/blob/HEAD/版本 https://github.com/Edwardxlai/easyread/blob/HEAD/测试 https://github.com/Edwardxlai/easyread/blob/HEAD/平台 https://github.com/Edwardxlai/easyread/blob/HEAD/MIT

https://github.com/Edwardxlai/easyread/blob/HEAD/译文和原页对照

它和“把 PDF 丢给翻译软件”有什么不一样

中文提示词另参考 asd-ste100-skill 的语义保留原则:保留条件、范围和“可能/建议/必须”等语气强度,不为简短而丢失精度。

https://github.com/Edwardxlai/easyread/blob/HEAD/边读边问 AI

https://github.com/Edwardxlai/easyread/blob/HEAD/文献库

翻译用什么模型:你来选

| 引擎 | 要什么 | 说明 | |---|---|---| | Claude Code(推荐) | 装好并登录 Claude Code | 不用 Key,用你订阅的额度;会自己看原页图核对公式,译文最好 | | Codex CLI | 装好并登录 Codex | 不用 Key,用 ChatGPT 账号 | | API 接口 · 国内直连:DeepSeek / 智谱 / 阿里云百炼 / Kimi / 硅基流动 / 魔搭 | API Key | 智谱 GLM-4.7-Flash、硅基流动小模型免费;DeepSeek 一篇 20 页论文几毛钱 | | API 接口 · 海外(要梯子):OpenAI / Anthropic / Gemini / OpenRouter / Groq / Cerebras | API Key | Gemini、OpenRouter、Groq、Cerebras 有免费额度 | | API 接口 · 本机:Ollama / LM Studio | 本机装 Ollama 或 LM Studio | 完全离线、免费,推荐 qwen3.5:9b(显卡小用 4b) | | API 接口 · 自定义地址:任意 OpenAI 兼容接口、中转站 | 地址 + Key | Chat Completions 和 Responses 两种格式都支持;点“获取模型列表”从接口拉模型名 |

不想让它导入后马上翻译,在设置里关掉“导入后自动开始翻译”就行,之后可以让对话里的 agent 来译。

设置里会自动检测本机装了什么,点“试译一句”马上知道能不能用。某一页翻译失败(限流、网络、额度)会自动重试,还不行就先跳过、接着译后面的页,最后一键“重试失败的页”。

https://github.com/Edwardxlai/easyread/blob/HEAD/设置

安装

最省事:下载安装包(不用装 Python)。在 Releases 下载:

安装版的论文和设置存在用户目录下的 EasyRead 文件夹(和 pip 安装版同一个位置),卸载重装不会丢。

macOS 首次打开

1. 提示“无法验证开发者”或“Apple 无法验证是否包含恶意软件”:先点“完成”(不要点“移到废纸篓”),打开“系统设置 → 隐私与安全性”,向下找到安全性提示,点“仍要打开”;在确认窗口点“打开”,按提示输入登录密码或使用 Touch ID 2. 提示“已损坏,无法打开”:先从 EasyRead 官方 Releases 重新下载,并把应用拖进“应用程序”;文件也可能确实损坏或被改动,不能只凭这条提示判断原因。只有确认文件来自这个官方仓库、并信任该文件后,才在“终端”执行下面的命令,再重新打开 EasyRead;这条命令移除隔离属性,不会修复损坏的文件

   xattr -dr com.apple.quarantine /Applications/EasyRead.app
   

3. 为什么会出现验证提示:目前的 macOS 安装包只做了临时签名,没有 Apple 开发者证书,也没有经过公证,因此可能被系统拦截;代码完全开源,也可以从源码运行

如果系统提示“将损坏你的电脑”,或明确检测出恶意软件并要求移到废纸篓,请停止安装,不要用上面的步骤绕过;按 Apple 官方说明 处理

或者从源码运行:需要 Python 3.10+。

先从 Releases 下载最新版的 zip 解压(或者 git clone 本仓库)。

Windows:双击 start.cmd。第一次会自动装好环境(一分钟左右),之后双击直接打开。

macOS / Linux:在解压出来的目录里运行

./start.sh

这样启动的,浏览器里的 EasyRead 页面全部关掉后,后台服务过十几秒会自己退出;还有翻译在跑的话,等译完再退。

每次推送都会在 Windows、macOS、Linux 上自动装一遍、跑测试、启动一次(见上面的“测试”徽章)。

或者用 pip(数据放在 ~/EasyRead):

pip install git+https://github.com/Edwardxlai/easyread
easyread

浏览器会打开 http://127.0.0.1:8765。服务只监听本机。

桌面版(Electron)

桌面版复用同一套本地 Python 服务和 Web 界面,由 Electron 负责启动服务并显示窗口。开发环境需要 Node.js 22+、Python 3.10+ 和 PyInstaller:

npm install
python -m pip install pyinstaller
npm run dev

生成可分发安装包:

npm run dist

输出在 dist/electron/:Windows 为 NSIS 安装程序,macOS 为 DMG,Linux 为 AppImage。推送 v* 标签后,GitHub Actions 会在三个系统上构建,并把这些安装包自动附加到 GitHub Release;源码 zip 仍会由 GitHub 保留。打包后的文献库和设置保存在系统的 EasyRead 用户数据目录中,不会写进安装目录。

怎么用

1. 右上角“设置” → “模型”:添加要用的模型,点卡片选“设为翻译”。翻译和“问 AI”用的模型都在这一页管理。 2. 把 PDF 拖进窗口;或者粘贴 arXiv 编号、arXiv / OpenReview 链接、PDF 直链(在文献库页面直接 Ctrl+V 也行)。长论文可以选“只译正文”,或者“指定页”只译第几页到第几页。导入时还能选这次用哪个模型;“导入后”选“读英文原文”就只排版、不翻译,想看中文了随时点“翻译成中文”。 整篇翻译默认超过 60 页时会先确认,可以选择全部翻译、只译前 60 页或先不译;上限在“设置 → 模型”里修改,填 0 表示不询问 3. 翻译在后台一页页进行,已译的部分马上能读,没译到的页先显示原页。 4. 读的时候点一下段落出现操作条;选中文字可以划线、写笔记、提问。按 ? 看全部快捷键。 5. 论文默认译成中文,也可以在导入时选择日语、韩语、西班牙语、法语或德语,或在“设置 → 阅读 → 论文译成”里修改默认语言;界面语言独立设置,支持中文和英文,也可以跟随系统

和 AI agent 一起读

EasyRead 自带命令行,Claude Code / Codex 这类 agent 可以在对话里直接读你的笔记和问题、把回答写到对应段落旁边,也可以亲自翻译或重译某几页。技能说明在 skill/paper-reading/SKILL.md,把这个目录放进 ~/.claude/skills/ 或 ~/.codex/skills/ 即可。

easyread list                          # 列出文献库
easyread import 论文.pdf                # 或 arXiv 编号 / 链接
easyread status ID                     # 进度、我改过的译文、笔记、待回答的问题
easyread discuss ID --from 回答.json    # 把讨论写到页边
easyread export ID                     # 导出单文件离线 HTML

完整命令见 easyread --help,数据格式见 docs/data-format.md。

常见问题

能翻译成中文以外的语言吗? 能,目前支持中文、日语、韩语、西班牙语、法语和德语。在“设置 → 阅读 → 论文译成”里修改默认语言,也可以在导入时单独选择;不需要翻译时,可以直接读英文原文

翻译到一半失败了? 文献库里点这篇,右侧“翻译”一栏会写原因和失败的页,点“重试”。“翻译记录”里有每一批的详细情况;设置底部“运行日志”能看到服务本身的日志。

用 Claude Code 要挂梯子吗? 和你平时在终端里用 claude 一样:平时要,这里也要。不想折腾就在设置的“API 接口”里选智谱、硅基流动(都有免费模型)或本机 Ollama,国内直连。

Claude Code 额度用完了? 等额度恢复后点“重试”,或者在设置里临时换成 API / Ollama,已经译好的页不会重译。

数据存在哪? 默认保存在本机;在“设置 → 云文献库”里可以迁移到其他磁盘或网盘同步文件夹,上传和同步由你自己的网盘客户端完成。翻译和提问时,相关内容会发给你选择的模型。从源码运行时在项目目录的 library/;pip 安装后在 ~/EasyRead/library/。每篇论文一个文件夹,里面是原 PDF、原页图和几个 JSON(译文、你的笔记、AI 讨论、对话记录),设置和界面偏好在 config.json、prefs.json。可以直接备份或同步。为什么不用数据库见 docs/data-format.md。

能离线看、发给别人吗? 能。文献库里右键一篇论文 → “导出离线 HTML”,得到一个单文件网页(命令行是 easyread export ID)。对方不用装 EasyRead,双击用浏览器打开就能读:译文、公式、原页图、你的划线和笔记都在里面,也能切对照、开原页、接着划线。原页图是打包进去的,所以文件不小(27 页的论文约 10 MB)。在离线版里新做的划线和笔记只存在打开它的那个浏览器里;想并回文献库,在左侧“说明”里点“导出我的修改”得到一个 JSON,再运行 easyread merge ID --from 导出.json。

想放到网站上(比如 GitHub Pages),用 easyread demo ID --out 目录:图片另存成文件、按需加载,还会带上问 AI 的对话记录(只能看)。

开发

没有前端构建:easyread/web/ 下是纯 HTML/CSS/JS,改完刷新即可。后端只用 Python 标准库加 PDF 处理库。

python -m unittest discover tests         # 翻译调度等单元测试
node tests/e2e.cjs library/<论文ID>       # 浏览器端到端测试(需要 Playwright 和一篇已译好的论文)

设计取舍见 docs/design.md,版本变化见 CHANGELOG.md。

许可

MIT。公式渲染用 KaTeX(MIT)。

在线演示用的论文是 Rafailov 等人的 Direct Preference Optimization: Your Language Model is Secretly a Reward Model(arXiv:2305.18290,CC BY 4.0),中文译文由 EasyRead 调用 Claude 生成,演示里的划线和笔记是示例。

贡献者

GitHub Stars & Activity

600Stars
46Forks
0Open issues
PythonLanguage

GitHub Popularity

GitHub stars600
Forks46
Open issues0
Primary languagePython
License-
Stars gained today0
Created-
Last pushed-

Trending History

Daily boardrank #87 · ▲ 0 stars
Weekly boardrank #100 · ▲ 0 stars

Related AI Projects

1

Panniantong / Agent-Reach

Python★ 88,395⑂ 7,785▲ 683 stars
→
2

ComposioHQ / awesome-claude-skills

Python★ 76,358⑂ 8,919▲ 80 stars
→
3

microsoft / VibeVoice

Python★ 54,602⑂ 6,138▲ 36 stars
→
4

ayghri / i-have-adhd

Python★ 52,899⑂ 3,046▲ 277 stars
→
5

PostHog / posthog

Python★ 40,105⑂ 3,463▲ 40 stars
→
6

google / skills

Python★ 20,694⑂ 1,718▲ 78 stars
→
7

NVIDIA / SkillSpector

Python★ 19,080⑂ 1,662▲ 167 stars
→
8

Tracer-Cloud / opensre

Python★ 11,343⑂ 1,660▲ 23 stars
→

More AI Rankings