PaperPilot is een uitgebreide PDF- en documenttoolkit, volledig geschreven in Rust, met een sterke focus op privacy en lokale verwerking. De software voorkomt cloud-aanroepen en biedt een consistente ervaring via diverse interfaces, waaronder een CLI, een desktop-app (Tauri + Svelte), een WASM-browserversie en een lokale REST API.
Een kernaspect is de ondersteuning voor het Model Context Protocol (MCP), waardoor AI-clients zoals Claude Desktop en Cursor PDF-acties (zoals samenvoegen of comprimeren) direct kunnen aansturen. De huidige versie (v0.6) biedt functies voor het organiseren van pagina's, OCR-extractie, compressie en beveiligingsopties zoals PII-scanning. Toekomstige updates zullen conversies naar Markdown, Word en Excel toevoegen.
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.
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.