An AI research-paper reader. Open a PDF or arXiv ID and an AI colleague explains, translates and resolves citations beside the page, on your Claude or ChatGPT subscription. No API keys.
翻译准备中
正在加载完整 README。
查看完整 README ↗An AI research-paper reader that runs on the subscriptions you already pay for. Open a PDF or an arXiv ID. An AI colleague beside the page explains passages and figures, translates, finds the key sentences and resolves citations without you leaving the page.
AI runs through the Claude Agent SDK on your Claude login, or through the Codex SDK on your ChatGPT login. You need no API keys and no cloud account. Your papers, highlights and notes stay in your browser.
Website · Download for Mac · Download for Windows · Download for Linux · Open the reader · Quick start · Features · Architecture · Security model · Build and release
Alpha, and a personal project. Lunaread is early. It has only been tested by hand. Expect rough edges, and read the Security model and Limitations sections before relying on it.
Your subscriptions, your machine. AI calls go through the Claude Code and Codex logins on this computer, via a small server that listens only on
127.0.0.1. Lunaread never asks for your password. Papers live in IndexedDB and settings inlocalStorage, both in your browser.
Answers in your language. The interface is in English. AI answers default to Korean; change the language in Settings.
A PDF reader with an AI panel, a library and a Semantic Scholar search, delivered three ways:
| Surface | How it runs | AI |
|---|---|---|
| Website (sungmyeonggi.github.io/Lunaread) | Static Next.js export on GitHub Pages | Calls the local server at http://127.0.0.1:8787 when it is running |
Local web (npm start) | The same export, served by the local server | Same origin, works out of the box |
| Desktop app (macOS · Windows) | Electron; starts the server in-process on a free port and opens a window | Works out of the box |
Without the server you can still read papers and add highlights and notes, everything except AI and fetching PDFs by link.
| Provider | Engine | Authenticates with |
|---|---|---|
claude-sub (default) | Claude Agent SDK (@anthropic-ai/claude-agent-sdk) | The Claude Code login on this computer (subscription) |
codex-sub | Codex SDK (@openai/codex-sdk) | The Codex (ChatGPT) login in ~/.codex |
anthropic-api | Anthropic SDK, Files API with prompt caching | An API key entered in Settings |
openai-api | OpenAI SDK, structured outputs | An API key entered in Settings |
The model list comes from each engine. For Claude, that is the models your plan offers. For Codex, it is ~/.codex/models_cache.json. Pick a model in Settings or in the chat composer.
.ts files directly with Node's type stripping.claude, then log in). Optionally, a ChatGPT subscription signed in with the Codex CLI.S2_API_KEY for a higher Semantic Scholar rate limit.Download the latest release: Lunaread-arm64.dmg (macOS, Apple Silicon), Lunaread-Setup-x64.exe (Windows) or Lunaread-x86_64.AppImage (Linux). All builds are on Releases.
macOS. Drag Lunaread to Applications. The build is signed ad hoc only, so Gatekeeper blocks the first launch. Right-click the app and choose Open, or run:
xattr -dr com.apple.quarantine /Applications/Lunaread.app
Windows. Run the installer. SmartScreen may warn about an unknown publisher; choose More info, then Run anyway.
Linux. chmod +x Lunaread-x86_64.AppImage, then run it.
The app uses the Claude Code and Codex logins already on this computer. You don't need to configure anything else. It tells you when a newer release is out.
git clone https://github.com/SUNGMYEONGGI/Lunaread.git
cd Lunaread
npm install
npm run build
npm start # http://127.0.0.1:8787
You can now use either address:
以上为 README 的开头部分。其余内容请阅读原文。 查看完整 README ↗