PaperPilot: Je lokale AI-copilot voor documenten

Interfaces en toepassingen

De onderliggende engine is beschikbaar via verschillende interfaces:

  • MCP-server: Geeft Claude Desktop, Cursor of elke andere MCP-client de mogelijkheid om PDF's samen te voegen, te splitsen, OCR toe te passen en te comprimeren.
  • CLI: Voor batchverwerking en gescripte workflows.
  • Browser (WASM): Tools zonder installatie; bestanden worden verwerkt in het geheugen van de browser en niets wordt geüpload.
  • Desktop-app: Een GUI gebouwd met Tauri + Svelte, inclusief viewer, markeringen en diff-functies.
  • Lokale REST API: Aanroepbaar vanuit Python, Node of n8n via localhost:7823.

Snelstart

1. Gebruik met Claude / Cursor (MCP)

Download paperpilot-mcp vanuit de Releases en voeg deze toe aan claudedesktopconfig.json:

{
  "mcpServers": {
    "paperpilot": {
      "command": "/pad/naar/paperpilot-mcp"
    }
  }
}

Start Claude opnieuw op en probeer bijvoorbeeld: "Voeg deze twee PDF's samen en comprimeer het resultaat."

2. Gebruik van de CLI

Samenvoegen: paperpilot merge --inputs doc1.pdf doc2.pdf --output merged.pdf

Comprimeren: paperpilot compress --input in.pdf --quality 75 --output compressed.pdf

Pagina's roteren (bijv. pagina 1 en 3–5 met 90°): paperpilot rotate --input in.pdf --pages 1,3-5 --angle 90 --output out.pdf

3. Gebruik in de browser

Ga naar usepaperpilot.com. Indien je het tabblad 'Netwerk' van je browser opent tijdens het werken, zul je zien dat er geen bestanden worden geüpload.

4. Bouwen vanuit broncode

git clone https://github.com/KrushnaVardhanReddy/PaperPilot.git
cd PaperPilot
cargo build --release -p paperpilot-cli -p paperpilot-mcp -p paperpilot-gateway

Voor de Desktop-app:

cd apps/desktop && pnpm install && pnpm tauri dev

Vereisten: Rust 1.75+, Node.js en pnpm.

Functionaliteiten (v0.6)

  • Organiseren: Samenvoegen, splitsen, roteren, pagina's verwijderen, pagina's herordenen, pagina's extraheren, booklet imposition, N-up grid.
  • Optimaliseren: Comprimeren.
  • Extraheren: Platte tekst, OCR (pure-Rust PaddleOCR via rten).
  • Beveiliging: Watermerken, handtekeningen valideren, handtekeningen verwijderen, PII-scan, deep sanitize.
  • Office-data: Excel → JSON, Excel → CSV.

Roadmap (Toekomstige updates)

  • v0.7: PDF $\leftrightarrow$ Markdown / HTML / JSON.
  • v0.8: PDF → Word / Excel / PowerPoint.
  • v0.9: Versleutelen, ontsleutelen, signeren, redigeren, formulieren, annotaties.
  • v1.0: Renderen, flatten, repareren, vergelijken, PDF/A, Bates-nummering.

Waarom PaperPilot?

  • Standaard privé: Alles draait lokaal of in je browsertabblad.
  • Klaar voor AI-agents: MCP-ondersteuning is een kernfunctie, geen achterafje.
  • Eén engine, meerdere interfaces: CLI, MCP, REST, WASM en desktop delen dezelfde Rust-core, wat zorgt voor consistent gedrag.
  • Klein en weinig afhankelijkheden: Pure Rust, gebouwd op lopdf, pdf_oxide, rten en aanverwanten.

Architectuur

De structuur is als volgt opgebouwd:

Interfaces (Desktop/Tauri, CLI, REST/Axum, MCP/stdio, WASM/browser/edge) $\downarrow$ Rust core workspace (paperpilot-core, paperpilot-pdf, paperpilot-nlp, paperpilot-gateway, paperpilot-mcp, paperpilot-wasm, paperpilot-storage)

Integratie & API

Inbedden in een eigen website

<script src="https://cdn.usepaperpilot.com/embed.js" data-tools="merge,compress,ocr"></script>
<div id="paperpilot-widget"></div>

Lokale REST API

Start de server: paperpilot serve --port 7823

Voorbeeld van een aanroep:

curl -X POST http://localhost:7823/api/v1/pdf/merge \
-H "Content-Type: application/json" \
-d '{"inputs": ["a.pdf", "b.pdf"], "output": "out.pdf"}'

De Swagger-documentatie is beschikbaar op http://localhost:7823/docs.

Bijdragen en Licentie

Bijdragen via Issues en Pull Requests zijn welkom. Nuttige eerste bijdragen zijn bugrapporten met een voorbeeld-PDF, verzoeken voor nieuwe tools en documentatieverbeteringen.

Licentie: De Community Edition (deze repository) valt onder de Apache 2.0 licentie. Dit omvat de CLI, MCP-server, REST-gateway, WASM-engine en desktop-app. Een Enterprise Edition (met SSO, RBAC, audit logs, DLP) wordt apart ontwikkeld.