内置基础节点完整目录
SDK 1.6 的 164 个核心动作节点。由核心能力声明生成;所有动作还带执行输入与声明的执行输出。另有间隔、每日、文件变化、工作流完成四个系统触发节点。
使用教程、类型规则、C# 关键词对应和导入示例见基础节点。通过节点库分类、中文名称、方法名或下表能力 ID 搜索。
比较与布尔(13)
| 节点与能力 ID | 输入 | 输出 | 用途 |
|---|---|---|---|
不等比较core.compare.ne |
left Any · 左值right Any · 右值ignoreCase Boolean · 文本忽略大小写 |
value Boolean · 结果 |
C# == != > >= < <=;相等比较保留类型,对象与数组按 JSON 深度比较;大小比较只接受同为数字或同为文本(序号比较)。 |
布尔非core.boolean.not |
left Boolean · 布尔值 |
value Boolean · 结果 |
C# && || ^ !;输入必须为布尔值,输出可连到系统条件分支。已执行的上游节点不会因短路而跳过。 |
布尔或core.boolean.or |
left Boolean · 左值right Boolean · 右值 |
value Boolean · 结果 |
C# && || ^ !;输入必须为布尔值,输出可连到系统条件分支。已执行的上游节点不会因短路而跳过。 |
布尔全部成立core.boolean.all |
items Array · 数组 |
value Boolean · 结果 |
Enumerable.All / Any;数组每项必须为布尔值;空数组 all 为 true、any 为 false。 |
布尔任意成立core.boolean.any |
items Array · 数组 |
value Boolean · 结果 |
Enumerable.All / Any;数组每项必须为布尔值;空数组 all 为 true、any 为 false。 |
布尔异或core.boolean.xor |
left Boolean · 左值right Boolean · 右值 |
value Boolean · 结果 |
C# && || ^ !;输入必须为布尔值,输出可连到系统条件分支。已执行的上游节点不会因短路而跳过。 |
布尔与core.boolean.and |
left Boolean · 左值right Boolean · 右值 |
value Boolean · 结果 |
C# && || ^ !;输入必须为布尔值,输出可连到系统条件分支。已执行的上游节点不会因短路而跳过。 |
大于比较core.compare.gt |
left Any · 左值right Any · 右值ignoreCase Boolean · 文本忽略大小写 |
value Boolean · 结果 |
C# == != > >= < <=;相等比较保留类型,对象与数组按 JSON 深度比较;大小比较只接受同为数字或同为文本(序号比较)。 |
大于等于比较core.compare.gte |
left Any · 左值right Any · 右值ignoreCase Boolean · 文本忽略大小写 |
value Boolean · 结果 |
C# == != > >= < <=;相等比较保留类型,对象与数组按 JSON 深度比较;大小比较只接受同为数字或同为文本(序号比较)。 |
条件选择值core.value.select |
condition Boolean · 条件whenTrue Any · 成立值whenFalse Any · 不成立值 |
value Any · 结果 |
C# ?:;condition 成立返回 whenTrue,否则返回 whenFalse。只选择已经得到的值,执行分支请使用条件分支节点。 |
相等比较core.compare.eq |
left Any · 左值right Any · 右值ignoreCase Boolean · 文本忽略大小写 |
value Boolean · 结果 |
C# == != > >= < <=;相等比较保留类型,对象与数组按 JSON 深度比较;大小比较只接受同为数字或同为文本(序号比较)。 |
小于比较core.compare.lt |
left Any · 左值right Any · 右值ignoreCase Boolean · 文本忽略大小写 |
value Boolean · 结果 |
C# == != > >= < <=;相等比较保留类型,对象与数组按 JSON 深度比较;大小比较只接受同为数字或同为文本(序号比较)。 |
小于等于比较core.compare.lte |
left Any · 左值right Any · 右值ignoreCase Boolean · 文本忽略大小写 |
value Boolean · 结果 |
C# == != > >= < <=;相等比较保留类型,对象与数组按 JSON 深度比较;大小比较只接受同为数字或同为文本(序号比较)。 |
编码与标识(10)
| 节点与能力 ID | 输入 | 输出 | 用途 |
|---|---|---|---|
计算文本摘要core.encoding.hash |
value String · 原文algorithm String · 算法 |
value String · 结果 |
SHA256 / SHA512 / SHA1 / MD5;按 UTF-8 计算小写十六进制摘要,默认 SHA256。 |
生成 GUIDcore.value.guid |
format String · 格式 |
value String · 结果 |
Guid.NewGuid;format 使用 D(带短横线)、N(不带)、B(花括号)、P(括号)。 |
十六进制编码core.encoding.hexEncode |
value String · 原文 |
value String · 结果 |
Convert.ToHexString;将 UTF-8 文本编码为大写十六进制。 |
十六进制解码core.encoding.hexDecode |
value String · 十六进制文本 |
value String · 结果 |
Convert.FromHexString;将十六进制解码为 UTF-8 文本,无效输入报错。 |
Base64 编码core.encoding.base64Encode |
value String · 原文 |
value String · 结果 |
Convert.ToBase64String;按 UTF-8 编码,不进行加密。 |
Base64 解码core.encoding.base64Decode |
value String · Base64 文本 |
value String · 结果 |
Convert.FromBase64String;将 Base64 解码为 UTF-8 文本,无效编码报错。 |
HTML 编码core.encoding.htmlEncode |
value String · 原文 |
value String · 结果 |
WebUtility.HtmlEncode;显式转义 HTML 特殊字符。 |
HTML 解码core.encoding.htmlDecode |
value String · 实体文本 |
value String · 结果 |
WebUtility.HtmlDecode;显式解码 HTML 实体。 |
URL 参数编码core.encoding.urlEncode |
value String · 参数原文 |
value String · 结果 |
Uri.EscapeDataString;编码一个 URL 参数值,不编码整条 URL。 |
URL 参数解码core.encoding.urlDecode |
value String · 编码文本 |
value String · 结果 |
Uri.UnescapeDataString;解码百分号编码,+ 保留为 +。 |
变量与数据(11)
| 节点与能力 ID | 输入 | 输出 | 用途 |
|---|---|---|---|
变量递增递减core.variable.increment |
name String · 变量名amount Number · 增量 |
value Number · 更新后的数字 |
C# ++ -- += -=;按 amount 更新数字变量(负数为递减),不存在从 0 开始;非数字报错。并行分支变量隔离。 |
布尔常量core.value.boolean |
value Boolean · 常量 |
value Boolean · 结果 |
const / new / null;输出指定的字面值,不解析变量或表达式,不修改原文。 |
读取变量core.variable.get |
name String · 变量名 |
value Any · 变量值found Boolean · 变量存在 |
读取当前作用域变量,输出 value 与 found;不存在返回 null、false。循环 body 共享顺序变量,并行分支与子工作流隔离。 |
读取对象字段core.object.get |
value Any · 对象 / 数组path String · 字段路径 |
value Any · 字段值found Boolean · 字段存在 |
按字段路径读取对象或数组,通过连线输出字段值与是否存在,不需要在消息中填写表达式。字段名区分大小写,不修改源对象。 |
对象常量core.value.object |
value Object · 常量 |
value Object · 结果 |
const / new / null;输出指定的字面值,不解析变量或表达式,不修改原文。 |
空值常量core.value.null |
无 | value Any · 结果 |
const / new / null;输出指定的字面值,不解析变量或表达式,不修改原文。 |
删除变量core.variable.remove |
name String · 变量名 |
removed Boolean · 是否删除 |
移除当前作用域变量,返回是否存在并删除,不修改流程输入。 |
设置变量core.set |
name String · 变量名value Any · 值 |
value Any · 值 |
设置变量;详见工作流与运行说明。 |
数字常量core.value.number |
value Number · 常量 |
value Number · 结果 |
const / new / null;输出指定的字面值,不解析变量或表达式,不修改原文。 |
数组常量core.value.array |
value Array · 常量 |
value Array · 结果 |
const / new / null;输出指定的字面值,不解析变量或表达式,不修改原文。 |
文本常量core.value.text |
value String · 文本 |
value String · 结果 |
const / new / null;输出指定的字面值,不解析变量或表达式,不修改原文。 |
代码(1)
| 节点与能力 ID | 输入 | 输出 | 用途 |
|---|---|---|---|
C# 代码core.csharp |
inputs Object · 输入 |
result Object · 结果 |
C# 代码;详见工作流与运行说明。 |
对象与 JSON(14)
| 节点与能力 ID | 输入 | 输出 | 用途 |
|---|---|---|---|
从键值对创建对象core.object.fromEntries |
entries Array · 键值对数组 |
value Object · 结果 |
将 [{key,value}] 转换为对象;key 必须为文本,同名字段报错,保留 null。 |
从数组创建对象core.object.fromPairs |
keys Array · 字段名数组values Array · 字段值数组 |
value Object · 结果 |
将 keys 文本数组与 values 数组逐项对应生成对象。长度必须相等,字段名重复时报错。 |
对象键值对数组core.object.entries |
value Object · 对象 |
value Array · 结果 |
Dictionary.Keys / Values / KeyValuePair;按字段原有顺序输出,entries 每项为 {key,value}。 |
对象字段存在判断core.object.has |
value Object · 对象path String · 字段路径 |
value Boolean · 结果 |
ContainsKey;支持点路径与 JSON Pointer。字段存在且为 null 也返回 true。 |
对象字段名数组core.object.keys |
value Object · 对象 |
value Array · 结果 |
Dictionary.Keys / Values / KeyValuePair;按字段原有顺序输出,entries 每项为 {key,value}。 |
对象字段数量core.object.count |
value Object · 对象 |
value Number · 结果 |
Dictionary.Count;对象的顶层字段数量。 |
对象字段值数组core.object.values |
value Object · 对象 |
value Array · 结果 |
Dictionary.Keys / Values / KeyValuePair;按字段原有顺序输出,entries 每项为 {key,value}。 |
复制数据core.value.clone |
value Any · 值 |
value Any · 结果 |
DeepClone;深度复制任意 JSON 值,保留类型、中文、表情和字面表达式对象。 |
格式化 JSON 文本core.json.stringify |
value Any · 值indent Boolean · 缩进 |
value String · 结果 |
序列化为 JSON,indent 可切换紧凑与缩进形式,完整显示中文与表情,字符串引号和控制字符按 JSON 规则转义。 |
合并对象core.object.merge |
left Object · 左对象right Object · 右对象overwrite Boolean · 覆盖同名字段 |
value Object · 结果 |
浅合并两个对象;overwrite=true 时右侧覆盖同名字段,否则保留左侧。嵌套对象整体作为一个字段,返回新对象。 |
解析任意 JSONcore.json.parse |
value String · JSON 文本 |
value Any · 结果 |
JsonNode.Parse;显式把 JSON 文本解析为对象、数组、数字、布尔、文本或 null。结构化输出连接具体类型前使用类型转换。 |
删除对象字段core.object.remove |
value Object · 对象key String · 字段名 |
value Object · 结果removed Boolean · 是否删除 |
Dictionary.Remove;删除顶层完整字段名,返回新对象与是否删除。 |
设置对象字段core.object.set |
value Object · 对象key String · 字段名field Any · 字段值 |
value Object · 结果 |
obj[key] = value;key 是完整字段名(点和斜杠按原文),返回新对象,不修改来源。创建或替换字段,null 也可存入。 |
选择对象字段core.object.pick |
value Object · 对象keys Array · 字段名数组 |
value Object · 结果 |
从对象复制 keys 数组指定的顶层完整字段名,缺失字段略过,重复名称只保留一次。 |
基础操作(1)
| 节点与能力 ID | 输入 | 输出 | 用途 |
|---|---|---|---|
等待core.delay |
milliseconds Number · 毫秒 |
无 | 等待;详见工作流与运行说明。 |
类型判断(4)
| 节点与能力 ID | 输入 | 输出 | 用途 |
|---|---|---|---|
读取值类型core.value.type |
value Any · 值 |
value String · 结果 |
GetType / typeof;输出 null、string、number、boolean、object 或 array,类型名称不包含插件的名义类型。 |
空值回退core.value.coalesce |
value Any · 值fallback Any · 回退值 |
value Any · 结果 |
C# ??;value 为 null 时使用 fallback,空字符串、false 和 0 保留。 |
空值判断core.value.isNull |
value Any · 值 |
value Boolean · 结果 |
C# is null;只把 null 视为空,空字符串、false、0 和空数组均不等于 null。 |
类型判断core.value.is |
value Any · 值type String · 类型 |
value Boolean · 结果 |
C# is;判断值的 JSON 类型,保持原始类型,不隐式解析数字或 JSON 文本。 |
类型转换(6)
| 节点与能力 ID | 输入 | 输出 | 用途 |
|---|---|---|---|
序列化为 JSON 文本core.convert.json |
value Any · 待转换值 |
value String · 转换结果 |
将任意值序列化为 JSON 文本,保留引号、转义和空值。 |
转换为布尔core.convert.boolean |
value Any · 待转换值 |
value Boolean · 转换结果 |
接受 true / false、数字 1 / 0 及对应文本;其他值报错。 |
转换为对象 / 解析 JSONcore.convert.object |
value Any · 待转换值 |
value Object · 转换结果 |
解析 JSON 对象文本,或将结构化值复制为普通对象;不创建有效的插件消息引用。 |
转换为数字core.convert.number |
value Any · 待转换值 |
value Number · 转换结果 |
解析数字或数字文本,使用小数点格式;无效文本、空值和非有限数字会报错。 |
转换为数组 / 解析 JSONcore.convert.array |
value Any · 待转换值 |
value Array · 转换结果 |
解析 JSON 数组文本,或复制数组;其他类型报错。 |
转换为文本core.convert.string |
value Any · 待转换值 |
value String · 转换结果 |
将数字、布尔或结构化数据转换为文本;对象和数组使用 JSON 文本。 |
流程(3)
| 节点与能力 ID | 输入 | 输出 | 用途 |
|---|---|---|---|
调用工作流core.subworkflow |
workflowId String · 工作流 IDinputs Object · 输入 |
result Object · 结果 |
调用工作流;详见工作流与运行说明。 |
结束core.end |
result Any · 结果 |
无 | 结束;详见工作流与运行说明。 |
开始core.start |
无 | inputs Object · 流程输入 |
开始;详见工作流与运行说明。 |
路径操作(4)
| 节点与能力 ID | 输入 | 输出 | 用途 |
|---|---|---|---|
读取路径组成core.path.parts |
value String · 路径 |
fileName String · 文件名name String · 不含扩展名extension String · 扩展名directory String · 目录 |
Path.GetFileName / GetExtension / GetDirectoryName;只分析路径文本,不读取文件。 |
获取绝对路径core.path.full |
value String · 路径basePath String · 绝对基础路径(可空) |
value String · 结果 |
Path.GetFullPath;basePath 留空使用 Runner 工作目录,也可指定绝对基础路径。只处理路径文本。 |
拼接文件路径core.path.combine |
left String · 基础路径right String · 子路径 |
value String · 结果 |
Path.Combine;按 Runner 的操作系统规则拼接两个路径。第二段为绝对路径时会替换第一段。 |
修改路径扩展名core.path.changeExtension |
value String · 路径extension String · 新扩展名 |
value String · 结果 |
Path.ChangeExtension;修改路径文本的扩展名,不重命名实际文件;扩展名留空时移除扩展名。 |
逻辑控制(15)
| 节点与能力 ID | 输入 | 输出 | 用途 |
|---|---|---|---|
遍历集合core.foreach |
items Array · 集合itemName String · 元素变量 |
results Array · 迭代结果 |
遍历集合;详见工作流与运行说明。 |
并行执行core.parallel |
无 | branches Object · 分支结果 |
并行执行;详见工作流与运行说明。 |
当前循环项core.foreach.current |
无 | item Any · 当前项index Number · 序号 |
放在遍历集合、计数循环、重复执行或条件循环的 body 子图中,通过 item 和 index 输出连接当前元素与序号。计数循环 item 为当前数值,重复执行与条件循环 item 为序号。嵌套读取最近一层,退出内层后恢复外层。 |
当前异常core.error.current |
无 | message String · 错误消息nodeId String · 错误节点 IDtype String · 异常类型 |
catch;仅在 catch 子图中读取最近一次捕获的异常,可将 message 连到输出日志或通知。 |
多路选择core.switch |
value Any · 选择值cases Array · 分支名称 |
无 | 多路选择;详见工作流与运行说明。 |
汇合core.join |
无 | 无 | 汇合;详见工作流与运行说明。 |
计数循环core.for |
start Number · 起始值count Number · 次数step Number · 步长 |
results Array · 迭代结果 |
for;执行 count 次,当前循环项为 start + index * step,序号从 0 开始。支持负步长与空循环,body 使用当前循环项节点。 |
继续下一次循环core.continue |
无 | 无 | continue;略过本次 body 剩余步骤,进入最近一层循环的下一项;finally 子图照常执行。 |
抛出异常core.throw |
message String · 错误消息 |
无 | throw;主动抛出 message,可由异常处理节点的 catch 子图捕获;取消与循环控制不会作为普通异常捕获。 |
条件分支core.if |
left Any · 左值operator String · 比较right Any · 右值normalizeText Boolean · 忽略空白与全半角差异ignoreCase Boolean · 忽略大小写conditions Array · 条件组(可选 JSON)matchAll Boolean · 条件组全部成立 |
matched Boolean · 条件成立branch String · 匹配结果 |
条件分支;详见工作流与运行说明。 |
条件循环core.while |
left Any · 左值operator String · 比较right Any · 右值normalizeText Boolean · 忽略空白与全半角差异ignoreCase Boolean · 忽略大小写conditions Array · 条件组(可选 JSON)matchAll Boolean · 条件组全部成立maxIterations Number · 最大次数 |
无 | while;先判断再执行 body。可选 condition 子图使用读取变量、比较等节点,并将布尔结果连到该子图结束节点的 result,每轮重新判断;未添加 condition 子图时使用上方条件。 |
跳出循环core.break |
无 | 无 | break;结束最近一层循环并继续循环后的步骤,finally 子图照常执行。不能跨独立工作流或并行分支控制外层循环。 |
先执行后判断循环core.doWhile |
left Any · 左值operator String · 比较right Any · 右值normalizeText Boolean · 忽略空白与全半角差异ignoreCase Boolean · 忽略大小写conditions Array · 条件组(可选 JSON)matchAll Boolean · 条件组全部成立maxIterations Number · 最大次数 |
无 | do while;至少执行一次 body,再判断条件。可选 condition 子图的结束 result 必须为布尔值,每轮重算;未添加时使用上方条件。 |
异常处理core.try |
无 | result Object · 结果 |
异常处理;详见工作流与运行说明。 |
重复执行core.repeat |
count Number · 次数 |
results Array · 迭代结果 |
for;重复 count 次,body 使用当前循环项读取从 0 开始的序号,次数为 0 时不执行。 |
日期与时间(10)
| 节点与能力 ID | 输入 | 输出 | 用途 |
|---|---|---|---|
比较日期时间core.date.compare |
left String · 左时间right String · 右时间 |
value Number · 结果 |
DateTimeOffset.Compare;按时间线比较,早于返回 -1、相同瞬间 0、晚于 1。 |
当前时间core.date.now |
utc Boolean · 使用 UTC |
value String · 结果timestamp Number · Unix 毫秒 |
DateTimeOffset.Now / UtcNow;输出带时区的 ISO 8601 文本和 Unix 毫秒时间戳,时间戳始终指同一瞬间。 |
读取日期组成core.date.parts |
value String · 日期时间 |
year Number · 年month Number · 月day Number · 日hour Number · 时minute Number · 分second Number · 秒dayOfWeek Number · 星期 |
Year / Month / Day / Hour / Minute / Second / DayOfWeek;按输入时区读取,dayOfWeek 为 0(日)~6(六)。 |
格式化日期时间core.date.format |
value String · 日期时间format String · 输出格式 |
value String · 结果 |
DateTimeOffset.ToString;使用固定文化格式,例如 yyyy-MM-dd HH:mm:ss、O、yyyyMMdd,保留输入时区。 |
解析日期时间core.date.parse |
value String · 日期文本format String · 输入格式(可空) |
value String · 结果timestamp Number · Unix 毫秒 |
DateTimeOffset.ParseExact;format 留空解析标准日期文本。未带时区的值按 UTC 解析,可在 timeZone 节点显式转换。 |
日期时间差core.date.difference |
start String · 开始时间end String · 结束时间unit String · 单位 |
value Number · 结果 |
DateTimeOffset 相减 / TimeSpan.Total;计算 end-start,跨时区比较同一 UTC 时间线,输出可为负数。 |
日期时间加减core.date.add |
value String · 日期时间amount Number · 增量unit String · 单位 |
value String · 结果 |
AddYears / AddMonths / AddDays / AddHours;amount 可为负数,years/months 必须为整数。 |
日期转时间戳core.date.timestamp |
value String · 日期时间unit String · 精度 |
value Number · 结果 |
ToUnixTimeSeconds / ToUnixTimeMilliseconds;转换为自 1970-01-01T00:00:00Z 起的整数。 |
时间戳转日期core.date.fromTimestamp |
value Number · Unix 时间戳unit String · 精度 |
value String · 结果 |
FromUnixTimeSeconds / FromUnixTimeMilliseconds;返回 UTC ISO 8601 文本。 |
转换时区core.date.timeZone |
value String · 日期时间zone String · 目标时区 |
value String · 结果 |
TimeZoneInfo.ConvertTime;zone 可以是 UTC、local、Windows 时区 ID 或 IANA 时区 ID,例如 Asia/Shanghai。 |
日志操作(2)
| 节点与能力 ID | 输入 | 输出 | 用途 |
|---|---|---|---|
导出运行日志core.log.export |
path String · 日志文件format String · 文件格式append Boolean · 追加到文件(仅 log) |
path String · 已导出文件count Number · 导出日志条数 |
将本次运行截至当前节点的 XFE 日志导出为 UTF-8 文本或 JSON,包含工作流、节点与运行来源,自动隐藏托管凭据。覆盖写入,或选择追加文本日志;后续步骤和最终完成状态不在本次快照中。 |
输出日志core.log |
message Any · 消息 |
无 | 输出日志;详见工作流与运行说明。 |
数学运算(21)
| 节点与能力 ID | 输入 | 输出 | 用途 |
|---|---|---|---|
乘法core.math.multiply |
left Number · 左数right Number · 右数 |
value Number · 结果 |
C# *;decimal 相乘。 |
乘方core.math.power |
left Number · 底数right Number · 指数 |
value Number · 结果 |
Math.Pow;double 运算,非有限结果报错。 |
除法core.math.divide |
left Number · 左数right Number · 右数 |
value Number · 结果 |
C# /;保留小数,除数为 0 报错。需要整数部分可再连接截断节点。 |
格式化数字core.math.format |
value Number · 数字format String · 格式 |
value String · 结果 |
decimal.ToString;使用 InvariantCulture,例如 F2、0.00、N0、P1,不受系统语言影响。 |
加法core.math.add |
left Number · 左数right Number · 右数 |
value Number · 结果 |
C# +;decimal 精确十进制相加,溢出时报错。 |
减法core.math.subtract |
left Number · 左数right Number · 右数 |
value Number · 结果 |
C# -;decimal 相减。 |
截断小数core.math.truncate |
value Number · 数字 |
value Number · 结果 |
Math.Truncate;向 0 方向取整。 |
绝对值core.math.abs |
value Number · 数字 |
value Number · 结果 |
Math.Abs;取数字绝对值。 |
两数最大值core.math.max |
left Number · 左数right Number · 右数 |
value Number · 结果 |
Math.Max;比较两个数字。 |
两数最小值core.math.min |
left Number · 左数right Number · 右数 |
value Number · 结果 |
Math.Min;比较两个数字。 |
取相反数core.math.negate |
value Number · 数字 |
value Number · 结果 |
C# 一元 -;取相反数。 |
取余core.math.modulo |
left Number · 左数right Number · 右数 |
value Number · 结果 |
C# %;取余结果符号跟随左数,除数为 0 报错。 |
数学函数core.math.function |
value Number · 数字function String · 函数 |
value Number · 结果 |
Math;sqrt、log、log10、exp、sin、cos、tan、asin、acos、atan,三角函数使用弧度。无效定义域或非有限结果报错。 |
数字符号core.math.sign |
value Number · 数字 |
value Number · 结果 |
Math.Sign;负数 -1、零 0、正数 1。 |
数字数组统计core.math.aggregate |
items Array · 数组 |
count Number · 数量sum Number · 总和average Any · 平均值或空值min Any · 最小值或空值max Any · 最大值或空值 |
Enumerable Sum / Average / Min / Max;数组成员必须为数字,空数组 count/sum 为 0,min/max/average 为 null。 |
四舍五入core.math.round |
value Number · 数字digits Number · 小数位数mode String · 中点规则 |
value Number · 结果 |
Math.Round;可选择 awayFromZero(中点远离零)或 toEven(银行家舍入),digits 为 0~28。 |
随机数core.math.random |
min Number · 最小值max Number · 上限(不含)mode String · 类型 |
value Number · 结果 |
Random.Shared;integer 模式为 [min,max) 整数;fraction 模式为 [min,max) 小数,min 必须小于 max。 |
限制数值范围core.math.clamp |
value Number · 数字min Number · 最小值max Number · 最大值 |
value Number · 结果 |
Math.Clamp;把数字限制在包含两端的最小值与最大值之间。 |
向上取整core.math.ceiling |
value Number · 数字 |
value Number · 结果 |
Math.Ceiling;向正无穷方向取整。 |
向下取整core.math.floor |
value Number · 数字 |
value Number · 结果 |
Math.Floor;向负无穷方向取整。 |
整数位运算core.math.bitwise |
left Number · 左整数right Number · 右整数 / 移位位数operator String · 运算 |
value Number · 结果 |
C# & | ^ ~ << >>;64 位有符号整数运算,shift 为 0~63,右移保留符号。 |
数组与集合(26)
| 节点与能力 ID | 输入 | 输出 | 用途 |
|---|---|---|---|
插入数组项core.array.insert |
items Array · 数组index Number · 插入索引value Any · 值 |
value Array · 结果 |
List.Insert;可插入到数组末尾;返回新数组,不修改源数组。 |
查找数组匹配项core.array.find |
items Array · 数组path String · 比较字段路径(空为原值)operator String · 比较right Any · 比较值 / 候选数组ignoreCase Boolean · 文本忽略大小写 |
value Any · 结果index Number · 索引found Boolean · 是否找到 |
FirstOrDefault / FindIndex;使用同样的字段条件查找首个匹配项,未找到 value=null、index=-1。 |
查找数组项位置core.array.indexOf |
items Array · 数组value Any · 值 |
index Number · 索引found Boolean · 是否找到 |
List.IndexOf;按 JSON 深度相等查找首项,未找到 index=-1、found=false。 |
创建数字序列core.array.range |
start Number · 起始值count Number · 项数step Number · 步长 |
value Array · 结果 |
Enumerable.Range / for;生成 start + index * step,count 为非负整数,step 可以为负数;返回新数组,不修改源数组。 |
读取数组项core.array.get |
items Array · 数组index Number · 索引 |
value Any · 结果found Boolean · 索引存在 |
items[index];index 从 0 开始,越界返回 found=false、value=null;存在的 null 项 found=true。 |
反转数组core.array.reverse |
items Array · 数组 |
value Array · 结果 |
Enumerable.Reverse;反转项目顺序;返回新数组,不修改源数组。 |
分批数组core.array.chunk |
items Array · 数组size Number · 每批项数 |
value Array · 结果 |
Enumerable.Chunk;每批 size 项,最后一批可以不足;返回新数组,不修改源数组。 |
合并数组core.array.concat |
left Array · 左数组right Array · 右数组 |
value Array · 结果 |
Enumerable.Concat;左数组在前,右数组在后,不去重;返回新数组,不修改源数组。 |
截取数组core.array.slice |
items Array · 数组start Number · 起始索引length Number · 长度(-1 到末尾) |
value Array · 结果 |
Range / Skip / Take;start 从 0 开始,length=-1 取到末尾;越界报错;返回新数组,不修改源数组。 |
配对数组core.array.zip |
left Array · 左数组right Array · 右数组 |
value Array · 结果 |
Enumerable.Zip;将两个数组配为 [左项,右项],结果长度取较短数组;返回新数组,不修改源数组。 |
筛选数组core.array.filter |
items Array · 数组path String · 比较字段路径(空为原值)operator String · 比较right Any · 比较值 / 候选数组ignoreCase Boolean · 文本忽略大小写 |
value Array · 结果 |
Enumerable.Where;path 指定字段,operator 指定条件。in / notIn 的 right 为候选数组;字段缺失视为 null;返回新数组,不修改源数组。 |
删除数组项core.array.remove |
items Array · 数组index Number · 起始索引count Number · 删除项数 |
value Array · 结果 |
RemoveAt / RemoveRange;从 index 删除 count 项,越界报错;返回新数组,不修改源数组。 |
数组包含core.array.contains |
items Array · 数组value Any · 值 |
value Boolean · 结果 |
Enumerable.Contains;按 JSON 深度相等匹配,保留数据类型,文本 1 不等于数字 1。 |
数组并集core.array.union |
left Array · 左数组right Array · 右数组 |
value Array · 结果 |
Enumerable.Union / Intersect / Except;JSON 深度相等,去重并保留首次出现顺序;返回新数组,不修改源数组。 |
数组差集core.array.except |
left Array · 左数组right Array · 右数组 |
value Array · 结果 |
Enumerable.Union / Intersect / Except;JSON 深度相等,去重并保留首次出现顺序;返回新数组,不修改源数组。 |
数组分组core.array.groupBy |
items Array · 数组path String · 分组字段路径(空为原值) |
value Array · 结果 |
Enumerable.GroupBy;按 path 字段的 JSON 值分组,输出 [{key,items}],保留首次分组及项的顺序;空 path 使用原项;返回新数组,不修改源数组。 |
数组交集core.array.intersect |
left Array · 左数组right Array · 右数组 |
value Array · 结果 |
Enumerable.Union / Intersect / Except;JSON 深度相等,去重并保留首次出现顺序;返回新数组,不修改源数组。 |
数组排序core.array.sort |
items Array · 数组path String · 排序字段路径(空为原值)descending Boolean · 降序ignoreCase Boolean · 文本忽略大小写 |
value Array · 结果 |
OrderBy / OrderByDescending;空 path 排序原值,path 可读取对象字段。只比较同为数字或同为文本,null 在升序时排最前;稳定排序;返回新数组,不修改源数组。 |
数组前插一项core.array.prepend |
items Array · 数组value Any · 值 |
value Array · 结果 |
Prepend;在数组开头插入,嵌套数组保持为一项;返回新数组,不修改源数组。 |
数组去重core.array.distinct |
items Array · 数组 |
value Array · 结果 |
Enumerable.Distinct;按 JSON 深度相等去重,保留首次出现顺序,对象字段顺序不影响相等;返回新数组,不修改源数组。 |
数组长度core.array.length |
items Array · 数组 |
value Number · 结果 |
Count / Length;数组项数,空数组为 0。 |
数组追加一项core.array.append |
items Array · 数组value Any · 值 |
value Array · 结果 |
List.Add / Append;在数组末尾追加,嵌套数组保持为一项;返回新数组,不修改源数组。 |
提取数组字段core.array.mapField |
items Array · 数组path String · 字段路径skipMissing Boolean · 略过缺失字段 |
value Array · 结果 |
Enumerable.Select;逐项读取 path 字段形成数组。空 path 复制原项,可选择略过缺失字段;存在的 null 字段保留;返回新数组,不修改源数组。 |
替换数组项core.array.set |
items Array · 数组index Number · 索引value Any · 值 |
value Array · 结果 |
items[index] = value;索引必须已存在;返回新数组,不修改源数组。 |
展开嵌套数组core.array.flatten |
items Array · 数组 |
value Array · 结果 |
SelectMany;只展开一层,非数组项与 null 原样保留;返回新数组,不修改源数组。 |
组合数组core.array.pack |
first Any · 第一项second Any · 第二项third Any · 第三项count Number · 项数 |
value Array · 结果 |
将通过连线输入的 first、second、third 组成数组;count 选择 1~3 项,包含 null;返回新数组,不修改源数组。 |
文本操作(23)
| 节点与能力 ID | 输入 | 输出 | 用途 |
|---|---|---|---|
按行拆分文本core.text.lines |
value String · 原文removeEmpty Boolean · 移除空行 |
value Array · 结果 |
ReadLine / Split;同时识别 CRLF、LF、CR,默认保留空行。 |
插入文本core.text.insert |
value String · 原文index Number · 插入位置text String · 插入内容 |
value String · 结果 |
string.Insert;index 按完整 Unicode 字符计数,从 0 开始,可在末尾插入。 |
查找文本位置core.text.indexOf |
value String · 原文text String · 查找文本ignoreCase Boolean · 忽略大小写fromEnd Boolean · 从后查找 |
index Number · 位置(UTF-16)found Boolean · 是否找到 |
IndexOf / LastIndexOf;输出从 0 开始的 UTF-16 索引,未找到为 -1。与截取文本的 utf16 单位联用。 |
拆分文本core.text.split |
value String · 原文separator String · 分隔符removeEmpty Boolean · 移除空项trimEntries Boolean · 去除各项两侧空白 |
value Array · 结果 |
string.Split;按完整分隔符拆分,默认保留空项。分隔符留空时按完整 Unicode 字符拆分(不拆开组合表情)。 |
格式化文本core.text.format |
format String · 格式arguments Array · 格式参数 |
value String · 结果 |
string.Format;只有这个节点显式处理 {0}、{1:F2} 等占位符。arguments 为参数数组;普通文本输入不会插值。 |
规范化 Unicode 文本core.text.normalize |
value String · 原文form String · 规范形式 |
value String · 结果 |
string.Normalize;仅在明确添加此节点时进行 Unicode 规范化,FormKC 可用于全半角统一。 |
截取文本core.text.substring |
value String · 原文start Number · 起始位置length Number · 长度(-1 到末尾)unit String · 索引单位 |
value String · 结果 |
Substring / Range;start 从 0 开始,length 为 -1 表示取到末尾。默认按完整 Unicode 字符,utf16 模式对应 C# 索引。 |
连接文本数组core.text.join |
items Array · 数组separator String · 分隔符 |
value String · 结果 |
string.Join;将文本数组按分隔符连接。数组成员必须是文本,其他类型先显式转换。 |
去除首尾空白core.text.trim |
value String · 原文mode String · 位置 |
value String · 结果 |
Trim / TrimStart / TrimEnd;只在这个节点明确删除首尾空白,不修改内部内容。 |
删除文本片段core.text.remove |
value String · 原文start Number · 起始位置length Number · 长度(-1 到末尾) |
value String · 结果 |
string.Remove;按完整 Unicode 字符删除,length 为 -1 表示删至末尾。 |
替换文本core.text.replace |
value String · 原文old String · 查找文本replacement String · 替换文本ignoreCase Boolean · 忽略大小写 |
value String · 结果 |
string.Replace;仅替换明确给出的文本,查找文本不能为空,可忽略大小写。 |
填充文本core.text.pad |
value String · 原文width Number · 总宽度fill String · 填充字符side String · 方向 |
value String · 结果 |
PadLeft / PadRight;width 为完整 Unicode 字符总宽度,fill 必须是一个完整字符,支持表情。 |
文本包含core.text.contains |
value String · 原文text String · 查找文本ignoreCase Boolean · 忽略大小写 |
value Boolean · 结果 |
string.Contains;逐字匹配,返回布尔值,可连到条件分支。 |
文本结尾判断core.text.endsWith |
value String · 原文text String · 查找文本ignoreCase Boolean · 忽略大小写 |
value Boolean · 结果 |
string.EndsWith;判断后缀,默认区分大小写。 |
文本开头判断core.text.startsWith |
value String · 原文text String · 查找文本ignoreCase Boolean · 忽略大小写 |
value Boolean · 结果 |
string.StartsWith;判断前缀,默认区分大小写。 |
文本拼接core.text.concat |
left String · 左文本right String · 右文本separator String · 分隔符 |
value String · 结果 |
string.Concat / +;将左文本、分隔符、右文本顺序拼接。保留全部原文,不插值、不去空白。 |
文本为空判断core.text.isEmpty |
value String · 原文includeWhitespace Boolean · 包含纯空白 |
value Boolean · 结果 |
IsNullOrEmpty / IsNullOrWhiteSpace;空文本返回 true,可选择把纯空白也视为空。 |
文本长度core.text.length |
value String · 原文 |
length Number · 字符数utf16Length Number · UTF-16 长度 |
StringInfo.LengthInTextElements / string.Length;length 计算完整 Unicode 字符,utf16Length 对应 C# Length。 |
正则匹配core.text.regex.match |
value String · 原文pattern String · 正则表达式ignoreCase Boolean · 忽略大小写multiline Boolean · 多行模式 |
matched Boolean · 匹配成功value String · 结果matches Array · 全部匹配count Number · 数量 |
Regex.Matches;输出首个匹配、全部匹配(含命名分组、UTF-16 索引)及数量。单次匹配限制 2 秒,防止异常表达式长期占用。 |
正则替换core.text.regex.replace |
value String · 原文pattern String · 正则表达式replacement String · 替换内容ignoreCase Boolean · 忽略大小写multiline Boolean · 多行模式 |
value String · 结果 |
Regex.Replace;replacement 显式支持 \(1、\) 正则分组。普通消息不会进行这种替换。 |
重复文本core.text.repeat |
value String · 原文count Number · 次数 |
value String · 结果 |
重复指定次数,count 为非负整数;中文、换行和表情均保留。 |
转换大小写core.text.case |
value String · 原文mode String · 方式 |
value String · 结果 |
ToUpperInvariant / ToLowerInvariant;使用固定文化规则。 |
转义正则文本core.text.regex.escape |
value String · 原文 |
value String · 结果 |
Regex.Escape;将文本作为正则中的字面值,避免 . + [ 等符号被解释。 |
目录由 Export-BasicNodeCatalog.ps1 根据验收测试导出的实际运行元数据生成。