跳转到主要内容
函数用于封装可复用的事件转换。打开 函数 可以独立于流水线创建、测试和维护转换逻辑。

查找函数

列表包含组织自己的函数和内置预设。列表头部的三个视图用于缩小范围,每个视图带有数量: 搜索同时匹配函数名称和预设的说明。点击组织自己的函数,即可在工作台中打开。

语言

VRL 与 JavaScript 都运行在 MoleSignal 二进制内部,不需要配置项,也不需要额外安装。 保存函数时,MoleSignal 会验证并编译源代码。无效代码不会成为当前生效版本。 函数工作台提供 VRL 与 JavaScript。LLM 函数属于高级 API 工作流:函数源码是系统指令,事件是模型输入,params_schema.output_field 决定输出字段(默认 _llm_eval)。每个命中的事件都会触发一次模型调用,因此配置项 [functions].llm_eval_enabled 默认保持为 false,参见配置。

内置预设

每个组织都能看到以下只读的 VRL 函数: 预设所在的行带有 内置 标记和说明,说明按当前登录用户的界面语言显示。点击该行可以阅读源码。 预设不能编辑。需要修改时,在该行或预设面板中选择 以此为起点。工作台会打开一个新函数,带上预设的语言和源码,名称为 <预设名>-copy。保存后得到组织自己的函数,预设本身不变。

编写与测试函数

工作台分为三部分:
  • 函数的名称和语言;
  • 源代码,即编辑器,标题旁显示源码的校验状态;
  • 测试运行,包含 JSON 格式的 样例输入 和 样例输出。
选择 运行样例,对样例事件运行编辑器中的源码,不需要先保存。转换后的事件显示在 样例输出 下;运行失败时,该位置显示失败原因。 保存函数 和 取消 位于页面的标题行;已保存的函数还有 删除函数。名称或源码为空时,保存函数 不可用,悬停提示会说明缺少的内容。在编辑器中按 ⌘ Enter 或 Ctrl+Enter 运行样例,按 ⌘S 或 Ctrl+S 保存。 运行器调用 POST /api/v1/functions/run,传入语言、源码和样例事件,并返回转换后的事件:
VRL 示例:

JavaScript 函数

源码对每个事件运行一次。全局对象 molesignal 提供事件和辅助方法:
JavaScript 函数运行在隔离的引擎中,有以下限制:
  • 运行时间超过 50 毫秒会停止,并报 js timeout 50ms。
  • 单个函数的堆内存上限为 32 MiB。
  • 不提供网络访问、定时器和 TextEncoder。

使用函数

在流水线中将函数添加为转换节点。流水线保存有序步骤,并依次将事件传给每个函数。 删除或修改函数可能影响所有引用该函数的流水线。进行不兼容变更前,请先检查使用情况。

权限

  • functions.read 用于列出和打开函数。
  • functions.create 和 functions.edit 用于管理函数定义。
  • functions.run 用于执行样例运行器。
  • functions.delete 用于删除函数定义。

流水线

构建数据源 → 转换 → 目标端工作流。

扩展表

维护用于数据扩展的查询表。
最后修改于 2026年10月13日