适用版本:ChengOS v0.1.0+ | 最后核对:2026-08-13 | 来源:
crates/cheng-nodes/src/nodes/builtin/utils
三个守住执行边界的节点。utils/credential 以引用方式注入已保存的密钥 —— 正因为有它,任何工作流都不需要把 API Key 明文填进普通字段。utils/approver 会让执行停下来等待人工判断, 这是让一张原本自动运行的图在不可逆操作之前获得检查点的方式。 utils/preview 渲染中间内容,方便你在搭图阶段直接看到某一步到底产出了什么。
凭证注入 — utils/credential
从凭证仓库解析密钥并注入为环境变量,避免在节点配置中直接写明文 API 密钥.支持 provider,provider/name 和 UUID 三种引用格式.
输入
| 字段 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
bindings |
object | ✅ | — | 环境变量名到凭证引用的映射.值支持:provider(自动选择单一凭证),provider/name(多凭证时精确指定),UUID(兼容旧格式).示例:{“OPENAI_API_KEY”:”openai”,”GITHUB_TOKEN”:”github/work”} |
context_name |
string | — | null |
显示在日志和错误消息中的上下文标签 |
strict |
boolean | — | true |
严格模式.开启(默认)时任一绑定失败都会让节点报错;关闭时返回可解析部分,并在”未解析绑定”中列出失败项. |
user_id |
string | — | null |
可选用户 ID 覆盖.留空时自动使用执行上下文中的 caller_user_id. |
输出
| 字段 | 类型 | 说明 |
|---|---|---|
env_vars |
object | 解析成功的环境变量映射(环境变量名 -> 密钥值),可直接连接到 MCP Hub 的环境变量输入端口. |
missing_bindings |
array<string> | 未解析成功的环境变量名列表.严格模式下节点会直接失败;非严格模式下用于提醒缺失项. |
resolved_count |
integer | 成功解析的绑定数量. |
审批门 — utils/approver
暂停执行并请求用户授权后再执行高风险操作.支持一次性,会话级和跳过决策.
输入
| 字段 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
action_name |
string | ✅ | — | 需要授权的操作名称(例如:HTTP POST to api.stripe.com) |
risk_level |
enum | — | medium |
操作的风险等级(低/中/高/严重). 控件:select. 取值:low, medium, high, critical |
description |
string | — | null |
操作内容的人类可读说明. |
param_summary |
string | — | null |
操作参数的 JSON 摘要,显示在审批卡片上. |
extra_whitelist |
string | — | null |
额外逗号分隔的操作名称,除会话白名单外还会自动批准. |
timeout_secs |
integer | — | 300 |
等待自动拒绝前的秒数,无响应时(默认 300). |
输出
| 字段 | 类型 | 说明 |
|---|---|---|
approved |
boolean | 操作是否被批准可以继续 |
approved_out |
boolean | 仅在批准授予时发出的运行时条件布尔值. |
outcome |
enum | 详细的审批结果. 取值:approved (User approved the action (or a whitelist rule matched).), rejected (User rejected the action.), skipped (User asked to skip this action and return feedback.), timed_out (No response was received within the timeout window.) |
whitelist_hit |
boolean | 操作是否通过白名单自动批准. |
scope |
string | 用户授予的范围. |
reason |
string | 用户提供的理由或反馈. |
request_id |
string | 标识此审批请求的 UUID. |
内容预览 — utils/preview
在预览窗口中显示输出结果,支持格式化和统计
输入
| 字段 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
data |
any | — | — | 要预览的数据 |
context |
any | — | — | 来自 Chat 节点的上下文 |
artifact |
object (端口) | — | — | 要预览的工件(仅元信息). 连接端口,不是表单字段。 |
artifacts |
object (端口) | — | [] |
要预览的工件列表(仅元信息). 连接端口,不是表单字段。 |
artifactUri |
string | — | — | 要预览的 artifact:// URI |
currentPage |
integer | — | 1 |
当前页码. 控件:number |
displayFormat |
enum | — | raw |
选择预览显示格式. 控件:select. 取值:raw (原始格式), json (JSON 格式化), table (表格视图), codeblock (代码块格式), assistantmessage (提取助手消息) |
pageLength |
integer | — | 1000 |
每页字符数;较短的内容直接显示,较长的内容分页. 控件:number |
showStats |
boolean | — | true |
是否显示字符数,行数等统计信息. 控件:switch |
输出
| 字段 | 类型 | 说明 |
|---|---|---|
original_data |
any | 原始输入数据 |
preview_content |
string | 格式化后的预览内容 |
statistics |
string | 数据统计 |
pagination |
string | 分页信息(内容需要分页时提供) |
下一步
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END

暂无评论内容