GitHub Park

Resophy: Your AI Research Paper Reading Assistant

Resophy is an open-source AI-powered paper reader developed in HTML. Built on a lightweight tech stack of HTML, JavaScript, and Python Flask, it features core functions like AI translation, paper analysis, and daily arXiv recommendations. Embracing the Vibe Coding development philosophy, it allows users to customize functionalities. Resophy addresses the pain point of researchers struggling with inefficient reading of vast amounts of literature by offering paper parsing, intelligent translation, and personalized recommendations. It supports the official MinerU cloud API, eliminating the need for local server deployment or a GPU to utilize AI parsing capabilities.

Resophy adopts a frontend-backend separated architecture, allowing its core services and AI services to be deployed separately on different devices to suit various usage scenarios. Dependency management is handled by uv.

  1. Main Service (Resophy Core): Comprises an HTML/JavaScript frontend and a Python Flask backend, responsible for core functionalities like paper management, categorization, and retrieval.
  2. AI Service (Optional Deployment)
  • LLM Server: Provides large language model inference capabilities, powering features like AI translation, paper parsing, and arXiv paper analysis. Supports local deployment or calling remote APIs.
  • MinerU Server: Implements the PDF-to-Markdown document parsing service, which serves as the foundation for AI features. Supports both local deployment and cloud API calls.

Resophy can be deployed and used on Windows, Mac, and Linux systems. Please refer to the corresponding installation guide for specific setup instructions.

Using Resophy involves two core phases: Initial Configuration and Functional Usage. After completing a simple setup, users gain access to all features including paper management and AI translation.

First-time users must enter the settings interface to complete basic configuration, covering four main modules: User Personalization, AI Features, arXiv Recommendations, and Zotero Import. All configuration items are straightforward, supporting instant saving and connection testing.

Configuration Module Entry Location Core Functions Operation Method
Personal Settings Settings → 'User' tab Avatar upload, username setting, reading heatmap color scheme, recent reading history Click the top-right avatar icon; settings auto-save.
Agentic Settings Settings → 'Agentic' tab LLM API configuration, MinerU server/cloud API setup, custom AI parsing prompts Enter API endpoints, tokens, etc., test connection, then save.
Daily arXiv Settings → 'Daily arXiv' tab arXiv category configuration, crawling rules, keyword list, institution settings Add categories, set parameters, save; supports quick selection of common categories.
Zotero Import Settings → 'Import' tab Target directory selection, RDF file drag-and-drop upload, import progress display, result statistics Export RDF from Zotero, drag and drop into the upload area to complete import.

Resophy Configuration

  • LLM API Configuration: Requires entering the model name, base URL, and API key. Supports all OpenAI-compatible interfaces. Connection validity can be tested after configuration.
  • MinerU Configuration: Offers two modes: 'Local Deployment' (requires server address) and 'Cloud API' (only requires the MinerU official website token).
  • Zotero Import: Supports custom import directories. Automatically counts successful, failed, and duplicate imports. Import progress can be viewed in real-time.

Resophy Basic Operations

After configuration, users can perform basic operations like uploading, managing, and viewing papers, supported by multiple upload methods and detailed paper information management.

  1. Paper Upload: Drag and drop PDF files directly into the upload area, or enter an arXiv paper URL. The system automatically extracts the arXiv ID from the filename or PDF metadata for information matching.
  2. Category Management: The left-side category tree allows creating, renaming, and deleting categories. Papers can be freely moved between categories for easy organization by research field.
  3. Full-Text Search: The top search bar supports searching papers by title, author, or abstract for quick literature.
  4. Paper Viewing: Click a paper card to enter its detail page to view metadata and abstract. Click "View PDF" to open the dedicated PDF reader, which automatically records reading time.
  5. Metadata Management: Edit paper title, authors, abstract, etc. Add notes and tags. Manage BibTeX citation format. Add related links like GitHub or project homepage.
  6. Data Export: Export the entire paper library in JSON format, including metadata and category structure, for easy backup and migration.

Automatic Metadata Retrieval

During upload, the system automatically calls APIs to fetch accurate metadata: basic info (title, authors, abstract) via arXiv API, and BibTeX citation via DBLP API. It prioritizes the DBLP format if successful; otherwise, it uses the arXiv default format, eliminating manual editing of basic paper info.

Resophy's core value lies in its AI-enhanced features, addressing key paper reading challenges from bilingual translation and deep analysis to intelligent arXiv paper filtering.

AI Translation Function

Leverages the Babeldoc tool for bilingual PDF translation, supporting all OpenAI-compatible LLMs. Generates a dedicated bilingual PDF file (.zh.dual.pdf) with the original content and Chinese translation displayed side-by-side, eliminating file switching.

Usage Steps: Select a paper on the main interface, click the "AI Translation" button. The system executes the translation task in the background. Upon completion, view the bilingual PDF in the paper detail page.

AI Interpretation Function

Employs a two-step process of "PDF to Markdown + LLM Deep Analysis" for accurate parsing of paper structure and key insights. Supports custom prompts to control the analysis style.

  1. PDF to Markdown: Parses PDF into structured Markdown using the MinerU tool, preserving elements like images and tables. Supports both local deployment and cloud API modes.
  2. LLM Interpretation: Feeds the Markdown content into the LLM along with a custom System Prompt to generate a structured interpretation report containing summary, methodology, results, and conclusions.

Usage Steps: Select a paper and click "AI Interpretation". Monitor progress on the "Interpretation Tasks" page. After completion, enter the interpretation view to see detailed analysis.

Daily arXiv Function

Automatically crawls the latest papers from specified arXiv categories. Uses AI to extract institutions, summarize abstracts, and filter keywords, pushing only relevant research content by filtering out无关信息.

  1. Smart Crawling: Crawls papers from specified categories using Python's arxiv library. Supports scheduled automatic checks (configurable interval: 5-60 minutes) and automatic cleanup of expired papers (configurable retention: 1-30 days).
  2. AI Analysis: Extracts author institutions and associated countries, and project homepage/GitHub links. Generates a Chinese summary (100-200 characters) from the English abstract. Extracts 1-3 core keywords from a preset list.
  3. Intelligent Filtering: Filters papers based on configured keyword lists and institution information. Supports institution name standardization and abbreviation recognition for precise matching of research interests.

Usage Steps: After configuring categories and filtering rules, click the "Daily arXiv" button. The system automatically crawls and analyzes papers, which can then be imported in bulk to the reading list.

Vibe Coding: Zero-Barrier Custom Functionality

Resophy introduces the unique Vibe Coding development philosophy, allowing users to easily customize and extend features without deep diving into complex code structures. Simply describe the desired functionality to the AI Coding Agent in natural language to create a personalized paper reader.

Function Customization

  1. Let AI Understand the Codebase: Send the prompt Please understand the functionality of this paper reading platform to the Coding Agent. The AI will analyze the project's architecture, core features, code organization, and design style to establish comprehensive understanding.
  2. Describe the Requirement: State the desired feature directly in natural language. The AI will implement it following the project's existing coding style, requiring no manual coding.

Prompt Writing Tips

When describing requirements to the AI, it is recommended to include function description, operation method, UI location, data storage, and special requirements for precise understanding. Example of a good prompt:

Add a dark mode feature for me:

  1. Add a moon icon button in the top-right navigation bar (next to the avatar button).
  2. Click to switch to dark theme, icon changes to sun. Click again to revert to light theme.
  3. Save user preference, automatically restore on page refresh.
  4. Dark theme should adapt all UI elements (navbar, sidebar, paper cards, settings page).

Common Customization Examples

Users can customize various features based on their needs. Here are common directions and corresponding prompt examples:

Customization Prompt Example
Theme Customization Add a theme selector supporting multiple color schemes like blue, green, purple, selectable in settings.
Export Function Add functionality to export the paper list as CSV, including title, authors, publication year, etc.
Batch Operations Implement batch marking, allowing adding favorites or tags to multiple papers simultaneously.
Search Enhancement Optimize search to support combined filtering by year range, author, and keywords.
Reading Statistics Add a reading statistics panel showing total reading time, number of papers read, most-read categories.
Right-click Menu Add a right-click menu on paper cards for quick actions like translate, interpret, delete.

Customization Notes

  1. The AI automatically adheres to the project's existing coding style for consistency.
  2. After adding new features, manual testing is recommended to ensure proper operation.
  3. When modifying core features, check for potential impacts on existing functionality.
  4. Backup the papers/ directory before customizing features that might affect data.
Visit Mountchicken/Resophy to access the source code and obtain more information.