Présentation
PaperPilot est un toolkit PDF entièrement écrit en Rust et distribué sous licence Apache 2.0. Le projet se distingue par son principe « Zero‑Cloud » : aucune donnée n’est envoyée à un serveur externe, même lorsqu’il est utilisé via le widget web. Le même moteur alimente plusieurs interfaces – CLI, serveur MCP, API REST, module WASM et application desktop Tauri – garantissant une expérience homogène quel que soit le point d’accès.
Architecture technique
Le cœur du projet repose sur un workspace Rust composé de plusieurs crates : paperpilot-core, paperpilot-pdf, paperpilot-nlp, paperpilot-gateway, paperpilot-mcp, paperpilot-wasm et paperpilot-storage. Cette modularité permet de partager la même logique métier entre les différents front‑ends tout en limitant les dépendances ; les bibliothèques principales sont lopdf, pdf_oxide et rten. La compilation nécessite Rust 1.75+ ainsi que Node.js et pnpm pour la partie desktop. Le processus de build standard est :
git clone https://github.com/KrushnaVardhanReddy/PaperPilot.git
cd PaperPilot
cargo build --release -p paperpilot-cli -p paperpilot-mcp -p paperpilot-gatewayLe serveur MCP s’intègre dans la configuration de Claude Desktop via un simple fichier JSON :
{
"mcpServers": {
"paperpilot": {
"command": "/path/to/paperpilot-mcp"
}
}
}Cette approche « stdio‑first » élimine toute dépendance à Chromium ou à des runtimes C++, réduisant ainsi la surface d’attaque et les coûts de maintenance.
Fonctionnalités et performances
PaperPilot expose des commandes CLI précises : merge, compress, rotate, split, extract, etc. Par exemple, la compression s’effectue avec un facteur de qualité configurable :
paperpilot compress --input in.pdf --quality 75 --output compressed.pdfL’OCR utilise PaddleOCR ré‑implémenté en Rust via rten, ce qui évite les bindings Python et conserve la promesse « pure‑Rust ». Les benchmarks, reproduits avec cargo bench --workspace, sont détaillés dans le fichier SYSTEM_BENCHMARK_REPORT.md et montrent des temps de traitement compétitifs par rapport aux solutions C++ traditionnelles, tout en restant entièrement locaux. Les fonctions de sécurité incluent le watermarking, la validation et la suppression de signatures, ainsi qu’une analyse PII et une désinfection profonde du document.
Perspectives et limites
Le roadmap prévoit, d’ici la version 0.9, le support du chiffrement, de la signature et de la gestion des formulaires ; la version 1.0 ajoutera le rendu, la comparaison de PDF, la conformité PDF/A et la numérotation Bates. Une édition Enterprise, séparée, introduira SSO, RBAC, audit logs et DLP, mais n’est pas couverte par la licence communautaire. Le principal point faible réside dans l’état actuel du support PDF/A et des annotations, qui restent en phase de développement. Malgré ces lacunes, la stratégie d’un moteur unique partagé entre plusieurs surfaces constitue une base solide pour des intégrations futures, notamment dans les agents IA qui requièrent un traitement documentaire totalement local.