> ## Documentation Index
> Fetch the complete documentation index at: https://dify-6c0370d8-docs-new-agent-experience.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# 输出

> 将工作流结果返回给终端用户或 API 调用者

> 本文档由 AI 自动翻译。如有任何不准确之处，请参考 [英文原版](/en/cloud/use-dify/nodes/output)。

使用输出节点将工作流中的特定变量值传递给终端用户或 API 调用者。在需要呈现结果的位置添加该节点。

<Info>
  输出节点的前身是「结束」节点，曾是每个工作流的必需组件。

  现在它是可选的，没有输出节点的工作流仍然可以正常运行，但不会向调用者返回任何数据。

  输出节点仅适用于工作流应用。对话流应用请使用 [直接回复](/zh/cloud/use-dify/nodes/answer) 节点。
</Info>

## 配置输出变量

每个输出节点至少需要一个输出变量。添加变量时，指定一个名称并从上游节点的输出中选择数据来源。

<Info>
  你设置的变量名称将作为 API 响应中的键名。
</Info>

你可以在单个输出节点中添加多个输出变量，并通过拖拽调整顺序。

## 支持的变量类型

输出变量支持以下类型：

`string`、`number`、`integer`、`boolean`、`object`、`file`、`array[string]`、`array[number]`、`array[object]`、`array[boolean]`、`array[file]`

## 多个输出节点

一个工作流可以包含多个输出节点。输出节点不会终止工作流执行，其他并行分支（如果有）会在该节点完成后继续运行。

所有已执行的输出节点的变量会合并为一个最终结果。每个输出节点在工作流执行到它时将变量添加到结果中：

* 在 **同一分支** 上，变量按输出节点的排列顺序依次添加。

* 在 **并行分支** 上，先执行完成的输出节点先添加其变量。

<Warning>
  请确保工作流中所有输出节点的变量名称互不重复。

  当两个输出节点使用相同的输出变量名称时，后执行的节点会覆盖先前的值。
</Warning>

## API 响应结构

通过 API 调用工作流时，输出变量会出现在响应的 `outputs` 对象中。

<Tabs>
  <Tab title="阻塞式返回">
    工作流完成后，所有输出以单次响应返回：

    ```json theme={null}
    {
      "workflow_run_id": "...",
      "status": "succeeded",
      "outputs": {
        "result_text": "The processed output...",
        "score": 95
      }
    }
    ```
  </Tab>

  <Tab title="流式返回">
    输出在最终的 `workflow_finished` 事件中到达：

    ```json theme={null}
    {
      "event": "workflow_finished",
      "data": {
        "outputs": {
          "result_text": "The processed output...",
          "score": 95
        }
      }
    }
    ```
  </Tab>
</Tabs>

每个输出变量名称直接对应 `outputs` 对象中的一个键。

## 发布为工具

当你将 [工作流发布为工具](/zh/cloud/use-dify/workspace/tools#工作流作为工具) 时，输出节点定义了工具的返回结构。每个输出变量名称会成为工具结果中的一个键，供调用该工具的工作流使用。
