PaperPilot 发布纯 Rust 本地 PDF 引擎,支持 WASM 与 MCP
PaperPilot – Zero-Cloud, Pure-Rust PDF Engine with WASM and MCP
PaperPilot 发布纯 Rust 编写的 PDF 工具集,同一引擎可运行在 MCP 服务器、CLI、浏览器 WASM、Tauri 桌面应用和本地 REST API 上,文件不上传云端。
为你的 AI 智能体——也为你——打造的 PDF 工具。纯 Rust。本地运行。文件永不离开你的机器。
PaperPilot 是一个用 Rust 编写的 PDF 与文档工具包。同一个引擎可以运行于:
| 形态 | 适用场景 |
|---|---|
| MCP 服务器 | 让 Claude Desktop、Cursor 或任何 MCP 客户端具备合并、拆分、OCR 和压缩 PDF 的能力 |
| CLI | 批处理与脚本化工作流 |
| 浏览器(WASM) | 零安装工具;文件在浏览器内存中处理,不会上传任何内容 |
| 桌面应用 | Tauri + Svelte 图形界面,带查看器、标注和差异对比 |
| 本地 REST API | 在 localhost:7823 上从 Python、Node 或 n8n 调用 |
无需 Chromium,无需 C++ 运行时,无云端调用。
快速开始
1. 配合 Claude / Cursor 使用(MCP)
从 Releases 下载 paperpilot-mcp,然后将其添加到 claude_desktop_config.json:
{
"mcpServers": {
"paperpilot": {
"command": "/path/to/paperpilot-mcp"
}
}
}重启 Claude 并尝试:“合并这两个 PDF 并压缩结果。”
2. 使用 CLI
# Merge paperpilot merge --inputs doc1.pdf doc2.pdf --output merged.pdf # Compress paperpilot compress --input in.pdf --quality 75 --output compressed.pdf # Rotate pages 1, 3–5 by 90° paperpilot rotate --input in.pdf --pages 1,3-5 --angle 90 --output out.pdf
3. 在浏览器中使用
访问 usepaperpilot.com。操作时打开浏览器的 Network 标签页——你会看到没有任何文件上传。
4. 从源码构建
git clone https://github.com/KrushnaVardhanReddy/PaperPilot.git
cd PaperPilot
cargo build --release -p paperpilot-cli -p paperpilot-mcp -p paperpilot-gateway桌面应用:
cd apps/desktop && pnpm install && pnpm tauri dev
需要 Rust 1.75+、Node.js 和 pnpm。
目前可用的功能(v0.6)
整理:合并、拆分、旋转、删除页面、重排页面、提取页面、小册子拼版、N-up 网格
优化:压缩
提取:纯文本、OCR(通过 rten 的纯 Rust PaddleOCR)
安全:水印、验证签名、移除签名、PII 扫描、深度净化
Office 数据:Excel → JSON、Excel → CSV
即将推出(见 ROADMAP.md):
- v0.7:PDF ↔ Markdown / HTML / JSON
- v0.8:PDF → Word / Excel / PowerPoint
- v0.9:加密、解密、签名、涂黑、表单、注释
- v1.0:渲染、扁平化、修复、比较、PDF/A、Bates 编号
为什么还要另一个 PDF 工具?
- 默认私密。一切都在本地或你的浏览器标签页中运行。
- 为智能体而生。MCP 支持是一等公民,而非事后补充。
- 一个引擎,多种形态。CLI、MCP、REST、WASM 和桌面端共享同一个 Rust 核心,因此行为一致。
- 小巧且依赖少。纯 Rust,构建于
lopdf、pdf_oxide、rten等之上。
基准测试
运行 cargo bench --workspace 即可复现。方法与结果:SYSTEM_BENCHMARK_REPORT.md。
架构
Desktop (Tauri) · CLI · REST (Axum) · MCP (stdio) · WASM (browser / edge)
│
Rust core workspace
paperpilot-core · paperpilot-pdf · paperpilot-nlp · paperpilot-gateway
paperpilot-mcp · paperpilot-wasm · paperpilot-storage
嵌入到你自己的网站
<script src="https://cdn.usepaperpilot.com/embed.js" data-tools="merge,compress,ocr"></script> <div id="paperpilot-widget"></div>
本地 REST API
paperpilot serve --port 7823 curl -X POST http://localhost:7823/api/v1/pdf/merge \ -H "Content-Type: application/json" \ -d '{"inputs": ["a.pdf", "b.pdf"], "output": "out.pdf"}'
Swagger 文档位于 http://localhost:7823/docs。
贡献
欢迎提交 Issue 和 PR。适合首次贡献的内容:附带示例 PDF 的缺陷报告、新工具需求以及文档修正。
许可证
社区版(本仓库):Apache 2.0。包含 CLI、MCP 服务器、REST 网关、WASM 引擎和桌面应用。
企业版(SSO、RBAC、审计日志、DLP)单独开发。
来源:Hacker News · github.com
