总结归档文档
搜索归档并读取选定文档的提取文本。
/oo Paperless-ngx: 按 [查询] 搜索文档,读取文档 [ID] 并总结提取文本。
通过 Paperless-ngx,让 AI 助手搜索归档文档、整理提取文本并更新文档元数据。
将提示词复制到已安装 oo Skill 的 Agent,补充页面链接和原始笔记后执行。
搜索归档并读取选定文档的提取文本。
/oo Paperless-ngx: 按 [查询] 搜索文档,读取文档 [ID] 并总结提取文本。
读取当前元数据后,应用指定标题或分类变更。
/oo Paperless-ngx: 读取文档 [ID],将标题设为 [标题],完整标签列表设为 [标签 ID 列表]。
下载文档并返回临时 connector 文件 URL。
/oo Paperless-ngx: 取得文档 [ID] 原始上传文件的下载 URL。
在 Agent 中配置 oo CLI 和 oo Skill。
安装 OOMOL →提供 Paperless-ngx API Token 与公网实例 URL。
连接 Paperless-ngx →使用 /oo,说明要读取的页面、修改的内容和保存位置。
连接指南 →选择你的 Agent
通过 Paperless-ngx,让 AI 助手搜索归档文档、整理提取文本并更新文档元数据。
搜索归档并读取选定文档的提取文本。
读取当前元数据后,应用指定标题或分类变更。
下载文档并返回临时 connector 文件 URL。
列出或搜索已连接用户可见的文档,默认每页 25 条。过滤条件与 Paperless-ngx 的查询参数一一对应:id、标题、归档序列号、日期、联系人、文档类型、存储路径、标签、所有者、自定义字段、MIME 类型与内容查找可以组合使用;未建模的参数放入 additional_filters。query、text、title_search 与 more_like_id 改为走搜索索引查询,结果带 __search_hit__ 并按相关度排序,每次调用只能使用其中一个。只列出根文档;文件版本出现在每个文档的 versions 数组里。需要 view_document 权限。
paperless_ngx.list_documents 获取单个文档及其元数据、标签、自定义字段、备注、文件版本与 duplicate_documents (校验和相同的其他文档)。content 为最新版本提取出的文本,除非用 version 选择了其他版本。需要 view_document 权限以及对该文档的查看权限。
paperless_ngx.get_document 部分更新一个文档:标题、内容、联系人、文档类型、存储路径、标签、创建日期、归档序列号、自定义字段、移除收件箱标签、所有者与对象权限。只发送提供的字段 (PATCH);tags 与 custom_fields 会替换整个列表。修改 owner 或 set_permissions 需要是所有者或超级用户。响应带完整的 permissions 对象。需要 change_document 权限以及对该文档的修改权限。
paperless_ngx.update_document 把一个文档及其全部文件版本移入回收站。回收站中的文档在配置的回收站保留期 (默认 30 天) 到期前可以恢复,并会立即从搜索索引中移除。需要 delete_document 权限以及对该文档的删除权限。
paperless_ngx.delete_document 解析任意文档 id 对应的根文档,包括文件版本的 id 与回收站中文档的 id。对根文档而言答案就是它自己的 id。需要对根文档的查看权限。
paperless_ngx.get_document_root 获取文档的文件级元数据:校验和、大小、MIME 类型、媒体文件名、是否存在归档 PDF、原始文件与归档文件的解析器元数据 (例如 PDF 信息与 XMP 字段),以及检测到的内容语言。未给 version 时读取最新版本。需要对该文档的查看权限。
paperless_ngx.get_document_metadata 根据匹配规则与训练好的分类器,获取文档的联系人、标签、文档类型、存储路径与日期建议。结果会缓存,直到文档或分类器发生变化。需要对该文档的修改权限 (否则 403)。
paperless_ngx.get_document_suggestions 让配置好的语言模型为文档给出标题、标签、联系人、文档类型、存储路径与日期建议。模型选中的已有对象以 id 返回,它提议的新名称单独返回。需要实例启用 AI:否则 Paperless-ngx 返回 400 AI is required for this feature,AI 配置无效时返回 400,模型超时时返回 503。调用会在模型作答期间阻塞,并需要对该文档的修改权限。
paperless_ngx.get_document_ai_suggestions 下载文档的文件,并以临时的连接器文件 URL 返回。默认在存在归档 PDF 时提供归档 PDF,否则提供原始上传文件;original=true 时始终提供原始文件。Paperless-ngx 的 preview 端点提供完全相同的字节,只是以内联方式返回,因此不作为单独的 action 暴露。对回收站中的文档与文件版本同样有效。需要对该文档的查看权限;超过 200 MiB 的文件会被拒绝。
paperless_ngx.download_document 下载文档 (或其某个文件版本) 的 WebP 缩略图,并以临时的连接器文件 URL 返回。需要对该文档的查看权限。
paperless_ngx.get_document_thumbnail 列出附加在文档上的备注,最新的在前,每条都带作者。需要 view_note 权限以及对该文档的查看权限。
paperless_ngx.list_document_notes 以已连接用户的身份给文档添加一条备注,并返回完整的备注列表。同时会更新文档的 modified 时间戳并重新建立索引。需要 add_note 权限以及对该文档的修改权限。
paperless_ngx.add_document_note 删除文档上的一条备注,并返回剩余的备注。需要 delete_note 权限以及对该文档的修改权限;备注 id 不属于该文档时返回 404。
paperless_ngx.delete_document_note 列出文档尚未过期的分享链接,最新的在前。需要对该文档的修改权限 (Paperless-ngx 把读取分享链接视为分享操作)。
paperless_ngx.list_document_share_links 获取文档的审计记录:该文档及其自定义字段值的每一条已记录的创建、更新、删除与访问条目,最新的在前,附带变更的字段与操作用户。需要实例启用审计日志 (PAPERLESS_AUDIT_LOG_ENABLED,否则返回 400 Audit log is disabled)、auditlog.view_logentry 权限,并且已连接用户必须是文档所有者或超级用户,或者文档没有所有者。
paperless_ngx.get_document_history 通过 Paperless-ngx 实例上配置的邮件服务器,把一个文档作为邮件附件发送。存在归档 PDF 时附加归档 PDF,除非 use_archive_version 为 false。Paperless-ngx 会经由其集合级 email 端点、以单个文档 id 处理此请求。需要 view_document 权限、对该文档的查看权限,以及已配置的外发邮件服务器 (否则返回 500 Error emailing documents)。
paperless_ngx.email_document 通过 Paperless-ngx 实例上配置的邮件服务器,把多个文档作为同一封邮件的附件发送。存在归档 PDF 时附加归档 PDF,除非 use_archive_version 为 false。需要 view_document 权限、对每个文档的查看权限 (否则 403),以及已配置的外发邮件服务器 (否则返回 500 Error emailing documents)。
paperless_ngx.email_documents 为文档上传一个新的文件版本。连接器在服务端下载 fileUrl,并以 multipart 表单字段 document 提交;Paperless-ngx 在后台把它作为根文档的新版本消费,标题、标签等元数据保持共享。返回 Celery 任务 id,用 get_task 轮询。需要 change_document 权限以及对根文档的修改权限;不支持的文件类型会以 400 拒绝。
paperless_ngx.update_document_version 永久删除文档的一个非根文件版本。根 (原始) 版本不能用这种方式删除,请改为删除文档 (否则返回 400)。需要对根文档的删除权限。
paperless_ngx.delete_document_version 设置或清除文档某个文件版本 (包括根版本) 的标签。需要对根文档的修改权限。
paperless_ngx.update_document_version_label 获取下一个可用的归档序列号:当前使用中的最大 ASN 加 1,尚未分配任何 ASN 时为 1。回收站中的文档仍会占用其 ASN。
paperless_ngx.get_next_asn 上传一个文件,作为新文档进行消费。连接器在服务端下载 fileUrl (最多 100 MiB),并以 multipart 表单字段 document 连同可选的标题、创建日期、联系人、文档类型、存储路径、标签、归档序列号与自定义字段值一起提交。Paperless-ngx 从字节嗅探文件类型,不支持的类型以 400 拒绝;消费过程 (OCR、匹配、工作流) 在后台运行,因此此 action 返回 Celery 任务 id,用 get_task 轮询,成功后其 result_data.document_id 即为新文档。已连接用户会成为所有者。需要 add_document 权限。
paperless_ngx.upload_document 对多个文档一次性应用同一项元数据修改: 设置 correspondent、document type 或 storage path, 添加或移除标签, 添加或移除自定义字段, 或替换所有者与权限。可显式列出文档, 也可用 all 加 filters 选择。元数据类方法需要全局 change_document 权限以及对每个文档的修改权限; set_permissions 还要求已连接用户拥有每个文档 (或文档无所有者), 超级用户除外。旧版文档编辑方法 (delete、reprocess、rotate、merge、split、delete_pages、edit_pdf、remove_password) 仍被接受但已弃用, 请改用对应的专用 action。
paperless_ngx.bulk_edit_documents 把文档移入回收站 (软删除)。所选根文档的各个版本会一并移入回收站。回收站中的文档可通过 list_trash 查看, 并在回收站清空前通过 restore_trash_documents 恢复; 回收站会在实例配置的保留期 (默认 30 天) 后自动清空。需要全局 change_document 权限以及对每个所选文档的修改权限 (否则返回 403 Insufficient permissions); 超级用户跳过这些检查。还需要全局 delete_document 权限, 且已连接用户须拥有每个文档 (或文档无所有者)。
paperless_ngx.delete_documents 基于原始文件重新解析文档 (文本提取、OCR 与归档 PDF 生成)。每个文档会作为单独的后台任务排队, 任务完成后其内容与归档文件会被替换; 任务入队后即返回 OK。需要全局 change_document 权限以及对每个所选文档的修改权限 (否则返回 403 Insufficient permissions); 超级用户跳过这些检查。
paperless_ngx.reprocess_documents 把所选 PDF 文档的每一页旋转指定的度数。旋转后的文件会在后台作为每个根文档的新版本被消费, 并保留其元数据; 非 PDF 文档会被跳过并记录警告, 响应仍为 OK。需要全局 change_document 权限以及对每个所选文档的修改权限 (否则返回 403 Insufficient permissions); 超级用户跳过这些检查。还要求已连接用户拥有每个文档 (或文档无所有者)。
paperless_ngx.rotate_documents 把给定文档的 PDF 按给定顺序合并成一个新文档, 新文档在后台被消费并归已连接用户所有。文件无法作为 PDF 读取的文档会被跳过。指定 metadata_document_id 时, 新文档会复制该文档的元数据, 并使用其标题加上 " (merged)" 后缀。需要全局 change_document 权限以及对每个所选文档的修改权限 (否则返回 403 Insufficient permissions); 超级用户跳过这些检查。还需要全局 add_document 权限; 若设置 delete_originals, 则还需要全局 delete_document 权限以及对每个文档的所有权。
paperless_ngx.merge_documents 把现有的顶层文档变成某个根文档的文件版本, 不创建新文件。来源文档会从文档列表中消失, 放弃其 archive serial number (根文档若没有则接收第一个), 并立即成为根文档的版本。只能选择顶层文档, 且来源文档自身不能已有版本。需要全局 change_document 权限以及对每个所选文档的修改权限 (否则返回 403 Insufficient permissions); 超级用户跳过这些检查。还要求拥有每个文档 (或文档无所有者) 以及全局 delete_document 权限。
paperless_ngx.merge_documents_as_versions 根据页面操作列表重建单个文档的 PDF: 保留、重排、复制、旋转或丢弃页面, 并可选地拆分为多个输出文档。默认情况下每个输出会在后台作为归已连接用户所有的新文档被消费 (include_metadata 为 true 时复制元数据), delete_original 会在之后把来源文档移入回收站, 只有一个输出时还会转移其 archive serial number。update_document 为 true 时, 单个输出会作为同一文档的新版本被消费。需要全局 change_document 权限以及对每个所选文档的修改权限 (否则返回 403 Insufficient permissions); 超级用户跳过这些检查。还要求拥有该文档 (或文档无所有者), update_document 不为 true 时需要全局 add_document 权限, delete_original 为 true 时需要全局 delete_document 权限。
paperless_ngx.edit_document_pdf 使用给定密码移除加密 PDF 文档的密码保护。未加密的文档会被跳过。默认情况下, 去除保护后的 PDF 会在后台作为归已连接用户所有的新文档被消费 (include_metadata 为 true 时复制元数据), delete_original 会在之后把受保护的原件移入回收站; update_document 为 true 时, 它会成为同一文档的新版本。密码错误会使整个请求以 400 失败。需要全局 change_document 权限以及对每个所选文档的修改权限 (否则返回 403 Insufficient permissions); 超级用户跳过这些检查。还要求拥有每个文档 (或文档无所有者), update_document 不为 true 时需要全局 add_document 权限, delete_original 为 true 且未设置 update_document 时需要全局 delete_document 权限。
paperless_ngx.remove_document_password 把多个文档打包成一个 zip 归档下载, 并以临时的连接器文件 URL 返回。可显式列出文档, 也可用 all 加 filters 选择; 打包的是每个根文档的最新版本。content 选择归档 PDF (文档没有归档版本时回退到原件)、原始文件或两者; follow_formatting 会按已配置的文件名格式而不是文档标题来命名压缩包内的条目。zip 在实例上生成, 可能需要一些时间; 大小须低于连接器的 500 MiB 限制。需要对每个文档的查看权限 (否则返回 403)。
paperless_ngx.bulk_download_documents 对一组文档, 统计其中有多少文档使用了每个 correspondent、标签、document type、storage path 与自定义字段。每种对象都会全部返回, 包括没有任何所给文档使用的对象, 便于调用方在批量编辑前判断某个对象是应用于全部、部分还是没有所选文档。每个文档都必须存在 (否则返回 400) 且对已连接用户可见 (否则返回 403)。
paperless_ngx.get_selection_data 列出当前在回收站中 (已软删除) 的文档, 按创建时间从新到旧排序, 字段与普通文档相同并附带 deleted_at。超级用户可看到所有回收站文档; 其他用户只能看到自己拥有或无所有者的回收站文档, 显式共享不计入。该端点只支持分页, 不支持过滤或排序。
paperless_ngx.list_trash 从回收站恢复文档, 使其重新出现在文档列表中并被重新加入搜索索引。每个 id 都必须是回收站中的文档 (否则返回 400), 且已连接用户需要对其中每个文档的删除权限 (否则返回 403)。
paperless_ngx.restore_trash_documents 永久删除回收站中的文档及其文件。省略 documents 时, 会删除已连接用户在 list_trash 中能看到的所有回收站文档 (超级用户则是全部)。此操作不可撤销。已连接用户需要对每个受影响文档的删除权限 (否则返回 403)。
paperless_ngx.empty_trash 向 Paperless-ngx AI 助手提问, 答案基于你的文档生成 (基于 LLM 索引的检索增强生成)。指定 document_id 时, 答案只基于该文档, 该文档必须存在 (否则返回 400 Document not found) 且对已连接用户可见 (否则返回 403); 未指定时会搜索用户可见的所有文档。需要在应用配置中启用 AI (否则返回 400 AI is required for this feature)、全局 view_document 权限以及已构建的 LLM 索引。Paperless-ngx 以流式方式返回回答; 连接器会等待流结束后返回完整文本。
paperless_ngx.chat_with_documents 列出连接用户可见的标签,包含文档数量与嵌套子标签。支持 id 与不区分大小写的名称过滤、仅取顶层标签的 is_root 开关、排序与分页。需要 view_tag 权限。
paperless_ngx.list_tags 按 id 获取单个标签,包含文档数量、父标签与嵌套子标签。需要对该标签的 view_tag 权限。
paperless_ngx.get_tag 创建标签,可选设置颜色、匹配规则、收件箱标记与父标签。所有者默认为连接用户。需要 add_tag 权限。
paperless_ngx.create_tag 部分更新标签;只修改提供的字段,null 会清空 parent 这类可空字段。需要对该标签的 change_tag 权限;修改 owner 或 set_permissions 还要求是所有者或超级用户。
paperless_ngx.update_tag 删除标签。文档保留其余标签;子标签由树形模型重新挂载。需要对该标签的 delete_tag 权限。
paperless_ngx.delete_tag 列出连接用户可见的联系人(correspondent),包含文档数量。支持 id 与不区分大小写的名称过滤、排序与分页;将 last_correspondence 设为 true 可附带每个联系人最新文档的日期。需要 view_correspondent 权限。
paperless_ngx.list_correspondents 按 id 获取单个联系人,包含文档数量与 last_correspondence 日期。需要对该联系人的 view_correspondent 权限。
paperless_ngx.get_correspondent 创建联系人,可选设置匹配规则。所有者默认为连接用户。需要 add_correspondent 权限。
paperless_ngx.create_correspondent 部分更新联系人;只修改提供的字段。需要对该联系人的 change_correspondent 权限;修改 owner 或 set_permissions 还要求是所有者或超级用户。
paperless_ngx.update_correspondent 删除联系人。使用过它的文档将不再有联系人。需要对该联系人的 delete_correspondent 权限。
paperless_ngx.delete_correspondent 列出连接用户可见的文档类型,包含文档数量。支持 id 与不区分大小写的名称过滤、排序与分页。需要 view_documenttype 权限。
paperless_ngx.list_document_types 按 id 获取单个文档类型,包含文档数量。需要对该文档类型的 view_documenttype 权限。
paperless_ngx.get_document_type 创建文档类型,可选设置匹配规则。所有者默认为连接用户。需要 add_documenttype 权限。
paperless_ngx.create_document_type 部分更新文档类型;只修改提供的字段。需要对该文档类型的 change_documenttype 权限;修改 owner 或 set_permissions 还要求是所有者或超级用户。
paperless_ngx.update_document_type 删除文档类型。使用过它的文档将不再有文档类型。需要对该文档类型的 delete_documenttype 权限。
paperless_ngx.delete_document_type 列出连接用户可见的存储路径,包含文档数量。支持 id 以及不区分大小写的名称与路径过滤、排序与分页。需要 view_storagepath 权限。
paperless_ngx.list_storage_paths 按 id 获取单个存储路径,包含文档数量。需要对该存储路径的 view_storagepath 权限。
paperless_ngx.get_storage_path 根据文件名模板创建存储路径,可选设置匹配规则。建议先用 test_storage_path 预览模板的渲染结果。所有者默认为连接用户。需要 add_storagepath 权限。
paperless_ngx.create_storage_path 部分更新存储路径;只修改提供的字段。修改 path 会调度后台任务,重命名并移动所有使用该存储路径的文档。需要对该存储路径的 change_storagepath 权限;修改 owner 或 set_permissions 还要求是所有者或超级用户。
paperless_ngx.update_storage_path 删除存储路径。使用过它的文档会回退到默认文件名格式并在后台移动。需要对该存储路径的 delete_storagepath 权限。
paperless_ngx.delete_storage_path 用一个已有文档渲染存储路径模板,预览生成的文件路径(含文档的文件扩展名),不保存任何内容。只要求该文档对连接用户可见;无效模板会返回校验错误。
paperless_ngx.test_storage_path 列出自定义字段定义,以及使用每个字段的文档数量。支持 id 与不区分大小写的名称过滤、排序与分页。自定义字段没有对象级权限;需要 view_customfield 权限。
paperless_ngx.list_custom_fields 按 id 获取单个自定义字段定义,包含其下拉选项或默认货币,以及使用它的文档数量。需要 view_customfield 权限。
paperless_ngx.get_custom_field 创建自定义字段定义。select 类型字段需要在 extra_data.select_options 中提供至少一个带标签的选项(id 会自动生成),monetary 类型字段可设置 extra_data.default_currency。需要 add_customfield 权限。
paperless_ngx.create_custom_field 部分更新自定义字段定义;只修改提供的字段。对 select 类型字段,每次更新都必须完整发送 extra_data.select_options,即使只是重命名字段,并保留已有选项的 id 以免文档上的取值丢失。修改已有取值字段的 data_type 不被 Paperless-ngx 界面支持,可能导致已存值无法读取。需要 change_customfield 权限。
paperless_ngx.update_custom_field 删除自定义字段定义,连同文档上为它存储的所有取值。需要 delete_customfield 权限。
paperless_ngx.delete_custom_field 列出连接用户可见的已保存文档视图,包含过滤规则与显示设置。仅支持按 name 排序与分页,没有字段过滤。需要 view_savedview 权限。
paperless_ngx.list_saved_views 按 id 获取单个已保存视图,包含过滤规则与显示设置。需要对该视图的 view_savedview 权限。
paperless_ngx.get_saved_view 根据名称与过滤规则列表创建已保存文档视图,可选设置排序、每页数量、显示模式与显示字段。仪表盘与侧边栏可见性属于通过 update_ui_settings 保存的用户偏好,不是视图字段。所有者默认为连接用户。需要 add_savedview 权限。
paperless_ngx.create_saved_view 部分更新已保存视图;只修改提供的字段,提供 filter_rules 时会替换整个规则列表。需要对该视图的 change_savedview 权限;修改 owner 或 set_permissions 还要求是所有者或超级用户。
paperless_ngx.update_saved_view 删除已保存视图及其过滤规则。需要对该视图的 delete_savedview 权限。
paperless_ngx.delete_saved_view 批量设置多个标签、联系人、文档类型或存储路径的所有者与权限,或批量删除它们。非超级用户需要对应的 change 或 delete 模型权限,且必须拥有每个目标对象(或对象无所有者),否则 Paperless-ngx 返回 403 Insufficient permissions。删除立即生效且不可恢复。
paperless_ngx.bulk_edit_objects 列出工作流及其嵌套的触发器与动作, 按 order 排序。该端点只支持分页, 没有过滤或排序选项。需要 view_workflow 权限。
paperless_ngx.list_workflows 按 id 读取单个工作流, 包含其触发器与动作。需要 view_workflow 权限。
paperless_ngx.get_workflow 一次调用创建工作流及其触发器与动作。嵌套的触发器与动作不带 id 时新建, 带 id 时原地更新对应的已有触发器或动作。远程 OCR 动作需要消费开始触发器, 应用 AI 建议动作需要其他类型的触发器。需要 add_workflow 权限。
paperless_ngx.create_workflow 部分更新工作流。只发送提供的字段。提供 triggers 或 actions 时会整体替换: 带 id 的条目原地更新, 不带 id 的条目新建, 未列出的触发器或动作会被解除挂载并删除。需要 change_workflow 权限。
paperless_ngx.update_workflow 删除工作流。它的触发器与动作会在下一次任意工作流更新时被清理。需要 delete_workflow 权限。
paperless_ngx.delete_workflow 列出所有工作流的触发器。该端点只支持分页, 没有过滤或排序选项。需要 view_workflowtrigger 权限。
paperless_ngx.list_workflow_triggers 按 id 读取单个工作流触发器。需要 view_workflowtrigger 权限。
paperless_ngx.get_workflow_trigger 创建一个独立的工作流触发器。消费开始 (type 1) 触发器需要 filter_filename, filter_path 或 filter_mailrule。未挂载到任何工作流的对象会在下一次任意工作流更新时被自动删除, 请尽快通过 update_workflow 或 create_workflow 挂载。需要 add_workflowtrigger 权限。
paperless_ngx.create_workflow_trigger 部分更新工作流触发器。只发送提供的字段。当触发器是 (或将变为) 消费开始触发器时, Paperless-ngx 要求同一请求中带上 filter_filename, filter_path 或 filter_mailrule, 即使它们没有变化。需要 change_workflowtrigger 权限。
paperless_ngx.update_workflow_trigger 删除工作流触发器, 并从所有使用它的工作流中解除挂载。需要 delete_workflowtrigger 权限。
paperless_ngx.delete_workflow_trigger 列出所有工作流的动作。该端点只支持分页, 没有过滤或排序选项。需要 view_workflowaction 权限。
paperless_ngx.list_workflow_actions 按 id 读取单个工作流动作。需要 view_workflowaction 权限。
paperless_ngx.get_workflow_action 创建一个独立的工作流动作。邮件 (3), webhook (4), 移除密码 (5) 与应用 AI 建议 (8) 类型分别要求提供 email, webhook, passwords 或 ai_suggestion_fields。未挂载到任何工作流的对象会在下一次任意工作流更新时被自动删除, 请尽快通过 update_workflow 或 create_workflow 挂载。需要 add_workflowaction 权限。
paperless_ngx.create_workflow_action 部分更新工作流动作。只发送提供的字段; 嵌套的 email 与 webhook 对象会替换已存储的设置。需要 change_workflowaction 权限。
paperless_ngx.update_workflow_action 删除工作流动作, 并从所有使用它的工作流中解除挂载。需要 delete_workflowaction 权限。
paperless_ngx.delete_workflow_action 列出当前连接用户可见的分享链接 (自己的链接加上共享给自己的链接), 可按创建与过期时间过滤。每条结果都带有公开下载地址 share_url。需要 view_sharelink 权限。
paperless_ngx.list_share_links 按 id 读取单个分享链接, 包含公开的 share_url。需要 view_sharelink 权限并且能访问该链接。
paperless_ngx.get_share_link 为单个文档创建公开分享链接。链接归当前连接用户所有, 该用户必须有权查看此文档。响应包含 slug 与推导出的 share_url; 分享链接创建后不能修改, 要更改过期时间或文件版本请删除后重建。需要 add_sharelink 权限。
paperless_ngx.create_share_link 删除分享链接, 公开 URL 随即失效。需要 delete_sharelink 权限并且是该链接的所有者 (或超级用户)。
paperless_ngx.delete_share_link 列出当前连接用户可见的分享链接打包, 可按状态, 包含的文档以及创建或过期时间过滤。每条结果都带有 share_url 与构建状态。需要 view_sharelinkbundle 权限。
paperless_ngx.list_share_link_bundles 按 id 读取单个分享链接打包, 包含构建状态, 大小与公开的 share_url。在 create_share_link_bundle 或 rebuild_share_link_bundle 之后用它轮询打包, 直到 status 为 ready。需要 view_sharelinkbundle 权限。
paperless_ngx.get_share_link_bundle 创建分享链接打包: 一个公开链接, 提供多个文档打成的 zip 压缩包。当前连接用户必须有权查看每个文档, 重复的 id 会被拒绝。zip 由后台任务构建, 因此返回的打包状态为 pending; 请轮询 get_share_link_bundle 直到 ready。打包创建后不能修改。需要 add_sharelinkbundle 权限。
paperless_ngx.create_share_link_bundle 丢弃分享链接打包已构建的 zip 压缩包并重新排队构建, 例如在其文档发生变化之后。返回的打包状态为 pending; 若构建仍在进行中, Paperless-ngx 会以 400 拒绝请求。需要 change_sharelinkbundle 权限。
paperless_ngx.rebuild_share_link_bundle 删除分享链接打包及其 zip 压缩包, 公开 URL 随即失效。需要 delete_sharelinkbundle 权限并且是该打包的所有者 (或超级用户)。
paperless_ngx.delete_share_link_bundle 分页并按条件列出 Paperless-ngx 后台任务(文档消费、分类器训练、完整性检查、邮件拉取及其他作业)。非 staff 用户只能看到自己的任务与无主的系统任务;staff 用户能看到所有任务。需要 view_paperlesstask 权限。
paperless_ngx.list_tasks 按 Celery 任务 UUID 获取一个后台任务,该 UUID 由 upload_document、update_document_version、run_task 及其他异步 action 返回。轮询直到 status 为 success、failure 或 revoked;消费任务成功时在 result_data.document_id 中给出新文档 id (同时也是 related_document_ids 的第一项),被判定为重复时在 result_data.duplicate_of 中给出已有文档。
paperless_ngx.get_task 按数字行 id (list_tasks 输出中的 id 字段) 获取一个后台任务,区别于 get_task 使用的 Celery UUID。
paperless_ngx.get_task_by_id 将后台任务标记为已确认(从任务列表中忽略)。通过 tasks 传入数字任务行 id,或将 all 设为 true 以确认当前可见的全部未确认任务;两者必须且只能提供一个。需要 change_paperlesstask 权限。
paperless_ngx.acknowledge_tasks 获取最近 N 天内按任务类型聚合的后台任务统计:各结果的数量、平均运行与等待时间,以及最近一次运行、成功与失败的时间戳。超级用户、staff 用户以及拥有 view_system_monitoring 权限的用户看到全部任务;其他用户只看到自己的任务与无主的系统任务。
paperless_ngx.get_task_summary 获取可见后台任务的总数以及各状态分组的数量:needs_attention (failure 或 revoked)、in_progress (pending 或 started) 与 completed (success)。接受与 list_tasks 相同的过滤条件,但不含 status 与 is_complete,因为计数本身已按此细分。
paperless_ngx.get_task_status_counts 列出当前处于 pending 或 started 状态的后台任务,按最新在前排列,最多 50 条且不分页。非 staff 用户只能看到自己的任务与无主的系统任务。
paperless_ngx.list_active_tasks 在后台手动启动一项维护任务:train_classifier 重新训练自动匹配分类器,sanity_check 检查文档文件与数据库,llm_index 更新 AI 索引。只有这三种任务类型可以派发,且只有超级用户可以调用。返回可用 get_task 轮询的 Celery 任务 UUID。
paperless_ngx.run_task 分页并按用户名过滤列出 Paperless-ngx 用户账户,按用户名排序。内置的 consumer 与 AnonymousUser 账户永远不会列出。需要 view_user 权限。
paperless_ngx.list_users 按 id 获取一个 Paperless-ngx 用户账户,包括所属用户组、直接与继承的权限代号,以及是否启用了 MFA。需要 view_user 权限。
paperless_ngx.get_user 创建一个 Paperless-ngx 用户账户。只有 username 是必填的;未设置密码的账户在设置密码之前无法用密码登录。授予 is_staff 或 is_superuser 要求调用方是超级用户。需要 add_user 权限。
paperless_ngx.create_user 部分更新一个 Paperless-ngx 用户账户;只有提供的字段会更改,groups 与 user_permissions 会替换整个列表。更改 is_staff 或 is_superuser,或对超级用户做任何修改,都要求调用方是超级用户。需要 change_user 权限。
paperless_ngx.update_user 永久删除一个 Paperless-ngx 用户账户。该用户拥有的对象会变为无主。删除超级用户要求调用方是超级用户。需要 delete_user 权限。
paperless_ngx.delete_user 移除用户的 TOTP 多因素认证器,使其只能用密码登录。调用方可以停用自己的 TOTP;停用其他用户的 TOTP 要求调用方是超级用户。用户没有 TOTP 认证器时返回 404。
paperless_ngx.deactivate_user_totp 分页并按名称过滤列出 Paperless-ngx 用户组,按名称排序。需要 view_group 权限。
paperless_ngx.list_groups 按 id 获取一个 Paperless-ngx 用户组及其权限代号。需要 view_group 权限。
paperless_ngx.get_group 创建一个 Paperless-ngx 用户组。Paperless-ngx 在创建时要求提供 permissions 列表,因此省略时会以空列表发送。需要 add_group 权限。
paperless_ngx.create_group 部分更新一个 Paperless-ngx 用户组;只有提供的字段会更改,permissions 会替换整个列表。需要 change_group 权限。
paperless_ngx.update_group 永久删除一个 Paperless-ngx 用户组。成员会失去从该组继承的权限。需要 delete_group 权限。
paperless_ngx.delete_group 获取 API 令牌所属用户的个人资料:姓名、邮箱、已关联的社交账号、是否设置了密码与 MFA,以及 API 令牌本身(日志中脱敏)。
paperless_ngx.get_profile 更新 API 令牌所属用户的姓名、邮箱或密码。只有提供的字段会更改;全部由星号组成的密码会被忽略。返回更新后的个人资料,包含 API 令牌(日志中脱敏)。
paperless_ngx.update_profile 列出 Paperless-ngx 用于抓取文档的邮箱账号,按 id 排序。只能看到已连接用户拥有的、无拥有者的或已共享给该用户的账号。密码以星号占位符返回。该端点除分页外不支持排序或字段过滤。
paperless_ngx.list_mail_accounts 按 id 获取一个邮箱账号。只能看到已连接用户拥有的、无拥有者的或已共享给该用户的账号。密码以星号占位符返回。
paperless_ngx.get_mail_account 创建一个 Paperless-ngx 可以从中抓取文档的 IMAP 邮箱账号。需要 add_mailaccount 权限。账号只有在被邮件规则引用后才会生效;建议先用 test_mail_account 验证凭据。
paperless_ngx.create_mail_account 部分更新邮箱账号。只发送提供的字段;传 null 可清空可为空的字段。仅由星号组成的密码 (即读取时返回的占位符) 会被忽略,已存储的密码保持不变。需要对该账号的修改权限。
paperless_ngx.update_mail_account 删除邮箱账号,连同属于它的所有邮件规则和已处理邮件记录。需要对该账号的删除权限。
paperless_ngx.delete_mail_account 在不保存任何内容的情况下测试 Paperless-ngx 能否用给定的 IMAP 设置登录邮箱。传入现有账号的 id 并使用星号密码占位符,可测试已存储的凭据 (包括 OAuth 令牌,过期时会自动刷新);这需要对该账号的修改权限,而测试新设置需要 add_mailaccount 权限。登录失败会报状态 400 的错误,消息为 Unable to connect to server。
paperless_ngx.test_mail_account 立即排队抓取一个邮箱账号,而不等待定时邮件检查。Paperless-ngx 会启动 mail_fetch 后台任务并返回 OK,但不返回任务 id;可查看任务列表 (task_type 为 mail_fetch) 或 list_processed_mail 了解结果。需要对该账号的查看权限。
paperless_ngx.process_mail_account 列出邮件规则,按其 order 字段排序。只能看到已连接用户拥有的、无拥有者的或已共享给该用户的规则。该端点除分页外不支持排序或字段过滤。
paperless_ngx.list_mail_rules 按 id 获取一个邮件规则。只能看到已连接用户拥有的、无拥有者的或已共享给该用户的规则。
paperless_ngx.get_mail_rule 创建一条邮件规则,告诉 Paperless-ngx 要消费某个账号的哪些邮件以及如何归档生成的文档。需要 add_mailrule 权限以及对所引用账号的修改权限。动作 2 (移动) 和 5 (打标签) 需要 action_parameter。
paperless_ngx.create_mail_rule 部分更新邮件规则。只发送提供的字段;传 null 可清空可为空的字段。将 action 改为 2 (移动) 或 5 (打标签) 时,需在同一请求中发送 action_parameter,因为 Paperless-ngx 会一起校验这两个字段。需要对该规则的修改权限。
paperless_ngx.update_mail_rule 删除邮件规则,连同它的已处理邮件记录。需要对该规则的删除权限。
paperless_ngx.delete_mail_rule 列出邮件规则已经处理过的邮件,默认按处理时间倒序,可按规则或状态过滤。只返回已连接用户拥有的、无拥有者的或已共享给该用户的记录。
paperless_ngx.list_processed_mail 按 id 获取一条已处理邮件记录。只能看到已连接用户拥有的、无拥有者的或已共享给该用户的记录。
paperless_ngx.get_processed_mail 一次删除多条已处理邮件记录,使对应邮件在下次运行时可以重新抓取。Paperless-ngx 会先检查每条记录的删除权限,只要有任何一条无权限就以状态 403 拒绝整个请求;不存在的 id 会被静默跳过。
paperless_ngx.bulk_delete_processed_mail 获取当前用户可见的文档统计:文档总数、收件箱数量、按 MIME 类型的分布、字符数、各类对象数量以及当前最大归档序列号。拥有全局统计权限的用户看到的是实例级数字,其他用户只统计自己有权访问的文档。
paperless_ngx.get_statistics 获取 Paperless-ngx 系统状态:服务器版本、安装类型、存储用量、数据库与迁移状态、Redis 与 Celery 健康度、搜索索引、分类器、完整性检查和 LLM 索引状态,以及最近 30 天的任务汇总。需要系统状态权限 (超级用户或拥有 view_paperlesstask 权限的用户)。
paperless_ngx.get_system_status 查询 GitHub 上最新发布的 Paperless-ngx 版本,并判断它是否比当前实例更新。查询由实例自身完成并缓存 15 分钟;查询失败时返回版本 0.0.0 且 update_available 为 false。
paperless_ngx.get_remote_version 获取 API 令牌所属用户的界面设置、有效权限和基本身份 (id、用户名、staff 与超级用户标记、用户组)。settings 对象还会附带服务器信息,例如 Paperless-ngx 版本、应用标题、回收站延迟、审计日志、邮件与 AI 是否可用。
paperless_ngx.get_ui_settings 用给定的 settings 对象替换当前用户已保存的界面设置。Paperless-ngx 会整体覆盖设置文档,因此请以 get_ui_settings 返回的完整对象为基础修改后再发送;update_checking.backend_setting 永远不会被保存。
paperless_ngx.update_ui_settings 获取实例级应用配置 (OCR、归档文件生成、条码、远程 OCR 与 AI 设置、应用标题和 logo)。值为 null 的字段会回退到对应的环境变量。需要 view_applicationconfiguration 权限。
paperless_ngx.get_application_config 部分更新实例级应用配置。只有 values 中给出的字段会被修改;传 null 可把字段重置为环境默认值。修改 AI 嵌入设置会让 Paperless-ngx 在后台重建 LLM 索引。需要 change_applicationconfiguration 权限。
paperless_ngx.update_application_config 列出 Paperless-ngx 服务器上存在的日志文件 (paperless、mail 和 celery,仅列出存在的文件)。需要管理员 (staff) 权限。
paperless_ngx.list_logs 读取一个 Paperless-ngx 日志文件的内容,可以只取最后 N 行。需要管理员 (staff) 权限。
paperless_ngx.get_log 按名称或标题在文档、保存的视图、标签、联系人、文档类型、存储路径、用户、用户组、邮件规则、邮件账户、工作流和自定义字段中全局搜索,每种对象类型最多返回 3 条匹配。文档默认通过全文索引匹配;db_only 为 true 时只比较标题。
paperless_ngx.global_search 根据全文索引为不完整的搜索词提供补全候选,按包含该候选词的用户文档数量排序。
paperless_ngx.autocomplete_search 没有匹配的工具。
可以。get_document 包含所选版本的提取文本,需要文档查看权限。
提供的标签列表替换已有列表。请先读取元数据并保留所有需要留下的标签。
每次调用只使用一种搜索索引查询模式。更新标签或自定义字段会替换其完整列表。
管理 OOMOL 可以使用哪些可选存储。你随时可以在页脚重新修改这些选择。