Documents AI 拍照界面。计划字段提取。
Documents AI 拍照界面。计划字段提取。
← 所有原生指南

Xodera Plugins · Bubble Native

Xodera Documents AI Native

将收据或快递照片转换为草稿表单。让 AI 提议日期、总额及其他所需字段,然后由人工在保存前进行审核。

Public beta guides · Haptics instructions are in its Bubble listing

Public beta offer: free Bubble install · 7-day card trial, then US$1.50/month per plugin/project.

文档审阅日期:2026年11月6日

实用示例

从收据照片预填费用草稿

重复输入商户、日期和总额会减慢费用录入;提取的字段可以作为可审阅的草稿。

`fields_json = ["merchant","date","total","currency"]`;用户捕获收据图像并单独同意处理。测试时仅使用示例收据。

计划:`analysis_requested` → Analyze Captured Document 使用受限导出的字节/MIME/字段名/同意/请求 ID → 在可编辑的费用表单中显示返回的字段。

该操作返回 `status`、`operation_id`、`fields_json` 和 `review_required`。您的用户在工作流创建费用之前纠正/批准这些字段。

在结果不确定时,使用相同的 `operation_id` 进行 Read Analysis;不要自动发起另一次分析。撤回同意会清除保留的捕获/导出;绝不在公共对象或日志中持久化原始 base64。

计划中。必须在保存前由人员审查每个建议值。

读取送货单参考用于员工审查表单

仓库用户应能够审查建议的参考号/日期,而不是从拍摄的纸质单据中手动输入。

`fields_json = ["delivery_reference","supplier","delivery_date"]`;在测试时捕获示例送货单的相关面。

在单独的捕获/处理同意后,Analyze Captured Document 提议所选字段。将照片显示在可编辑字段旁,并请员工确认匹配的送货记录。

保留返回的 `operation_id` 以再次检查结果,并将 `fields_json` 作为提议。您的工作流仅在员工审查后才执行实际的送货查询/更新。

缺失、模糊或不正确的字段需要手动纠正。提供商错误会使原始送货保持不变;Read Analysis 检查不确定操作的结果。

计划中。必须在保存前由人员审查每个建议值。

从标签照片中建议设备序列号

当资产标签难以输入时,维护表单可以提供可审阅的型号/序列号建议。

`fields_json = ["manufacturer","model","serial_number"]`;捕获示例设备标签图像;在项目设置中选择您的 AI 提供商。

计划中的 Analyze Captured Document 操作返回建议的字符串。将它们显示在照片旁;让用户在资产查询或维护工作流之前纠正这些字符串。

使用返回的 `fields_json`、`review_required` 和 `operation_id`。将标识符视为文本,以便您的应用保留前导零。

如果图像不可读或模型提出错误字符串,请允许手动输入。在不确定的响应后读取相同的操作,而不是再次进行推理计费。

计划中。必须在保存前由人员审查每个建议值。

当前可用功能

私有测试版。照片捕获功能可用于测试。从照片中提取字段仍在计划中,尚未在您的应用中可用。

构建工作流

计划中

计划中的工作流。目前的测试版尚不可用。

这些示例使用了诸如 Lesson、Message 和 Order 的应用记录。请将它们替换为您自己的数据类型和元素名称。示例媒体地址必须替换为您自己的文件。

  1. 计划中:选择表单所需的字段,例如 fields_json=["title","date","total"]。启用 enable_analysis_export 并将 analysis_context 设置为选定的账户或记录。这些分析设置在当前捕获版本中不可用。

  2. 让用户拍摄照片并单独同意处理。在 analysis_requested 上,使用此元素的 analysis_image_base64、analysis_mime_type、analysis_fields_json 和 analysis_consent 运行 Analyze Captured Document。将 analysis_request_id 用作 idempotency_key。

  3. 保存返回的 operation_id、request_id 和 status。如果 status 为 processing,请使用 Read Analysis 与该 operation_id 稍后获取结果。

  4. 在可编辑的审核表单中显示返回的 fields_json。仅在用户检查并点击 Confirm 后保存已批准的值。保留原始记录直至确认完成。

工作流图 — 不是应用截图

一次性配置

在 BestPlugins → Dashboard → Plugins 中创建或选择您的 Bubble 应用项目。选择 Xodera Documents AI Native,复制其密钥,然后打开 Bubble → Plugins → Xodera Documents AI Native 并粘贴到 project_api_key。保存一次;随后使用以下操作。每个项目中的每个插件都有其自己的密钥。

请求相机权限并说明需要照片的原因。处理照片需另行取得用户同意。请在项目设置中选择您的 AI 提供商;其使用费用由该提供商计费。

一次性配置
  1. 在 BestPlugins → Dashboard → Plugins 中创建或选择您的 Bubble 应用项目。
  2. 选择此插件并复制其项目密钥。
  3. 打开 Bubble → Plugins → Xodera Documents AI Native;将密钥粘贴到 project_api_key 并保存。
  4. 添加元素,选择您的应用数据并构建以下工作流。
  5. 目前仅限私有测试版访问。公开安装和付费激活尚未开放。
安装和订阅

For Audio Player, Video Player, Photo Editor, Audio Recorder, Files Kit and Haptics: free Bubble installation, a 7-day trial with a card, then US$1.50 per month per plugin and app project. Development and production are included, with no operation cap. File-size and feature limits still apply. Review billing and cancellation before confirming. Other plugins remain unavailable for purchase.

将结果保存到您的应用中

示例 ExpenseDraft:owner、operation_id、request_id、status 和 proposed_fields_json。审核后,保存批准的日期、总额及其他字段,以及 reviewed_by 和 reviewed_at。仅映射表单请求的字段。不要将完整图像内容写入日志或普通文本记录。

失败、取消与恢复

如果结果延迟,请保留相同请求,并使用已知的 operation_id 调用 Read Analysis 查询结果。不要自动拍摄新照片或创建新请求。如果用户撤回同意,请清除照片并停止提供结果;已发送或已保存的副本无法撤回。

功能与限制

计划中的图像输入:PNG、JPEG 或 WebP,最多 5 MiB;请求 1–32 的不同字段名称。始终审核提取的值。这不是身份验证、文件真实性检查或医疗决策工具。AI 提供商的费用另计。

设置、操作和结果

在 Bubble 中使用这些名称。计划中的功能会单独标记。

可用的测试版设置

元素设置

document_side · textbutton_label · textconsent_text · textdisabled · yes/nofields_json · textprocessing_consent_text · textanalyze_button_label · textcheck_button_label · textlanguage · textui_text_json · text

状态

capture_status · textlocal_uri · textmime_type · textdocument_side · textimage_width · numberimage_height · numbererror_code · textis_capturing · yes/noanalysis_status · textanalysis_operation_id · textanalysis_fields_json · textanalysis_error_code · textreview_required · yes/nois_analyzing · yes/no

事件

capture_startedcapture_succeededcapture_cancelledpermission_deniedcapture_erroranalysis_startedanalysis_readyanalysis_pendinganalysis_error

操作及其输入

元素设置 · 12

计划中的工作流。目前的测试版尚不可用。

document_sidetext · 默认: "front"
示例值front
示例 Bubble 表达式Capture Side Dropdown's value
使用当前业务记录的值;根据以下限制进行验证。
button_labeltext · 默认: ""
示例值""
示例 Bubble 表达式App Texts' capture_label
可见的应用文本;留空时使用内置的本地化文案(如支持)。请勿填入凭证。
consent_texttext · 默认: ""
示例值I agree to capture this non-sensitive receipt.
示例 Bubble 表达式App Texts' capture_consent
说明具体的捕获/处理目的和接收方。撤回同意会清除保留的字节,但不会清除应用先前产生的副本。
disabledyes/no · 默认: false
示例值no
示例 Bubble 表达式GuideHost's is_busy (your yes/no custom state)
当应用忙碌或此操作不可用时禁用该元素。
processing_consent_texttext · 默认: ""
示例值I agree to send this image to the configured AI provider for draft fields.
示例 Bubble 表达式App Texts' processing_consent
说明具体的捕获/处理目的和接收方。撤回同意会清除保留的字节,但不会清除应用先前产生的副本。
analyze_button_labeltext · 默认: ""
示例值""
示例 Bubble 表达式App Texts' analyze_label
可见的应用文本;留空时使用内置的本地化文案(如支持)。请勿填入凭证。
languagetext · 默认: "auto"
示例值uk
示例 Bubble 表达式Current User's preferred_language
将 language=auto 设置为跟随支持的设备或浏览器语言。输入支持的语言代码以明确选择。
ui_text_jsontext · 默认: ""
示例值{}
示例 Bubble 表达式App Settings' player_labels_json (supported keys only)
可选的 JSON,包含支持的按钮标签。留空则使用内置文本。
enable_analysis_exportyes/no · 默认: false
示例值yes
示例 Bubble 表达式App Settings' enable_reviewed_extraction
计划:在用户分别同意拍摄和处理后,允许分析操作使用照片。默认关闭。
analysis_contexttext · 默认: ""
示例值<current-user-id>
示例 Bubble 表达式Current User's unique id
此账户或记录的稳定值。更改后会清除之前的照片。
is_activeyes/no · 默认: true
示例值yes
示例 Bubble 表达式GuideHost's view_is_active (your yes/no custom state)
在此视图打开时设为是。离开时设为否,以便停止播放或当前工作。
fields_jsontext · 默认: "[\"title\",\"date\",\"total\"]"
示例值["title","date","total"]
示例 Bubble 表达式Expense Settings' extraction_fields_json
JSON 请求的提取字段名称数组;输出为供人工审查的建议数据。
操作及其输入 · 2

计划中的工作流。目前的测试版尚不可用。

Analyze Captured Document
image_base64text · 默认: —
示例值<canonical bytes from consented export>
示例 Bubble 表达式Document Capture's analysis_image_base64
使用当前业务记录的值;根据以下限制进行验证。
mime_typetext · 默认: —
示例值image/jpeg
示例 Bubble 表达式Document Capture's analysis_mime_type
使用当前业务记录的值;根据以下限制进行验证。
fields_jsontext · 默认: —
示例值["title","date","total"]
示例 Bubble 表达式Document Capture's analysis_fields_json
JSON 请求的提取字段名称数组;输出为供人工审查的建议数据。
consentyes/no · 默认: —
示例值yes — current processing consent
示例 Bubble 表达式Document Capture's analysis_consent
使用当前业务记录的值;根据以下限制进行验证。
idempotency_keytext · 默认: —
示例值<unchanged analysis_request_id>
示例 Bubble 表达式Document Capture's analysis_request_id
使用当前业务记录的值;根据以下限制进行验证。
environmenttext · 默认: —
示例值development
示例 Bubble 表达式App Settings' selected_environment
使用当前业务记录的值;根据以下限制进行验证。

返回值

ok · yes/nostatus · textoperation_id · textrequest_id · textfields_json · texterror_code · textreview_required · yes/no
Read Analysis
operation_idtext · 默认: —
示例值<returned operation_id>
示例 Bubble 表达式Current ExpenseDraft's operation_id
使用当前业务记录的值;根据以下限制进行验证。
environmenttext · 默认: —
示例值development
示例 Bubble 表达式App Settings' selected_environment
使用当前业务记录的值;根据以下限制进行验证。

返回值

ok · yes/nostatus · textoperation_id · textrequest_id · textfields_json · texterror_code · textreview_required · yes/no
状态和事件

计划中的工作流。目前的测试版尚不可用。

状态

capture_status · text

此操作的当前结果。保存成功前请使用匹配的完成事件。

local_uri · text

此设备上的文件位置。如果必须保持在线,请单独保存或上传文件。

mime_type · text

所选项目的当前值。请在相关事件后读取。

document_side · text

所选项目的当前值。请在相关事件后读取。

image_width · number

所选项目的当前值。请在相关事件后读取。

image_height · number

所选项目的当前值。请在相关事件后读取。

error_code · text

上一次操作的错误信息。显示有帮助的提示并提供相应的重试。

is_capturing · yes/no

所选项目的当前值。请在相关事件后读取。

analysis_image_base64 · text

所选项目的当前值。请在相关事件后读取。

analysis_mime_type · text

所选项目的当前值。请在相关事件后读取。

analysis_fields_json · text

请求字段的建议值。保存前显示以供审查。

analysis_request_id · text

此项目或操作的标识符。请与对应的应用记录一起保存。重试不确定结果时使用相同的请求标识符。

analysis_consent · yes/no

所选项目的当前值。请在相关事件后读取。

analysis_export_status · text

此操作的当前结果。保存成功前请使用匹配的完成事件。

analysis_export_error · text

上一次操作的错误信息。显示有帮助的提示并提供相应的重试。

analysis_image_bytes · number

所选项目的当前值。请在相关事件后读取。

事件

capture_started

当此事件发生时,从同一元素读取相关状态。

capture_succeeded

当此事件发生时,从同一元素读取相关状态。

capture_cancelled

当此事件发生时,从同一元素读取相关状态。

permission_denied

当此事件发生时,从同一元素读取相关状态。

capture_error

当此事件发生时,从同一元素读取相关状态。

analysis_requested

当此事件发生时,从同一元素读取相关状态。

analysis_export_error

当此事件发生时,从同一元素读取相关状态。

analysis_cleared

当此事件发生时,从同一元素读取相关状态。

开发者常问问题

它会验证身份或文件吗?

否。它仅提供文本字段供审核。捕获的文档图像并不能确定身份、真实性或作出医疗/财务结论。

订阅是如何运作的?

计划定价:在 Bubble 中安装插件免费。BestPlugins 访问需为每个插件在每个 Bubble 应用项目单独订阅:免费 7 天,然后每月 US$1.50。Development 和 Live 已包含。操作次数没有固定上限;文件大小和功能限制仍然适用。结账尚未开放。激活界面将显示首次计费日期和取消条款。

相关指南

Marketplace 发布待定

论坛指南未发布

如需帮助,请告知我们您使用的插件和设备、尝试的操作以及发生的情况。请使用不含个人数据的示例。切勿分享您的密钥或私有文件。