输出节点(支持多种输出格式)
输出节点是工作流的最后一个节点,用于呈现工作流的最终结果。现在,输出节点除了支持将Markdown
渲染为可视化内容外,还新增了对输出格式的配置,可按 HTML 渲染你在“选择输出内容”里选定的值。无论该值来自模型、“高级模板节点” 动态拼接,还是其他节点产出的 HTML 字符串,输出节点都会在安全沙箱中进行显示。
使用方法
在节点配置中:
- 在
选择输出内容
中,选择需要输出的文本或模板变量(示例:$Template1.template
)。 - 在
输出格式
中,选择期望的渲染类型:- Markdown(默认)
- HTML
提示:输出“内容”由选择输出内容
决定;“输出格式”只决定渲染方式。
提示:可以与“高级模板节点”配合使用,动态拼接/组装输出内容,再交由输出节点渲染。
输出格式说明
-
Markdown(默认)
- 自动将 Markdown 渲染为可视化内容。
- 适用快速说明文档、数据摘要、表格/清单等。
-
HTML
- 该模式按照 HTML 渲染你在
选择输出内容
中选择的值。 - 该值可以来自LLM节点、由“高级模板节点”动态拼接的 HTML,或任何能产出 HTML 字符串的节点。
- 在沙箱中渲染,默认仅渲染 HTML 与 CSS。
- 可选项:
允许脚本执行
(默认未选中)。- 关闭:仅渲染静态 HTML,不执行脚本。
- 开启:允许使用
<script>
、引用外部 JS 库,实现图表、动画、交互等效果。在隔离环境中允许 JavaScript 脚本执行
- 该模式按照 HTML 渲染你在
安全与隔离
- 所有 HTML 均在安全沙箱中渲染,与主环境相互隔离。
- 仅在显式开启“允许脚本执行”后,才会在沙箱内运行 JavaScript。
- 建议仅加载可信来源的脚本与资源(可使用主流 CDN)。
示例:自定义 HTML(脚本关闭)
<!doctype html><html> <head> <meta charset="utf-8" /> <title>结果预览</title> <style> body { font: 14px/1.6 system-ui, sans-serif; margin: 24px; } .card { border: 1px solid #eee; border-radius: 8px; padding: 16px; } </style> </head> <body> <h2>分析结果</h2> <div class="card"> <!-- 可由高级模板节点动态拼接 --> <p>结论:{{ result.summary }}</p> </div> </body></html>
示例:自定义/模型 HTML(开启脚本)
当勾选“在隔离环境中允许 JavaScript 脚本执行(用于交互式内容)”后,可以引用 JS 库实现交互式可视化:
<!doctype html><html> <head> <meta charset="utf-8" /> <title>销量图表示例</title> <script src="https://cdn.jsdelivr.net/npm/chart.js"></script> </head> <body> <h2>月度销量</h2> <canvas id="chart" width="600" height="300"></canvas> <script> const ctx = document.getElementById('chart'); const data = {{ result.chartDataJson }}; // 由高级模板节点注入 new Chart(ctx, { type: 'line', data, options: { responsive: true } }); </script> </body></html>
Markdown 语法支持情况
比如下面的测试语法:
# 标题1
### 标题 3
##### 标题 5
**粗体文本**_斜体文本_**_粗斜体文本_**~~删除线~~
- 无序列表项 1- 无序列表项 2 - 嵌套列表项 2.1 - 嵌套列表项 2.2
1. 有序列表项 12. 有序列表项 2 1. 嵌套有序列表项 2.1 2. 嵌套有序列表项 2.2
> 这是一个引用>> > 这是一个嵌套引用
`行内代码`
```pythondef hello_world(): print("Hello, World!")```
[链接文本](https://www.example.com)

| 表头 1 | 表头 2 | 表头 3 || -------- | -------- | -------- || 单元格 1 | 单元格 2 | 单元格 3 || 单元格 4 | 单元格 5 | 单元格 6 |
## 水平分割线:
任务列表:
- [x] 已完成任务- [ ] 未完成任务
上标和下标:
H~2~O 是水的化学式
2^10^ = 1024
细节折叠:
<details><summary>点击展开详情</summary>
这里是隐藏的详细内容。可以包含多行文本、列表、代码等。
</details>
LaTeX 化学方程式:
$$\\ce{Ba^2+ + SO4^2- =BaSO4 v}$$
可能会得到类似于下面这样的输出:
数学公式和 Mermaid 图表
可以输入下面这个Markdown语法测试:
数学公式
行内公式:$E = mc^2$
行间公式:
$$\frac{\partial f}{\partial x} = \lim_{h \to 0} \frac{f(x + h) - f(x)}{h}$$
Mermaid 图表
```mermaidgraph TD A[开始] --> B{是否有咖啡?} B -->|是| C[喝咖啡] B -->|否| D[买咖啡] C --> E[继续工作] D --> E E --> F[结束]```
```mermaidsequenceDiagram participant Alice participant Bob Alice->>John: Hello John, how are you? loop Healthcheck John->>John: Fight against hypochondria end Note right of John: Rational thoughts <br/>prevail... John-->>Alice: Great! John->>Bob: How about you? Bob-->>John: Jolly good!```
```mermaidgantt title 项目进度表 dateFormat YYYY-MM-DD section 设计阶段 需求分析 :done, des1, 2023-01-01, 2023-01-05 系统设计 :active, des2, 2023-01-06, 3d 详细设计 : des3, after des2, 5d section 开发阶段 编码 : dev1, after des3, 20d 测试 : dev2, after dev1, 10d section 部署阶段 部署准备 : dep1, after dev2, 2d 上线 : dep2, after dep1, 1d```
可能会得到类似于下面这样的输出: