Skip to content

Your personalized LLM-assisted PDF reader with smart notes

License

Notifications You must be signed in to change notification settings

PanJason/PDFPal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

76 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PDFPal - Your AI-powered PDF reader with smart notes

PDFPal

APACHE_2.0 License

A lightweight macOS PDF reader with an integrated LLM chat panel. Select text in a paper, invoke an LLM, and keep model-specific chat sessions alongside the document.

Features

  • Open and read local PDFs with PDFKit
  • Select text and invoke an LLM from a context menu
  • Split-view layout: PDF on the left, chat on the right
  • Note renderer: render notes as markdown on the right (WIP)

Table of Contents

Project Structure

LLMPaperReadingHelper
├── src/
│   └── macos/              # macOS SwiftUI app
│       ├── app-shell.swift
│       ├── chat-panel.swift
│       ├── llm-client.swift
│       ├── llm/
│       │   ├── claude-client.swift
│       │   └── openai-client.swift
│       ├── pdf-viewer.swift
│       └── session-store.swift
├── docs/                   # Component docs
├── resource/               # App resources (icon)
├── dist/                   # Build artifacts
├── Makefile
└── Package.swift

Prerequisites

  • macOS
  • Xcode with Swift toolchain
  • Swift Package Manager (included with Xcode)

Getting Started

git clone <your-repo-url>
cd LLMPaperReadingHelper
make dev

Development

make dev   # Run the macOS app via SwiftPM

Build and Release

make build   # Build the macOS app
make release # Build a release .app bundle in dist/

Packaging

make package # Build and zip a release bundle in dist/

The output zip is placed in dist/LLMPaperReadingHelper.zip.

Cleaning

make clean # Remove build artifacts and dist bundle

Configuration

  • API keys are entered in the app UI and stored locally in the Keychain.
  • Each model family maintains its own session list and chat history.
  • Supported model families: OpenAI, Claude, Gemini.

License

Apache-2.0 License - see the LICENSE file for details.

About

Your personalized LLM-assisted PDF reader with smart notes

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages