Dify 工作流图片显示完整指南3 种方案让图表和图文内容正常渲染【免费下载链接】Awesome-Dify-Workflow分享一些好用的 Dify DSL 工作流程自用、学习两相宜。 Sharing some Dify workflows.项目地址: https://gitcode.com/GitHub_Trending/aw/Awesome-Dify-WorkflowDify 工作流输出图片或图表时最常见的问题是“回复里有 URL聊天窗口却什么都不显示”。基于 Awesome-Dify-Workflow 项目里的现成工作流这里给出三条递进的路径从 base64 内嵌、到动态渲染、再到图文知识库新手照着做就能跑通看到结果。 场景自查你的 Dify 图片显示失败是哪种症状选方案之前先对号入座看你属于下面哪种情况链接可见、图片不加载把图片 URL 拼进回复聊天窗口能看到链接但图不显示多半是图片托管服务拒绝了跨域请求这是最常见的原因。图表数据不变化图能画出来但数据写死在代码节点里换个查询条件图表还是一张样。HTML 变成一坨代码工作流产出的本应是页面或界面内容纯文本回复里只能看到一堆标签。知识库检索丢图检索到的素材明明是图配文回复里只剩下文字图片被模型丢掉了。上图就是第一种症状的典型画面直接回复节点里输出的是完整图片 URL右侧预览区却空白。如果 URL 在浏览器里直接打开都失败基本可以判定是跨域问题直接跳去第一道防线。 第一道防线base64 内嵌方案最稳适合图片内容相对固定、或者由代码节点现算的场景。核心思路是把图片数据直接写进回复里不经过任何图片服务器自然不存在跨域。项目对应文件DSL/matplotlib.yml操作步骤在 Dify 控制台点「导入 DSL 文件」导入 DSL/matplotlib.yml打开「代码执行」节点查看逻辑matplotlib 画图后用plt.savefig(buffer, formatpng)存进内存缓冲再转成 base64 字符串作为result输出「直接回复」节点的回复内容固定写成描述文本点运行看右侧预览窗口图表直接渲染在聊天里图中是整个 matplotlib 工作流跑通后的效果三个节点右侧预览区直接出现正弦曲线图表全程没有任何外部图片请求。需求只要是“把代码生成的图显示出来”选这个方案不会翻车代价是回复字符串会变长。 第二道防线动态渲染方案最灵活适合输出物是“随问题变化的图表或页面”而不是静态图片。项目里有两条现成路线DSL/chart_demo.ymlHTTP 请求拉天气数据代码节点拼出 ECharts 配置用echarts代码块输出Dify 原生渲染成图表DSL/Artifact.yml搭配 Artifacts 扩展让 LLM 直接输出 HTML前端渲染成独立页面操作步骤以 Artifact 为例导入 DSL/Artifact.yml在 Dify 插件市场搜索并安装 Artifacts 扩展在应用设置里启用工作流只有开始 → LLM → 直接回复三个节点在系统提示词里要求 LLM 输出 HTML预览时输入“规划一个上海1日的行程安排”右侧会渲染出带头图和行程卡片的完整页面图中左侧是文字形态的行程规划右侧是同一份内容渲染成 HTML 页面后的样子。输出物是图表或界面的时候动态渲染能省掉“先生成图片文件”这一整步。 第三道防线图文知识库方案最智能适合图文素材已经在知识库里检索时希望“图配文”回答的场景。项目对应文件DSL/图文知识库/图文知识库.yml示例素材在 DSL/图文知识库/知识库内容/操作步骤把图文素材上传到自己的知识库项目自带示例 markdown内容里保留图片的远程链接导入 DSL 后把「知识检索」节点里的数据集改成你自己的知识库「LLM」节点的 system 提示词里有一句关键配置“注意保留图片信息”它保证检索到的![](...)不会被模型改写掉直接在预览窗口提问回复就是图文混排图中知识检索工作流共四个节点预览区的技术文档回复里嵌着接口配置截图正是“图配文”效果。图文素材已经在知识库里的话别自己再生成图片让检索环节负责带图就够了。 急救手册4 个高频坑与处理办法现象回复里的图片 URL 不渲染。原因图片托管服务不允许跨域或 URL 已过期。处理改用 base64 内嵌第一道防线或把图片换成可公开读的对象存储地址。现象节点间传长字符串提示超限制。原因代码节点默认长度上限太小。处理修改.env后重启容器CODE_MAX_STRING_LENGTH: 1000000 TEMPLATE_TRANSFORM_MAX_LENGTH: 1000000现象matplotlib 在官方 sandbox 里报operation not permitted或 Dify 1.0 之后图片不渲染。原因官方 sandbox 权限限制、渲染版本差异。处理README.md 的常见问题区给出了解法可改用社区维护的 dify-sandbox-py 替换 sandbox。现象上传的 PDF 检索出来乱码。原因PDF 文本抽取有问题。处理先转成 Markdown 再上传知识库。遇到空白和报错按这四条过一遍大多能直接定位问题。 读完之后拿到项目并沿路径递进git clone https://gitcode.com/GitHub_Trending/aw/Awesome-Dify-Workflow拿到项目后建议按这个顺序推进入门导入 DSL/chart_demo.yml先在 Dify 里让一张 ECharts 图表显示出来进阶改 DSL/matplotlib.yml 代码节点里的数据源为你自己的查询结果练 base64 出图业务落地建一个自己的图文知识库照 DSL/图文知识库/图文知识库.yml 搭检索回复链路项目里的工作流都是 DSL 目录下的 yml 文件在控制台选「Import DSL file」导入即可导入后可按需改模型和提示词。 总结什么场景选什么方案代码生成的固定图表→ base64 内嵌最稳优先选它随问题变化的图表或页面→ 动态渲染简单图表用 echarts 路线整页界面用 Artifact图文素材已在知识库→ 图文知识库工作流靠提示词里的“保留图片信息”兜底全部不生效→ 回到急救手册先排查跨域和字符串长度限制两项现在打开 Dify 控制台导入 DSL/matplotlib.yml让聊天窗口显示第一张自己生成的 base64 图表。【免费下载链接】Awesome-Dify-Workflow分享一些好用的 Dify DSL 工作流程自用、学习两相宜。 Sharing some Dify workflows.项目地址: https://gitcode.com/GitHub_Trending/aw/Awesome-Dify-Workflow创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考