# 版本管理

## 简介

版本管理是 **Dify 聊天流/工作流管理界面**中的一项核心功能，用于帮助用户高效地管理和发布应用的多个版本。

通过版本管理功能，用户可以清晰地区分应用的**草稿版本**和**已发布版本**，并在需要时回滚到**历史版本**。该功能可以让应用的迭代和管理更为简便和直观，确保应用的持续更新与稳定性。

## 相关定义

* **草稿版本（Current Draft）**： 草稿版本是 Dify 聊天流/工作流管理界面中**唯一呈现当前工作进度的版本**。用户可在此版本中编辑、修改与预览聊天流/工作流。

<div align="center"><img src="https://assets-docs.dify.ai/2025/03/38296a597c0ca31b5fb70be2234f2363.png" alt="Current draft" width="400"></div>

* **已发布版本（Published Version）**： 用户发布到线上的所有版本，即最新发布版本和历史发布版本的统称。每一次发布操作都会生成一个新的已发布版本。
* **最新发布版本（Latest Version）**： 用户最近一次发布到线上的版本。Dify 在版本管理界面中将其标记为 `Latest` ，以便与其他历史发布版本区分。

<div align="center"><img src="https://assets-docs.dify.ai/2025/03/e4c06a0817c30cf9e8893487c889cb02.png" alt="Latest version" width="350"></div>

* **历史发布版本（Previous Version）**： 用户曾经发布过，但现在已经不再处于当前线上状态的版本。

<div align="center"><img src="https://assets-docs.dify.ai/2025/03/4cd05033b93d84b53496f3d02e88601f.png" alt="Previous version" width="200"></div>

* **版本回滚（Restore）**： 版本管理中的版本回滚功能允许用户将应用恢复到某个历史版本。

<div align="center"><img src="https://assets-docs.dify.ai/2025/03/607a69b5355886b9ae8d23a08e818e35.jpg" alt="Restore feature" width="200"></div>

## 功能

* **查看所有版本**：在版本管理界面中，你可以查看所有已发布的版本，了解每个版本的详细信息。
* **查找所需版本**： 你可以使用筛选功能快速查找所需的特定版本。
* **发布新版本**： 你可以发布一个新的应用版本，并为该版本创建相应的版本名和版本描述。
* **编辑已发布版本的信息**： 你可以编辑已发布版本的版本名和版本描述。
* **删除历史版本**： 你可以删除不再需要的历史版本，清理版本列表。
* **回滚到历史版本**： 通过版本回滚功能，你可以将历史版本的内容加载到草稿中并进行修改。

## 如何查看所有版本？

1. 点击右上角的 **版本管理功能** 按钮，进入版本管理界面。

![View all versions](https://assets-docs.dify.ai/2025/03/eed667bbc9498425342c09039054cf98.png)

2. 版本管理界面显示了一个按时间倒序排列的版本列表。你可以在列表内查看过往版本的 **版本名、版本信息、发布时间、发布者**。
3. *（可选）* 如果版本列表超过当前可见的数量，你可以点击 **加载更多** 按钮，加载更多的版本记录。

![Load more](https://assets-docs.dify.ai/2025/03/df9aeb06128f11089dc2294f0338e2ca.png)

## 如何查找我需要的版本？

* **查找由我发布的版本**： 点击 **筛选** 按钮，弹出筛选框。该筛选框有两个选项：

  * **所有版本**： 显示所有版本，包括你自己和其他用户发布的版本。
  * **由我发布的版本**： 仅显示由你发布的版本。

  你可以根据需要选择合适的筛选项，以查看对应的版本。

  <div align="center"><img src="https://assets-docs.dify.ai/2025/03/0bf8fef8858671a8fef160f49dd83dad.jpg" alt="All or only yours" width="200"></div>
* **查找已命名的版本**： 如果你只想查看已命名的版本，可以点击 **查找已命名的版本** 选项。启用该选项后，只有已命名版本会出现在版本列表中，其他未命名的版本将被隐藏。

<div align="center"><img src="https://assets-docs.dify.ai/2025/03/2473121caa2e25ad1a76ee42a4127fb4.jpg" alt="Only show named versions" width="200"></div>

## 如何发布新版本？

1. 在 Dify 聊天流/工作流管理界面中完成聊天流/工作流创建后，点击面板的右上角的 **发布 > 发布更新** 按钮，即可直接发布当前版本。

![Publish new version](https://assets-docs.dify.ai/2025/03/26f3f324ab4ecb965708d553ddd78d97.png)

2. 发布后，此最新发布版本将被标记为 `Latest` 。相关信息会显示在版本管理界面中。

![Latest version marked](https://assets-docs.dify.ai/2025/03/67e95de17577bc272addad6c33f8ea59.png)

## 如何编辑已发布版本的信息？

1. 在版本管理界面，找到你需要编辑版本信息的版本，并点击该版本右上角的操作菜单。

* 如果你之前以默认名称保存了该版本，可以点击 **命名此版本**，更新版本名与版本信息。

<div align="center"><img src="https://assets-docs.dify.ai/2025/03/ac149f63da6611d7080d305dd3fad65c.jpg" alt="Name this version" width="200"></div>

* 如果你已经为该版本填写过版本名，可以点击 **编辑版本信息** 修改版本名与版本信息。

<div align="center"><img src="https://assets-docs.dify.ai/2025/03/1d840edf979132a9bbf1e065f95e663c.jpg" alt="Edit version info" width="200"></div>

2. 点击 **发布**，发布版本信息。

![Edit version info](https://assets-docs.dify.ai/2025/03/838e5a12aa277bada6c2a4a214450fa5.jpg)

## 如何删除历史版本？

1. 在版本管理界面，找到你需要删除的已发布版本，点击该版本右上角的操作菜单。
2. 选择 **删除**，弹出确认操作的弹窗。

<div align="center"><img src="https://assets-docs.dify.ai/2025/03/25ad1999fc9f6f44fcac04526ac5563a.jpg" alt="Delete version" width="200"></div>

3. 点击 **删除**，该版本将从版本管理界面中删除。

![Delete Version Confirmed](https://assets-docs.dify.ai/2025/03/9326fd0463d024aac1907c83a37fe13b.jpg)

{% hint style="warning" %}

* **草稿版本**（即 Current Draft）为当前聊天流 / 工作流界面正在编辑的草稿版本，无法删除。
* **最新发布版本**（即标记为 Latest 的版本）为用户最近一次发布到线上的版本，无法删除。
  {% endhint %}

## 如何回滚到某个已发布版本？

1. 在版本管理界面，找到你需要回滚的历史版本，点击该版本右上角的操作菜单。
2. 选择 **回滚**，弹出确认操作的弹窗。

<div align="center"><img src="https://assets-docs.dify.ai/2025/03/c96b714accc29df8e46e711782a7a6a9.jpg" alt="Restore version" width="200"></div>

3. 点击 **回滚**，当前的草稿版本将回滚为该历史版本。

![Restore version confirmed](https://assets-docs.dify.ai/2025/03/f3a6e13f2e910f5c7917f52fe77bdfca.jpg)

## 使用场景

以下用一个典型的用户使用场景来说明各版本之间的联系。

> 相同颜色代表相同的版本内容。

### 阶段一

* 系统自动新建 **草稿版本** Version A。

![Phase 1](https://assets-docs.dify.ai/2025/03/35ece9d5d5d4d8c46a3fb5ceae4d0c15.jpeg)

### 阶段二：首次发布

* Version A 发布，成为 **最新发布版本**。
* 系统自动新建 **草稿版本** Version B。

![Phase 2](https://assets-docs.dify.ai/2025/03/3d1f66cdeb08710f01462a6b0f3ed0a8.jpeg)

### 阶段三：再次发布

* Version B 发布，成为 **最新发布版本**。
* Version A 成为 **历史发布版本**。
* 系统自动新建 **草稿版本** Version C。

![Phase 3](https://assets-docs.dify.ai/2025/03/92ffbf88a3cbeeeeab47c1bd8b4f7198.jpeg)

### 阶段四：回滚操作

* Version A 回滚至 **草稿版本**，覆盖 Version C。
* Version B 仍为 **最新发布版本**。

![Phase 4](https://assets-docs.dify.ai/2025/03/541f1891416af90dab5b51bfec833249.jpeg)

### 阶段五：发布回滚

* Version A（回滚版）发布，成为 **最新发布版本**。
* Version A 与 Version B 成为 **历史发布版本**。
* 系统自动新建 **草稿版本** Version D。

![Phase 5](https://assets-docs.dify.ai/2025/03/3572a4f2edef166c3f14e4ec4e68b297.jpeg)

### 全流程演示

![Workflow](https://assets-docs.dify.ai/2025/03/dc7c15a4dfafb72ce7fffea294d5b5e5.gif)

## FAQ

* **草稿版本、已发布版本、最新发布版本和历史发布版本有什么区别？**

| 定义     | 操作方式                         | 是否可以从线上访问                                   | 是否可以删除                                | 是否可以回滚            |
| ------ | ---------------------------- | ------------------------------------------- | ------------------------------------- | ----------------- |
| 草稿版本   | 当前正在编辑和修改的版本，代表用户的最新工作进度。    | 只能通过 发布 (Publish) 操作推送至线上环境。                | 不可以从线上访问，必须通过发布操作将其推送为最新发布版本才可以从线上访问。 | 无法删除。             |
| 最新发布版本 | 目前线上生效的版本，是最新的已发布版本。         | 是当前线上的版本，不能直接编辑，需通过发布新的草稿版本来更新。             | 可以从线上访问和使用。                           | 可以通过回滚操作恢复到该版本内容。 |
| 历史发布版本 | 过去已发布并保存的版本，用户可回滚使用，但不再对外生效。 | 可以通过 回滚 (Restore) 操作将历史版本加载到草稿版本中，再进行编辑和发布。 | 不可以从线上访问，仅保存在版本列表里。                   | 可以通过回滚操作恢复到该版本内容。 |
| 已发布版本  | 最新发布版本和历史发布版本的统称。            | /                                           | /                                     | /                 |

* **回滚到历史版本后，当前的草稿版本会丢失吗？**

当你选择回滚到历史版本后，系统会将你选择的历史版本的内容加载到新的草稿版本中。你可以继续在该草稿上进行修改并发布。

因此，回滚到历史版本后，当前的草稿版本将会丢失。请谨慎操作。

* **版本管理功能适用于哪些应用类型？**

目前，版本管理功能仅适用于 **聊天流** 和 **工作流** 应用类型。**聊天助手**、**文本生成应用** 以及 **Agent** 暂不支持此功能。
