本文档由 AI 自动翻译。如有任何不准确之处,请参考 英文原版。
导出应用可留存一份副本、交给他人,或迁移到另一个 Dify 实例或工作空间。导出后会得到一个 应用包,也就是 .ifpkg 文件。
导入应用包可创建新应用,也可更新已有应用,例如换上已测试完毕、准备上线的版本。
若只是在同一工作空间内复制应用,在应用菜单中选择 复制 即可。
导出和导入应用需要「编辑」及以上角色。
导出应用 #
在应用或 Agent 的卡片菜单里,或者打开后左上角的菜单里,点击 导出应用 或 导出 Agent。
对于 Workflow、Chatflow 和新 Agent,导出的是当前草稿,包括尚未发布的改动。若要导出某个已发布版本,打开 版本历史,在该版本的菜单中选择 导出应用 或 导出 Agent。
其他类型的应用导出的是最近一次发布的配置。
导出不包含的内容 #
除以下内容外,构成应用的一切都会随之导出:
- 用到的集成(导入时可一键安装全部缺少的集成)
- 关联的知识库
- 工作流、Swagger API 和 MCP 工具
- Agent 文件系统 中的长期文件,比如它在构建模式下安装的程序
- 服务 API 密钥
- 模型和工具凭据
- 日志和标注
- 历史版本
- 集成触发器的订阅
选择是否导出 Secret 值#
导出含有 Secret 类型环境变量的 Workflow 或 Chatflow 时,可选择是否包含这些变量的值。
从版本历史导出时,始终不包含 Secret 值。
如需包含这些值,勾选 导出 secret 值。这些值会以明文写入应用包,拿到应用包的人都能看到。只有当你会像保管密钥本身一样妥善保管这个应用包时,才这样做。
如果不包含这些值,导入后这些变量为空,由导入应用的人自行填写。
通过导入创建新应用#
在 工作室 或 Agents 中,点击 创建 > 导入应用。
这种方式总会创建一个新应用,它有自己的 Web 应用 URL,已有的应用不受影响。若想导入到已有的 Workflow 或 Chatflow 中,并保留其 Web 应用 URL 和 API 密钥,改为 更新该应用。
导入后,对照导出时 未包含的内容,把新应用需要的部分补上。
通过导入更新已有应用 #
在 Workflow 或 Chatflow 中,从应用左上角的菜单或画布的右键菜单中点击 导入应用。应用包必须导出自 Workflow 或 Chatflow,且其中的节点都能在当前应用中使用:Workflow 不能包含直接回复节点,Chatflow 不能包含输出节点或触发器节点。
导入会替换你的草稿,应用的名称、描述和图标也会一并替换。应用本身不变,日志、标注、API 密钥,以及 Web 应用和 MCP 服务的 URL 都保持原样。在你发布更新后的草稿之前,用户使用的仍是已发布的版本。
如果应用包不含 Secret 值,发布前需重新填写。
导入的应用所带的 Web 应用设置(如标题、图标、主题色)会在导入后立即应用到线上 Web 应用,即使你尚未发布。
导入前,确认待导入应用的 Web 应用设置已经是用户应当看到的样子。
在 Dify Enterprise 中,你可以让应用运行在 staging、production 等彼此独立的环境中:在一个环境里测试新版本,用户则在另一个环境里继续使用稳定版本。如需了解更多,请 联系销售。
导入到早期 Dify 版本#
应用包(.ifpkg)只能导入 Dify 1.18.0 及以上版本。若要将应用导入更早的 Dify 版本,先解压应用包(它是一个 ZIP 文件),再单独导入其中的 app.yaml DSL 文件。
部分配置不会随之迁移,例如 Web 应用设置和上传的图标,导入后需检查并重新设置。
使用了 新 Agent 节点 的工作流只能导入 Dify 1.18.0 及以上版本。