paperless-ngx

📄 私有化文档库智能管家

基于开源 Paperless-ngx 文档管理系统的官方 API 封装,支持文档搜索、上传、标签管理及 OCR 内容检索,实现私有化文档库的智能化管理。

收藏
2.7k
安装
936
版本
v1.0.0
CLS 安全性认证2026-06-04
点击查看完整报告 >

使用说明

核心用法

Paperless-ngx Skill 是一套面向自托管文档管理系统的命令行工具集,通过 REST API 与 Paperless-ngx 实例交互。用户需配置 PAPERLESS_URLPAPERLESS_TOKEN 环境变量完成认证,即可执行八大核心操作:全文搜索文档(支持标签、类型、对应方多维度过滤)、列出最近文档、获取单文档元数据及 OCR 文本内容、上传本地文件(自动或手动指定元数据)、下载 PDF 原件或归档版本、以及管理标签/文档类型/对应方三类核心元数据。所有脚本输出标准 JSON,便于与 jq 等工具链集成,适合构建自动化文档处理工作流。

显著优点

零依赖架构:仅使用 Node.js 内置模块(fshttppathutil 等),彻底规避 npm 供应链攻击风险,部署即插即用。**隐私优先设计**:完全对接用户自托管的 Paperless-ngx 实例,文档数据不出本地网络,满足医疗、法律、金融等敏感行业的合规要求。**OCR 深度集成**:原生支持提取 Paperless 已 OCR 处理的文本内容,实现扫描件的全文检索与内容分析。**元数据精细化管理**:支持标签、文档类型、对应方、创建日期等多维度元数据读写,配合 Paperless 的自动分类规则可构建企业级文档治理体系。**灵活的认证机制**:既支持环境变量配置,也支持 apiKey` 简写模式,适配不同部署场景的安全策略。

潜在缺点与局限性

自托管门槛:必须预先部署并维护 Paperless-ngx 服务器,对无运维经验的个人用户存在技术门槛。功能边界依赖上游:高级功能(如工作流自动化、邮件抓取、多用户权限)受限于 Paperless-ngx 本体版本,Skill 仅封装现有 API 能力。无实时同步机制:基于请求-响应模式,不支持 WebSocket 或 webhook 实时推送文档变更事件。批量操作效率待优化:当前脚本为单文件独立进程,大规模批量上传/下载时进程开销较高,需用户自行编写循环脚本。HTTPS 配置责任转移:Skill 不强制 TLS 验证,若用户配置 HTTP 协议则存在中间人攻击风险,安全性高度依赖用户运维水平。

适合的目标群体

自托管爱好者与 Homelab 用户:已部署 NAS 或家用服务器、追求数据主权的极客群体。中小型企业 IT 管理员:需要替代 Evernote、Google Drive 等企业网盘,构建合规内部知识库的组织。法律与会计事务所:处理大量扫描合同、发票、税务文件,依赖 OCR 全文检索的专业服务机构。隐私敏感型个人用户:拒绝 SaaS 文档服务、希望本地化管理医疗记录、房产契约等敏感资料的个体。自动化工作流开发者:需要将文档管理集成到 CI/CD、RPA 或 ETL 管道的工程师。

使用风险

Token 安全管理:API Token 以环境变量形式存储,共享环境或容器配置不当可能导致凭据泄露,建议配合密钥管理工具(如 HashiCorp Vault)使用。网络传输安全:若 Paperless 实例未配置有效 TLS 证书,Token 与文档内容将以明文传输,务必启用 HTTPS 并验证证书链。误操作数据覆盖:上传脚本对重复文件的处理策略取决于 Paperless 服务端配置,Skill 本身不做前置查重,可能意外创建重复文档。服务端可用性依赖:所有操作强依赖 Paperless-ngx 服务在线状态,服务端升级或维护期间 Skill 完全不可用。路径遍历边缘场景download.mjs--output 参数允许用户指定任意绝对路径,虽为设计特性,但自动化脚本中若拼接不可信输入可能引发非预期文件写入。

安全解读

核心功能

Paperless-ngx Skill 是一款面向自托管文档管理系统的 API 客户端工具,专为 Paperless-ngx 用户设计。该 Skill 通过 REST API 与用户的私有 Paperless 实例通信,实现完整的文档生命周期管理,包括:

  • 智能搜索:支持全文检索、标签过滤、文档类型筛选、联系人过滤及组合查询
  • 文档上传:支持带元数据的批量上传,自动识别标题或手动指定
  • 内容检索:可获取文档元数据、OCR 文本内容,支持完整内容导出
  • 文件下载:支持下载归档版本或原始 PDF 文件
  • 元数据管理:标签、文档类型、联系人的查询与创建

显著优点

1. 极简依赖架构:仅使用 Node.js 内置模块(fetch、fs、path、util),无第三方 npm 包,供应链攻击面趋近于零
2. 代码透明可信:547 行代码分布于 9 个清晰脚本,无动态代码执行、无 eval/exec 等危险函数

3. 网络边界清晰:仅与用户配置的私有 Paperless 实例通信,无外部 API 调用或数据外泄

4. 配置灵活:支持环境变量或配置文件双模式,Token 认证标准安全

5. 输出标准化:所有脚本返回 JSON,便于与 jq 等工具链集成

潜在局限

  • TLS 依赖用户配置:若用户配置 HTTP 而非 HTTPS,通信将以明文传输(RISK-001)
  • 路径遍历风险:上传/下载脚本的文件路径参数未做严格验证(RISK-002)
  • 请求无超时:fetch 调用未设置 AbortSignal,网络异常时可能挂起
  • 个人开发者维护:非知名组织背景,长期维护稳定性需关注

适用人群

  • 已部署 Paperless-ngx 的自托管用户
  • 需要通过命令行/脚本自动化文档管理的高级用户
  • 重视供应链安全、希望减少第三方依赖的技术用户

风险提醒

  • 务必配置 HTTPS URL 并妥善保管 API Token
  • 避免在生产环境使用 HTTP 协议通信
  • 对传入的文件路径参数保持警惕,避免路径穿越攻击
  • 建议定期关注仓库更新,审查代码变更

paperless-ngx 内容

references文件夹
scripts文件夹
手动下载zip · 12.6 kB
api.mdtext/markdown
请选择文件