适用版本:ChengOS v0.1.0+ | 最后核对:2026-08-13 | 来源:
crates/cheng-nodes/src/nodes/builtin/io
这些是把数据送进工作流的节点。io/input_text 承载你在画布上直接填写的文本或 JSON 字面量; io/file_upload 把上传的文件转成持久化的工件引用;io/read_file 读取服务端本来就能看到的路径。 真正需要区分的是内联值与工件:工件端口交给下游的是一个引用而不是字节本身,因此大体量内容不会流进执行记录。 io/file_upload 刻意不做 OCR、解析和转写 —— 它只把每个上传件路由到对应类型的工件端口,转换交给媒体节点完成。
文本输入 — io/input_text
多行文本/JSON 输入,输出文本,JSON 值和 AgentContext
输入
| 字段 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
text |
string | — | "" |
纯文本内容(支持多行输入). 控件:textarea |
json_text |
string | — | "" |
JSON 格式内容(为空时忽略). 控件:code-editor |
输出
| 字段 | 类型 | 说明 |
|---|---|---|
text |
string | 文本字段的原始内容(字符串) |
length |
integer | 文本字段的字符数(数字) |
json_value |
any | json_text 的解析结果(JSON 无效时为 null) |
context |
object (端口) | AgentContext 输出(可直接连接 Agent / Output 节点). 连接端口,不是表单字段。 |
文件上传 — io/file_upload
将上传的文件路由为持久化的工件引用(文档/图片/音频/视频);OCR、文档解析、语音转写由专用下游节点处理
输入
| 字段 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
files_json |
array<any> \ | object \ | string | — |
allowed_category |
enum | — | auto |
限制允许的文件类别. 控件:select. 取值:auto (自动检测), image (图片), document (文档), audio (音频), video (视频), other (其他) |
max_file_size_mb |
integer | — | 50 |
每个文件的最大大小(MB). 控件:number |
enable_ocr |
boolean | — | false |
已废弃且不再生效。请将 image_artifact 连接到 io/ocr。 控件:switch |
parse_documents |
boolean | — | false |
已废弃且不再生效。请将 document_artifact 连接到 io/document_to_text。 控件:switch |
llm_inline_max_bytes |
integer | — | 0 |
已废弃:不再产生需要离线存储的内联正文。保留以兼容旧工作流字段。 |
输出
| 字段 | 类型 | 说明 |
|---|---|---|
artifacts |
array<object> (端口) | 全部上传文件的工件引用(无内联字节). 连接端口,不是表单字段。 |
first_artifact |
object (端口) | 第一个上传文件的工件引用. 连接端口,不是表单字段。 |
document_artifact |
object (端口) | 第一个文档工件;连接到 io/document_to_text.artifact. 连接端口,不是表单字段。 |
image_artifact |
object (端口) | 第一个图片工件;连接到 io/ocr.artifact. 连接端口,不是表单字段。 |
audio_artifact |
object (端口) | 第一个音频工件;连接到 io/speech_to_text.artifact. 连接端口,不是表单字段。 |
video_artifact |
object (端口) | 第一个视频工件;连接到 io/video_extract_audio.artifact. 连接端口,不是表单字段。 |
file_count |
integer | 已路由的文件数量 |
total_size |
integer | 所有文件的总大小(字节) |
errors |
array<string> | 处理过程中的错误信息 |
llm_text |
string (端口) | 上传文件的有界清单(文件名/类型/大小/工件 URI),可直连 ai/llm.user_message. 连接端口,不是表单字段。 |
document_base64 |
string | 已废弃:见 document_artifact。始终为 None。 |
document_filename |
string | 已废弃。始终为 None。 |
document_text |
string | 已废弃。始终为 None。 |
audio_base64 |
string | 已废弃:见 audio_artifact。始终为 None。 |
audio_filename |
string | 已废弃。始终为 None。 |
video_file_path |
string | 已废弃:见 video_artifact。始终为 None。 |
image_base64 |
string | 已废弃:见 image_artifact。始终为 None。 |
image_filename |
string | 已废弃。始终为 None。 |
file_paths |
string | 已废弃。始终为 None。 |
chat_input_raw |
string | 已废弃。始终为 None。 |
user_message_rich |
object | 已废弃:富多模态部分在 LLM 节点物化。始终为 None。 |
ocr_text |
string | 已废弃:OCR 现在是独立节点。始终为 None。 |
ocr_structured_json |
string | 已废弃。始终为 None。 |
ocr_status |
string | 已废弃。始终为 None。 |
ocr_results_json |
string | 已废弃。始终为 None。 |
读取文件 — io/read_file
从工件引用或本地路径读取文件的有界区间为纯文本。可连接到 LLM 文本输入。
输入
| 字段 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
artifact |
object (端口) | — | null |
要读取的工件引用(优先于 file_path). 连接端口,不是表单字段。 |
file_path |
string | — | null |
本地绝对或相对路径(旧版;与工件互斥). 控件:text |
prefix |
string | — | null |
可选前缀,添加到文件内容前面,为 LLM 提供上下文描述 |
suffix |
string | — | null |
可选后缀,附加到文件内容后面 |
start_byte |
integer | — | 0 |
开始读取的字节偏移 |
max_bytes |
integer | — | 16384 |
本次窗口读取的最大字节数(默认 16 KiB,硬上限 1 MiB) |
start_line |
integer | — | null |
1-based 起始行号(启用行模式) |
max_lines |
integer | — | null |
行模式下读取的最大行数 |
输出
| 字段 | 类型 | 说明 |
|---|---|---|
content |
string | 有界纯文本内容(含前缀/后缀) |
source_artifact |
object | 实际读取的工件(如有) |
bytes_read |
integer | 实际读取的字节数 |
total_bytes |
integer | 文件总字节数 |
truncated |
boolean | 窗口之外是否还有更多内容 |
file_path |
string | 解析后的路径(仅旧版 file_path 输入) |
error |
string | 错误信息;成功时为 null |
下一步
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END

暂无评论内容