跳转到主要内容

Documentation Index

Fetch the complete documentation index at: https://dify-6c0370d8-docs-hide-variables.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

⚠️ 本文档由 AI 自动翻译。如有任何不准确之处,请参考 英文原版

简介

用户输入节点允许你定义从终端用户收集哪些内容作为应用程序的输入。 使用此节点启动的应用程序按需运行,可以通过直接用户交互或 API 调用启动。 你还可以将这些应用程序发布为独立的 Web 应用程序或 MCP 服务器,通过后端服务 API 公开它们,或在其他 Dify 应用程序中作为工具使用。
每个应用程序画布只能包含一个用户输入节点。

输入变量

预设

预设输入变量由系统定义,默认可用。
  • userinput.files:终端用户运行应用程序时上传的文件。
    对于工作流应用程序,此预设变量已被视为遗留变量,仅为向后兼容而保留。我们建议使用自定义文件输入字段来收集用户文件。
  • userinput.query(仅限对话流):从用户最新对话轮次自动捕获的文本消息。

自定义

你可以在用户输入节点中配置自定义输入字段,以收集不同类型的用户输入。每个字段都会成为下游节点可以引用的变量。
标签名称会显示给你的终端用户。
若字段的值是你已知的(如产品标识符或租户 ID),且无需由终端用户输入,可将其标记为 隐藏并预填,自行提供值。详见 隐藏并预填输入字段

文本输入

接受最多 256 个字符。用于姓名、电子邮件地址、标题或任何单行的简短文本输入。

结构化输入

显示带有预定义选项的下拉菜单。用户只能从列出的选项中选择,确保数据一致性并防止无效输入。

文件输入

允许用户上传任何支持类型的一个文件,可以从设备上传或通过文件 URL。上传的文件作为包含文件元数据(名称、大小、类型等)的变量可用。
文件处理 由于用户输入节点仅收集文件——它不读取或解析其内容——上传的文件必须由后续节点适当处理。例如:
  • 文档文件可以路由到文档提取器节点以进行文本提取,以便 LLM 能够理解其内容。
  • 图像可以发送到具有视觉能力的 LLM 节点或专门的图像处理工具节点。
  • CSV 或 JSON 等结构化数据文件可以使用代码节点进行解析和转换。
当用户上传混合类型的多个文件(例如,图像和文档)时,你可以使用列表操作符节点按文件类型分离它们,然后将它们路由到不同的处理分支。

隐藏并预填输入字段

工作流有时需要一些你已知的输入,让终端用户手动填写只会增加摩擦。可将此类字段标记为 隐藏并预填:值由你预先填好,终端用户看不到该字段,而工作流仍能拿到值。 假设你的公司有多个产品的落地页,每个页面都嵌入了 AI 聊天机器人。这些聊天机器人背后的工作流基本相同,只是处理的产品不同。 与其为每个产品维护一个独立的工作流,不如只用一个,并为其添加隐藏的 productName 字段,然后为各个落地页预填不同的值。在终端用户看来,每个页面都有专属的产品聊天机器人,但实际上各个页面只是向同一个工作流传入了不同的 productName
隐藏字段 并不保密。字段值会出现在 URL 查询字符串中,浏览器地址栏、历史记录和网络流量中都能看到。凭据和 API 密钥需改用 环境变量
单个文件和文件列表字段不支持此功能。
1

启用功能

  1. 编辑变量 窗口中,取消勾选 必填(若已勾选)。这两个选项互斥。
  2. 勾选 隐藏并预填。可同时设置默认值用作兜底。
隐藏字段在 预览 面板中仍会显示,便于你在发布前测试流程。
2

预填字段值

  1. 发布应用。
  2. 根据终端用户访问应用的方式,选择对应的方法。
    适用于终端用户通过链接直接打开 WebApp 的场景。
    1. 在应用发布面板的 Web App 板块中,点击 启动 旁的齿轮图标。
      隐藏字段预填图标
    2. 填入隐藏字段的值并点击 启动。WebApp 打开后,预填值已作为 URL 查询参数填入地址栏,复制 URL 即可分享。
    若需生成大量带有不同值的链接,可参照该 URL 模式自行编写更多链接,或让第三方系统自动生成:
    {WEBAPP_URL}?{VARIABLE_NAME}={VALUE}&{VARIABLE_NAME}={VALUE}
    
    # 示例:https://udify.app/chat/abc123?productName=Acme&region=us-east
    
    含空格或特殊字符的值需要 URL 编码(例如 Acme Corp 写作 Acme%20Corp)。
    客服团队可在 CRM 的工单回复模板中,将 ?customerId={{customer.id}} 追加到 WebApp URL 末尾。客服发送链接时,CRM 会自动替换成实际的客户 ID,聊天机器人无需再询问即可识别客户。