[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-3098":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":23,"hasPages":23,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":40,"readmeContent":41,"aiSummary":42,"trendingCount":16,"starSnapshotCount":16,"syncStatus":43,"lastSyncTime":44,"discoverSource":45},3098,"PaperQuay","WangQrkkk\u002FPaperQuay","WangQrkkk","A desktop-first literature manager for PDF reading, translation, paper overviews, and AI agent workflows.","https:\u002F\u002Fgithub.com\u002FWangQrkkk\u002FPaperQuay",null,"TypeScript",131,11,66,4,0,19,22,51,57,3.24,"GNU Affero General Public License v3.0",false,"main",[26,27,28,29,30,31,32,33,34,35,36,37,38,39],"agent","ai-tools","desktop-app","mineru","open-source","openai-compatible","paper","paper-reader","react","rust","tauri","tool-use","typescript","zotero","2026-06-12 02:00:46","\u003Ch1 align=\"center\">PaperQuay\u003C\u002Fh1>\n\n\u003Cp align=\"center\">\n  English | \u003Ca href=\".\u002FREADME.zh-CN.md\">中文\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Cstrong>A desktop-first literature manager for PDF reading, translation, paper overviews, and AI agent workflows.\u003C\u002Fstrong>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fversion-v0.1.6-2563eb?style=flat-square\" alt=\"Version v0.1.6\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fplatform-Windows%20%7C%20macOS%20%7C%20Linux-4b5563?style=flat-square\" alt=\"Windows macOS Linux\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fbuilt%20with-Tauri%202-f97316?style=flat-square\" alt=\"Tauri 2\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Ffrontend-React%20%2B%20TypeScript-0f766e?style=flat-square\" alt=\"React TypeScript\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fdatabase-SQLite-111827?style=flat-square\" alt=\"SQLite\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-AGPL--3.0--only-b91c1c?style=flat-square\" alt=\"AGPL-3.0-only\">\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"#quick-navigation\">Quick Navigation\u003C\u002Fa> ·\n  \u003Ca href=\"#paperquay--ai-assisted-literature-management-that-keeps-reading-flow-intact\">Why PaperQuay\u003C\u002Fa> ·\n  \u003Ca href=\"#current-features\">Features\u003C\u002Fa> ·\n  \u003Ca href=\"#first-run-workflow\">Quick Start\u003C\u002Fa> ·\n  \u003Ca href=\"#development\">Development\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\".\u002Fdocs\u002Fassets\u002Freadme-hero.svg\" alt=\"PaperQuay feature overview\" width=\"920\">\n\u003C\u002Fp>\n\n\n\n---\n\n## Quick Navigation\n\n\u003Cp>\n  \u003Ca href=\"#paperquay--ai-assisted-literature-management-that-keeps-reading-flow-intact\">Problem & Positioning\u003C\u002Fa> ·\n  \u003Ca href=\"#what-makes-paperquay-different\">What Makes It Different\u003C\u002Fa> ·\n  \u003Ca href=\"#core-workflow\">Core Workflow\u003C\u002Fa> ·\n  \u003Ca href=\"#current-features\">Current Features\u003C\u002Fa> ·\n  \u003Ca href=\"#architecture\">Architecture\u003C\u002Fa> ·\n  \u003Ca href=\"#zotero-compatibility\">Zotero Compatibility\u003C\u002Fa> ·\n  \u003Ca href=\"#roadmap\">Roadmap\u003C\u002Fa>\n\u003C\u002Fp>\n\n---\n\n## PaperQuay — AI-Assisted Literature Management That Keeps Reading Flow Intact\n\n**PaperQuay is more than a PDF reader or a Zotero add-on.** It is a local-first desktop literature manager designed for students, researchers, and paper writers who want to manage papers, read PDFs, annotate, translate, screen papers quickly, and use AI agents without leaving the same workspace.\n\nMany paper tools force the user to choose between fragmented workflows: one app for PDF reading, another tool for translation, another chat window for paper summaries, and another library manager for metadata. PaperQuay combines these into a single desktop workflow while keeping Zotero compatibility optional rather than mandatory.\n\n| Research workflow problem                 | Traditional tools                                                  | PaperQuay                                                                                  |\n| ----------------------------------------- | ------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ |\n| Translation latency interrupts reading    | Translate only after selecting text, often with visible API delay  | Pre-translate MinerU structural blocks and jump instantly to cached translations           |\n| Side-by-side translation hurts focus      | Two columns require constant eye movement and can break formatting | Keep the original PDF visible while navigating to precise translated blocks on demand      |\n| Pure translated files lose source context | Original wording, terminology, and academic expression are hidden  | Keep source text, parsed blocks, translation, notes, and overview linked together          |\n| Fast paper screening is repetitive        | Upload PDFs to an LLM one by one and manually organize outputs     | Generate and store structured paper overviews inside the local library                     |\n| AI model choices are locked down          | Built-in models or platform-specific token pricing                 | Bring your own OpenAI-compatible endpoint, model, and runtime parameters                   |\n| Large libraries are hard to clean         | Manual renaming, tagging, metadata fixes, and classification       | Agent tools can assist with batch rename, metadata completion, tagging, and classification |\n| Zotero migration is inconvenient          | Either stay locked in Zotero or rebuild everything manually        | Import Zotero collections, tags, and PDF attachments as an optional source                 |\n\n---\n\n## What Makes PaperQuay Different\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\".\u002Fdocs\u002Fassets\u002Fshow.gif\" alt=\"PaperQuay workflow demo\" width=\"1200\">\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Cem>Live workflow demo: browse the library, open papers, inspect structured reading, and move into the Agent workspace without leaving the same desktop flow.\u003C\u002Fem>\n\u003C\u002Fp>\n\n### Instant Block-Level Translation\n\nPaperQuay uses a translation workflow designed for long paper reading sessions. It can translate and cache MinerU-parsed structural blocks in advance. Later, when reading, clicking a source block can instantly jump to its translated counterpart. Translation no longer needs to happen only after each click or selection.\n\n### Fast Paper Screening from the Overview Panel\n\nPaperQuay is designed not only for deep reading, but also for screening large numbers of papers quickly. In the overview panel, each paper can directly surface AI-generated fields such as background, research question, method, experiment setup, key findings, conclusions, and limitations. This allows you to judge whether a paper deserves deeper reading directly inside the library workflow before opening the full PDF in detail.\n\n### Literature Library, Not Just Import\n\nPaperQuay can build an independent local library with PDF import, a configurable storage folder, categories, tags, metadata editing, search, filtering, notes, and SQLite-based local persistence. Zotero remains supported as an optional import source, not a required dependency.\n\n### Agent Operations for Paper Management\n\nThe agent workspace is designed for library operations, not just conversation. It can assist with batch renaming, metadata completion, smart tagging, tag cleanup, automatic classification, and paper summarization while exposing tool calls and results for user review.\n\n---\n\n## Core Workflow\n\n| Step                   | What happens                                                                          |\n| ---------------------- | ------------------------------------------------------------------------------------- |\n| 1. Import PDFs         | Drag PDFs into the app or choose files from the import dialog.                        |\n| 2. Confirm metadata    | Review title, authors, year, venue, DOI, abstract, keywords, and duplicate warnings.  |\n| 3. Organize library    | Create categories, drag papers into collections, add tags, and mark favorites.        |\n| 4. Parse with MinerU   | Convert PDFs into structured blocks with page-region linkage.                         |\n| 5. Generate overviews  | Produce reusable paper overviews for fast screening and later review.                 |\n| 6. Translate full text | Cache translated blocks so reading can jump instantly between source and translation. |\n| 7. Read and annotate   | Highlight, write, add notes, jump to annotations, and export annotated PDFs.          |\n| 8. Use the agent       | Ask the agent to rename, classify, tag, clean metadata, or summarize selected papers. |\n\n---\n\n## PaperQuay Screenshots\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\".\u002Fdocs\u002Fassets\u002Fmain.png\" alt=\"PaperQuay literature library workspace\" width=\"1200\">\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Cem>Main library workspace: manage papers, categories, metadata, reading progress, and AI-generated overviews in one desktop view.\u003C\u002Fem>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\".\u002Fdocs\u002Fassets\u002Fagent.png\" alt=\"PaperQuay agent workspace\" width=\"1200\">\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Cem>Agent workspace: chat with the paper assistant, inspect execution traces, review tool calls, and run batch library operations with human confirmation.\u003C\u002Fem>\n\u003C\u002Fp>\n\n\n---\n\n## Current Features\n\n| Area            | Available now                                                                                                                        |\n| --------------- | ------------------------------------------------------------------------------------------------------------------------------------ |\n| Local library   | SQLite storage for papers, authors, categories, tags, attachments, notes, annotations, and import records                            |\n| PDF import      | File picker and drag-and-drop import with confirmation before files enter the library                                                |\n| File management | Configurable storage folder, copy \u002F move \u002F keep-path import modes, naming rules, and original-path tracking                          |\n| Metadata        | Crossref enrichment by DOI or title, with manual editing before confirmation                                                         |\n| Categories      | System categories, custom categories, nested subcategories, collapsible branches, context menus, drag sorting, and hierarchy changes |\n| Paper details   | Title, authors, year, venue, DOI, URL, abstract, keywords, tags, notes, citation, and favorite state                                 |\n| Reader          | PDF reader with MinerU structured block views and region-based linkage                                                               |\n| Translation     | Full-text translation, cached block translations, and selection translation through OpenAI-compatible models                         |\n| Paper overview  | AI-generated screening fields for background, research questions, methods, experiment setup, findings, conclusions, and limitations  |\n| Agent workspace | Conversation UI with execution traces, tool call cards, paper selection, metadata tools, rename tools, tagging, and classification   |\n| Zotero import   | Import local Zotero collections, tags, and available PDF attachments from `zotero.sqlite`                                            |\n| Themes          | Light and dark UI modes optimized for long desktop reading sessions                                                                  |\n\n---\n\n## First-Run Workflow\n\n1. Open Settings and choose a default paper storage folder.\n2. Import PDFs by drag and drop or by clicking the import button.\n3. Confirm or edit metadata in the import confirmation dialog.\n4. Let PaperQuay copy PDFs into its storage folder and save records in the local SQLite library.\n5. Create categories and subcategories from the left sidebar.\n6. Drag papers into categories, add tags, mark favorites, and open papers in the reader.\n7. Configure an OpenAI-compatible endpoint and model if you want AI features.\n8. Configure a MinerU API key if you want MinerU parsing.\n9. Optionally connect a Zotero data directory and import existing Zotero collections and PDFs.\n\n---\n\n## Architecture\n\nPaperQuay is desktop-first, not a browser demo wrapped at the end.\n\n| Path                       | Responsibility                                                                                                    |\n| -------------------------- | ----------------------------------------------------------------------------------------------------------------- |\n| `src\u002F`                     | React + TypeScript UI, feature modules, state, and frontend services                                              |\n| `src\u002Ffeatures\u002Fliterature\u002F` | Local literature library UI, import workflow, category tree, and paper details                                    |\n| `src\u002Ffeatures\u002Freader\u002F`     | Reader shell, linked reading workspace, settings, onboarding, and AI reading actions                              |\n| `src\u002Ffeatures\u002Fpdf\u002F`        | PDF rendering, overlays, annotation surface, and PDF-specific interactions                                        |\n| `src\u002Ffeatures\u002Fblocks\u002F`     | MinerU block rendering and structured content views                                                               |\n| `src\u002Ffeatures\u002Fagent\u002F`      | Agent chat UI, execution traces, tool cards, and library operation entry points                                   |\n| `src\u002Fservices\u002F`            | Frontend bridges to Tauri commands                                                                                |\n| `src-tauri\u002Fsrc\u002Fcommands\u002F`  | Rust commands for files, SQLite, Zotero import, MinerU, metadata, translation, overview, QA, and agent operations |\n| `src-tauri\u002F`               | Tauri v2 configuration, icons, installer assets, and Rust crate                                                   |\n\n---\n\n## Requirements\n\n- Node.js 18 or newer\n- Rust stable toolchain\n- Platform requirements for Tauri v2 on your OS\n- Windows, macOS, or Linux\n\nOptional external services:\n\n- MinerU API key for cloud PDF structure parsing.\n- OpenAI-compatible API key for paper overviews, translation, QA, and agent tasks.\n- Internet access for Crossref metadata enrichment.\n\n---\n\n## Development\n\nInstall dependencies:\n\n```bash\nnpm install\n```\n\nStart the desktop app in development mode:\n\n```bash\nnpm run tauri:dev\n```\n\nBuild the frontend only:\n\n```bash\nnpm run build\n```\n\nCheck the Rust host:\n\n```bash\ncd src-tauri\ncargo check\n```\n\nBuild the desktop installer:\n\n```bash\nnpm run tauri:build\n```\n\n---\n\n## Zotero Compatibility\n\nPaperQuay can read a local Zotero data directory that contains `zotero.sqlite`. During import it copies the Zotero database to a temporary read-only working file and does not modify your original Zotero database.\n\nImported data enters PaperQuay's own local literature library. Zotero collections become local categories, and available local PDFs inside those collections are copied into the PaperQuay paper storage folder.\n\nZotero is an optional compatibility source, not a required dependency. You can build a complete library directly inside PaperQuay without using Zotero.\n\n---\n\n## Data and Privacy\n\nPaperQuay is local-first. The literature database is stored as SQLite, and imported PDFs are stored in the paper storage folder you configure.\n\nDo not commit local data, API keys, PDFs, parser outputs, or backups. The `.gitignore` excludes common local runtime folders, SQLite databases, API key files, build output, backup archives, and private PDFs by default.\n\n---\n\n## Roadmap\n\n- Better metadata extraction from PDF first pages.\n- DOI \u002F arXiv \u002F Semantic Scholar enrichment options.\n- More advanced PDF annotations and export.\n- Citation style generation.\n- Database backup and restore UI.\n- Folder watching for automatic import queues.\n- RAG-based knowledge-base QA.\n- One-click survey generation and Word \u002F LaTeX research draft generation.\n- Optional cloud sync after the local-first model is stable.\n\n---\n\n## Acknowledgements\n\nPaperQuay is also shaped by discussions, feedback, and shared ideas from the [LinuxDo community](https:\u002F\u002Flinux.do\u002F).\n\n---\n\n## License\n\nPaperQuay Community Edition is licensed under `AGPL-3.0-only`.\n\nIf you distribute modified versions or provide modified versions over a network, keep the license and copyright notices, mark your changes, and provide the corresponding source code under AGPL terms. For closed-source commercial licensing, commercial support, or brand-name permission, contact the maintainer separately. See [TRADEMARKS.md](.\u002FTRADEMARKS.md) for brand-use notes.\n","PaperQuay 是一个面向桌面的文献管理工具，支持PDF阅读、翻译、论文概览及AI代理工作流。它采用TypeScript开发，前端基于React，并使用Tauri框架构建跨平台应用（支持Windows、macOS和Linux），数据库选用SQLite。其核心功能包括文献管理和阅读、注释、快速筛选以及集成AI辅助功能，旨在为学生、研究人员和写作者提供一站式服务，避免在多个应用程序间切换导致的工作流中断。此外，PaperQuay还保持了与Zotero的兼容性，但不强制用户必须使用Zotero。适合需要高效处理大量学术文献并希望在一个统一环境中完成所有相关任务的场景。",2,"2026-06-11 02:52:29","CREATED_QUERY"]