createDetailsOutputNode
workflow.createDetailsOutputNode() 创建一个通用输出节点,用来把标题、内容和 icon 转成独立的可折叠 WorkflowOutputItem。
该节点内部仍然是 output 标准节点,因此 CLI、App、server embed 和日志 replay 会把它的 items 作为用户可见输出收集。适合把长日志、调试信息、结构化 JSON、执行摘要或可选说明输出成独立折叠块。
签名
输入
不传options.resolve 时,节点默认从 input 读取:
| 字段 | 类型 | 说明 |
|---|---|---|
title | string | <summary> 中显示的标题。空值会使用 "Details"。 |
content | unknown | 折叠块正文。字符串按 Markdown 原样输出;对象和数组保持原始 JSON。 |
icon | string | 可选 icon。可以是预置名,也可以是自定义文本。 |
Options
| 字段 | 类型 | 说明 |
|---|---|---|
name | string | 节点名,默认 "output"。 |
title | string | (input, context) => unknown | 固定或动态标题。优先级高于 input.title。 |
content | string | (input, context) => unknown | 固定或动态正文。优先级高于 input.content。 |
icon | string | (input, context) => unknown | 固定或动态 icon。优先级高于 input.icon。 |
resolve | (input, context) => { title, content, icon? } | 统一把业务 input 转成折叠块参数。 |
format | (payload, details, input, context) => Output | 在默认 payload 基础上追加业务字段。 |
historyLimit | number | 节点执行历史保留条数,默认 50。 |
metadata | WorkflowNodeMetadataInput | 节点展示元信息,默认 type 为 details-output。 |
Icon 预置
| 预置 | 输出 |
|---|---|
info | [i] |
success | [ok] |
warning | [!] |
error | [x] |
note | [note] |
code | [code] |
list | [list] |
quote | [quote] |
none | 空字符串 |
返回 payload
默认 payload 继承WorkflowPayload:
| 字段 | 说明 |
|---|---|
errCode | 成功时为 0。 |
errMessage | 成功时为空字符串。 |
items | 只包含一个可折叠 item。 |
content 中,并自动标记为 contentType: "json";字符串默认按 markdown 渲染。
示例:直接传 title/content/icon
icon 使用 control: "radio" 和预置 icon 选项,title / content 使用普通字符串输入。workspace/workflow/details-output 示例即采用这种形态,避免用 scenario 之类的演示分支掩盖 details 输出节点本身的输入。
示例:从业务 input 生成折叠块
details.content 保持为 JSON 对象,不会提前 stringify 成 Markdown 代码块。
注意
- 一个 workflow 文件里不要声明多个配置名相同的 output 节点;如果要输出多个折叠块,可以复用同一个
createDetailsOutputNode实例多次runNode,最终 report 会把每次输出作为独立 item 收集。 - 该节点是普通节点,使用
workflow.runNode(...)执行;需要逐 chunk 流式输出时仍使用createOutputNode({ stream, format })。