Read where you find papers. Think where you read them.
A browser-native research workspace for Chrome.
Read, annotate, ask, remember, and organize papers without leaving the browser.
Add to Chrome · Visit website · Build from source
English · 简体中文
Research is often split across a PDF viewer, notes, a detached chatbot, browser tabs, and a separate reference manager. PaperFlow brings those parts together around the paper itself.
Paper
├── metadata and identity
├── reading state
├── annotations and notes
├── source-linked conversations
└── Paper Memory
Open an arXiv paper where you found it, keep the original URL, and work inside one persistent browser workspace. Return later and the paper still has its position, notes, conversations, and saved context.
Select text, ask a focused question, and receive a concise answer beside the document. PaperFlow builds context from the selection, current page, and relevant paper chunks. Structured citations link back to the cited page in the Reader.
- Page-aware context instead of a detached chat upload
- Streaming answers with Markdown, tables, and research prompt shortcuts
- ChatGPT subscription access through the local Codex sign-in, isolated from user MCP configuration
- OpenAI-compatible API support with a custom base URL and model ID
- Direct API connections from the extension with device-local key storage
Highlight, underline, strike out, write a text note, capture an area, or draw with ink. Annotations stay anchored in PDF coordinates, survive zoom changes, and reopen with the paper.
Annotated work can be exported as a PDF copy, JSON, or Markdown. Local full-text search and on-demand English and Simplified Chinese OCR are available for papers that need them.
PaperFlow treats each paper as a long-lived research object rather than a temporary chat session.
| Persistent context | What is retained |
|---|---|
| Reading | Current page, position, and reader state |
| Evidence | Selections, annotations, comments, and notes |
| Conversation | Multiple threads, messages, and page citations |
| Memory | Saved insights and concise paper context |
| Identity | Metadata and source aliases for recognizing the same paper |
The library uses a dense research-table interface designed for scanning and repeated work:
- Nested collections, tags, favorites, reading status, and reading history
- Field-aware search, duplicate review, trash, and bulk actions
- BibTeX and RIS import/export
- APA, MLA, Chicago, IEEE, and BibTeX citation copy
- Markdown notes, annotation summaries, attachments, and Paper Memory
- User-reviewed organization suggestions that never change the library silently
PaperFlow is local-first. It does not operate a document backend.
flowchart LR
B["Chrome + PaperFlow"] --> L["Local storage<br/>IndexedDB + OPFS"]
L -. "optional · encrypted before upload" .-> D["Your Google Drive"]
B --> H["Local native host"]
H --> C["ChatGPT Codex<br/>Responses service"]
X["Official Codex CLI"] -. "sign-in and credential refresh" .-> H
B --> A["OpenAI-compatible API"]
- Paper metadata, reading state, notes, annotations, conversations, and memory remain local by default.
- Optional Google Drive sync uses the minimum
drive.filescope and stores encrypted objects in the user's ownPaperFlowfolder. - Offline PDF backup is separately controlled and disabled by default.
- PaperFlow does not scrape ChatGPT cookies. In subscription mode, the open-source Native Host reads the local OAuth credentials created by Codex CLI into memory and calls the ChatGPT Codex service directly. The access token never enters the Chrome extension, logs, or PaperFlow storage.
- Local OCR has no runtime CDN or remote-code dependency.
Read the privacy notice, security policy, and architecture document.
Install PaperFlow from the Chrome Web Store.
PaperFlow supports Chrome 114 or newer on macOS, Windows, and Linux. The integrated Reader handles local and remote PDFs; arXiv and ScienceDirect PDF pages retain their original public address while PaperFlow runs in the page.
The Reader, annotations, research library, local storage, and Google Drive sync work directly from the extension. They do not require the Native Host.
AI is optional. Choose exactly one setup:
| Connection | What to install |
|---|---|
| OpenAI-compatible APIs, including Gemini, Qwen, Kimi, DeepSeek, and others | PaperFlow from the Chrome Web Store only |
| ChatGPT subscription through Codex | PaperFlow, the official Codex CLI, and the PaperFlow Native Host |
You can switch either way at any time under Settings > AI Provider. PaperFlow remembers the API model and Codex model settings separately.
Install PaperFlow from the Chrome Web Store, open Settings > AI Provider, choose OpenAI-compatible API, and enter the Base URL, API key, and model.
PaperFlow works with services that expose an OpenAI-compatible HTTPS endpoint. Select the API format required by the provider and use a model enabled for your account:
| Provider | Example Base URL | API format |
|---|---|---|
| OpenAI | https://api.openai.com/v1 |
Responses or Chat Completions |
| Google Gemini | https://generativelanguage.googleapis.com/v1beta/openai/ |
Chat Completions |
| Qwen / Alibaba Cloud Model Studio | https://dashscope.aliyuncs.com/compatible-mode/v1 |
Chat Completions |
| Kimi | https://api.moonshot.ai/v1 |
Responses or Chat Completions |
| DeepSeek | https://api.deepseek.com |
Chat Completions |
Provider endpoints and model IDs can change. Use the provider's current
documentation when configuring PaperFlow. The model menu loads /models when
the provider supports discovery and always accepts a manual model ID.
Do not download a Native Host, clone this repository, install Codex CLI, or install Rust. The key remains in extension-local storage on this device and is not synchronized.
All three operating systems support ChatGPT subscription mode. End users install a prebuilt Native Host and do not need Git, Rust, Cargo, Visual Studio, Xcode, or a source build.
-
Install PaperFlow from the Chrome Web Store.
-
Open PowerShell on Windows or a terminal on macOS/Linux and check:
codex --version
If this works, for example because the official Codex app or CLI is already installed, skip to step 4. You do not need a separate Node.js installation.
-
If
codexis unavailable, install Node.js 20 or newer, then install the official Codex CLI. On Windows:winget install --id OpenJS.NodeJS.LTS -e npm.cmd install -g @openai/codex
On macOS/Linux:
npm install -g @openai/codex
-
Complete the official sign-in and verify it:
codex login codex login status
The second command should report that ChatGPT is signed in. Do not run
codex exec, and do not disable Notion, Zotero, or other MCP servers. -
Download the Native Host for the current operating system:
-
Extract the archive and install:
- Windows: double-click
INSTALL-PAPERFLOW.cmd. - macOS: run
bash install-macos.shin the extracted folder. - Linux: run
sh install-linux.shin the extracted folder.
- Windows: double-click
-
Fully close and reopen Chrome. In PaperFlow choose ChatGPT subscription > Sign in with ChatGPT.
After connecting, the model menu reads the models currently available to the signed-in Codex account. Keep Codex default (recommended) to let Codex choose, or select an account model such as a newly released GPT/Codex model.
The prebuilt packages are currently unsigned, so the operating system may show a security warning. The Host invokes the official Codex CLI only for sign-in and credential refresh. Paper chat goes directly from the Host to the Codex Responses service, so user MCP servers, plugins, and tools are not loaded. The Host reads the OAuth token from the Codex CLI credential file but never exposes, logs, or separately persists it. See Native Host setup for source builds, uninstall instructions, and troubleshooting.
This path is for contributors and users testing an unreleased build. It is not required after installing from the Chrome Web Store.
Requirements for the extension: Node.js 20+ and pnpm 10+.
git clone https://github.com/Dai0-2/paperflow.git
cd paperflow
pnpm install
pnpm buildOpen chrome://extensions, enable Developer mode, choose Load unpacked,
and select dist/. Rust and the Native Host build/install steps are needed only
when testing ChatGPT subscription mode.
pnpm install
pnpm dev
pnpm typecheck
pnpm test
pnpm build
pnpm audit:release
pnpm test:e2eThe extension is built with React, TypeScript, PDF.js, Dexie, Zustand, and Chrome Manifest V3. The native bridge is written in Rust.
- Remote PDFs behind login walls or restrictive CORS must be opened locally.
- OCR is intentionally on demand and processes up to 50 pages per run.
- Search locates matching pages but does not yet provide full in-page result stepping.
- Citation clicks navigate to the cited page; precise citation-range highlighting is not yet available.
- PaperFlow currently has no collaboration, vector database, or account/payment system.
For feature requests, configuration questions, or change suggestions, contact the author through GitHub Issues or by email. Issues and pull requests are welcome. Start with CONTRIBUTING.md, then review the release checklist before shipping a build.
PaperFlow is open source under the Apache License 2.0. Bundled dependencies retain their own licenses; see THIRD_PARTY_NOTICES.md.


