|
|
@@ -0,0 +1,1257 @@
|
|
|
+# 极智·智能体开发和应用平台 参考
|
|
|
+
|
|
|
+> 本文件基于对 `https://szrh.cetccity.com:10503/` 平台的实际访问,并配合对前端 JS bundle(`/workflow-web/assets/index-2e3277ca.js`,约 7.4MB)的源码反查,整理出 26 个工作流节点的完整权威 schema(`initialData` 默认值、`outputVariables` 输出结构、`allowedConnections` 连接方向等),供本仓库后续做工作流引擎、节点 schema 等功能时直接对照落地。
|
|
|
+>
|
|
|
+> 探索日期:2026-08-02。节点字段均来自前端注册表 `Y9e` 与各节点面板组件源码,**非推断**。
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## 1. 平台总览
|
|
|
+
|
|
|
+| 项 | 值 |
|
|
|
+| --- | --- |
|
|
|
+| 平台名称 | 极智·智能体开发和应用平台(JIZHI · AGENT DEVELOPMENT AND APPLICATION PLATFORM) |
|
|
|
+| 入口 | `https://szrh.cetccity.com:10503/` |
|
|
|
+| 登录方式 | 手机号 + 密码(亦支持验证码登录) |
|
|
|
+| 主菜单 | 概览、智能体、自动化、数据源、模型、知识库、标签管理、其他管理(标签 / 模型 / 错误模式)、系统管理 |
|
|
|
+| 鉴权 Token | 登录成功后写入 `localStorage["Admin-Token"]`,并伴随 `Admin-Refresh-Token` / `Admin-Token-Expire-At` / `xSessionId` / `cryptKeys` / `cryptConf` 等 |
|
|
|
+| API 前缀 | `/jizhiApi/...`(请求体/响应体使用 `cryptConf` 中协商的密钥做加密,仅传 `Admin-Token` 不足以直接调用业务接口) |
|
|
|
+
|
|
|
+> 注:直接用 `fetch('/jizhiApi/...')` 调用业务接口会返回 `{"msg":"当前请求会话中不存在加密秘钥","code":521}`,需要先在浏览器内由前端 SDK 完成密钥协商。如需调试,请在浏览器控制台中复用前端已发出的请求而不是新造一个。
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## 2. 自动化(Automation)模块
|
|
|
+
|
|
|
+入口:左侧菜单"自动化",对应路由 `/automation`。
|
|
|
+
|
|
|
+### 2.1 列表与创建入口
|
|
|
+
|
|
|
+页面顶部提供两个创建入口:
|
|
|
+
|
|
|
+- **自动创建**:通过自然语言描述生成自动化任务(向导式)。
|
|
|
+- **手动创建**:弹出对话框直接配置。
|
|
|
+
|
|
|
+### 2.2 手动创建对话框字段
|
|
|
+
|
|
|
+打开"手动创建"对话框后,需要填写的字段如下(截图:`automation-manual-create.png`):
|
|
|
+
|
|
|
+| 字段 | 类型 | 是否必填 | 说明 |
|
|
|
+| --- | --- | --- | --- |
|
|
|
+| 任务名称 | 文本 | 是 | 自动化任务的展示名称 |
|
|
|
+| 任务类型 | 单选 | 是 | `Agent` 或 `工作流`,决定后续执行入口 |
|
|
|
+| 目标 | 下拉选择 | 是 | 选择具体的智能体或工作流(依"任务类型"动态过滤) |
|
|
|
+| 模型 | 下拉选择 | 否 | 执行时使用的默认大模型 |
|
|
|
+| 执行计划 | 单选 + 高级 | 是 | `每天` / `每周` / `每月` / `每小时` / `间隔` / `高级`,每种选项会进一步展开时间设置(如每周需选择星期几、每天需选择具体时刻) |
|
|
|
+| 时区 | 下拉选择 | 是 | 默认 `Asia/Shanghai` |
|
|
|
+| 启用 | 开关 | 否 | 创建后是否立即启用 |
|
|
|
+| 文本问题 | 文本域 | 是 | 自动化运行时输入给智能体/工作流的问题内容 |
|
|
|
+| 附件 | 文件上传 | 否 | 上传文件作为输入 |
|
|
|
+
|
|
|
+> "高级"执行计划支持类 cron 表达式配置(具体表达式 UI 未在探索中展开)。
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## 3. 智能体管理(Agent Management)
|
|
|
+
|
|
|
+入口:左侧菜单"智能体",对应路由 `/agent-management`。
|
|
|
+
|
|
|
+## 3.1 智能体创建表单(基础信息)
|
|
|
+
|
|
|
+点击"新增智能体"后弹出对话框,包含两个 Tab:**基础信息** 与 **Agent配置**(仅当应用类型为 Agent 时显示)。
|
|
|
+
|
|
|
+### 基础信息 Tab 字段(截图:`agent-create-form.png`)
|
|
|
+
|
|
|
+| 分组 | 字段 | 类型 | 必填 | 说明 |
|
|
|
+| --- | --- | --- | --- | --- |
|
|
|
+| 基础信息 | 智能体名称 | 文本 | 是 | 显示名称 |
|
|
|
+| 基础信息 | 智能体图标 | 图标选择 | 否 | 20 个内置预设图标 + 自定义上传 |
|
|
|
+| 基础信息 | 应用类型 | 单选 | 是 | `工作流` / `Agent`;切换后会重置后续 Tab |
|
|
|
+| 基础信息 | 排序号 | 数字 | 否 | 在列表中的排序权重 |
|
|
|
+| 基础信息 | 是否启用 | 开关 | 否 | 默认开启 |
|
|
|
+| 工作流(仅工作流类型显示) | 注册为子图 | 开关 | 否 | 开启后该工作流可被其他工作流通过"子图"节点调用 |
|
|
|
+| 分享设置 | 权限类型 | 单选 | 是 | 当前版本仅 `私有` |
|
|
|
+| 分享设置 | 匿名分享 | 开关 | 否 | 关闭(探索期间未开启) |
|
|
|
+| 内容引导 | 开场白 | 文本域 | 否 | 对话开始时显示的欢迎语 |
|
|
|
+| 内容引导 | 功能介绍 | 文本域 | 否 | 智能体能力说明 |
|
|
|
+| 内容引导 | 初始问题 | 列表 | 否 | 推荐问题列表,可多条添加 |
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## 3.2 Agent 类型专属配置(Agent配置 Tab)
|
|
|
+
|
|
|
+应用类型为 `Agent` 时,"基础信息"提交后会出现 **Agent配置** Tab,包含 6 个子 Tab:
|
|
|
+
|
|
|
+### 3.2.1 运行参数(截图:`agent-config-capabilities.png`)
|
|
|
+
|
|
|
+| 字段 | 类型 | 必填 | 说明 |
|
|
|
+| --- | --- | --- | --- |
|
|
|
+| 默认模型 | 下拉选择 | 是 | 下拉列表来自"模型管理"中已配置的模型;可点击"刷新模型"重新拉取 |
|
|
|
+| 多模态补充 | 单选 | 否 | `跟随系统默认` / `开启` / `关闭` |
|
|
|
+| 默认工作路径 | 文本 | 是 | Agent 执行脚本/读写文件时的根目录 |
|
|
|
+| 角色提示词 | 文本域 | 是 | System Prompt,决定 Agent 的角色与行为 |
|
|
|
+| 对话记忆 | 开关 + 子项 | 否 | 启用后可选择"摘要模型" |
|
|
|
+| 长期记忆 | 开关 | 否 | 启用后跨会话保留关键信息 |
|
|
|
+| 子智能体 | 列表 | 否 | 可勾选"综合检索(系统内置)"或选择其他已创建的 Agent |
|
|
|
+
|
|
|
+### 3.2.2 能力 Tab
|
|
|
+
|
|
|
+| 字段 | 类型 | 说明 |
|
|
|
+| --- | --- | --- |
|
|
|
+| 工作流调用 | 开关 | 允许 Agent 调用其他工作流 |
|
|
|
+| 内置浏览器 | 开关 | 启用平台内置浏览器访问网页 |
|
|
|
+| 客户端浏览器 | 开关 | 使用客户端本地浏览器(需客户端配合) |
|
|
|
+| 工具检索 | 开关 | 启用后 Agent 会按需从工具池中检索并调用 |
|
|
|
+
|
|
|
+### 3.2.3 工具 Tab
|
|
|
+
|
|
|
+工具分为两类:
|
|
|
+
|
|
|
+- **内建工具(10 个)**
|
|
|
+ - 搜索类(5):网页搜索、知识库搜索、图片搜索、视频搜索、新闻搜索
|
|
|
+ - 文件类(2):文件读取、文件写入
|
|
|
+ - 数据库类(3):SQL 查询、NoSQL 查询、向量检索
|
|
|
+- **系统工具(13 个)**
|
|
|
+ - 来源:员工考核系统对接的工具集(人事、考勤、绩效等相关接口)
|
|
|
+
|
|
|
+### 3.2.4 技能 Tab
|
|
|
+
|
|
|
+- 技能总开关:开启后 Agent 可使用已注册的技能(Skill)。
|
|
|
+- 技能列表来自系统的"技能管理"模块,每个技能对应一个可独立执行的能力包。
|
|
|
+
|
|
|
+### 3.2.5 MCP Tab
|
|
|
+
|
|
|
+- 探索期间显示"暂无可绑定 MCP 服务"。MCP(Model Context Protocol)服务在系统管理中先注册后才能在此绑定。
|
|
|
+
|
|
|
+### 3.2.6 插件 Tab
|
|
|
+
|
|
|
+5 个内建插件分组:
|
|
|
+
|
|
|
+| 分组 | 插件 |
|
|
|
+| --- | --- |
|
|
|
+| 文档与 Office | Word/Excel/PPT 生成与解析 |
|
|
|
+| 命令执行 | Shell / Python 沙箱命令执行 |
|
|
|
+| 图表 | 柱状图 / 折线图 / 饼图等可视化生成 |
|
|
|
+| 文件 | 文件转换、压缩、解压 |
|
|
|
+| 基础和交互 | 时间、计算器、单位换算、提醒等 |
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## 4. 工作流编排
|
|
|
+
|
|
|
+### 4.1 入口与编排器架构
|
|
|
+
|
|
|
+应用类型为"工作流"的智能体,在卡片或编辑页可进入"工作流编排"。系统提供两种编排器:
|
|
|
+
|
|
|
+| 编排器 | 路由 / URL | 实现 | 当前状态 |
|
|
|
+| --- | --- | --- | --- |
|
|
|
+| 工作流编排(默认 Tab) | `/agent-management/edit/{sceneId}/workflow-arrange` | 通过 iframe 嵌入 `/workflow-web/design/{graphId}?returnTo=...&sceneId={sceneId}`,底层为 **React Flow** | 主要使用,功能完整 |
|
|
|
+| 工作流编排(Vue3) | `/workflow-vue3/design/{id}` | Vue3 + Vue Flow 实现 | 部分场景报"工作流不存在",疑似与 graphId/sceneId 不同步 |
|
|
|
+
|
|
|
+> **权限**:只有创建人可以查看和编辑工作流详情;非创建人访问会得到"只有创建人可以查看工作流详情"提示。
|
|
|
+
|
|
|
+### 4.2 编排器顶层控件
|
|
|
+
|
|
|
+| 区域 | 说明 |
|
|
|
+| --- | --- |
|
|
|
+| 顶部 Tab | 对话 / 编辑 / 工作流编排 / 工作流编排(Vue3) / 接口详情 |
|
|
|
+| 左侧节点列表 | 支持搜索;按 6 个分类分组(详见 4.3) |
|
|
|
+| 中部画布 | React Flow 画布;支持撤销/重做、缩放、小地图、导入/导出配置、添加注释 |
|
|
|
+| 右侧节点配置面板 | 选中节点后展开,字段依节点类型而异 |
|
|
|
+| 底部状态栏 | "上次发布 / 上次保存" 时间戳;按钮:`保存`、`发布 vX`、`历史`、`预览`、`配置校验`(带未修复校验数角标) |
|
|
|
+
|
|
|
+### 4.3 节点类型注册表(来源:前端 `Y9e` 元数据 + 分类常量 `Z9e`)
|
|
|
+
|
|
|
+下表列出全部 26 个用户可见节点类型,按 6 类分组。`type` 列为节点在序列化配置中的唯一标识(即 React Flow `node.type`)。
|
|
|
+
|
|
|
+| 分类 | type | 显示名 | 配色 | 描述 |
|
|
|
+| --- | --- | --- | --- | --- |
|
|
|
+| 基础节点 | `llm` | 大模型 | pink | 调用大语言模型,根据提示词生成文本回复。 |
|
|
|
+| 基础节点 | `answer` | 回复 | purple | 将处理结果回复给用户,支持文本和文件输出。 |
|
|
|
+| 基础节点 | `retrieval` | 知识库检索 | orange | 从知识库中检索相关文档,支持语义和关键词混合搜索。 |
|
|
|
+| 基础节点 | `table_retrieval` | 表格知识库检索 | yellow | 从表格知识库中检索结构化数据,支持向量、全文和 NL2SQL 混合检索。 |
|
|
|
+| 基础节点 | `graph_retrieval` | 图谱知识库检索 | green | 从图谱知识库中检索实体与关系,返回子图及上下文摘要。 |
|
|
|
+| 基础节点 | `agent` | Agent | teal | 自主推理并调用工具完成任务的智能体节点。 |
|
|
|
+| 基础节点 | `subgraph` | 子图 | blue | 嵌入已发布的子工作流,实现流程复用和模块化编排。 |
|
|
|
+| 问题处理 | `classifier` | 意图识别 | purple | 利用大模型识别用户意图,将输入分类到预设类别。 |
|
|
|
+| 问题处理 | `param_ext` | 参数提取 | purple | 从用户输入中提取结构化参数,如日期、地点、数量等。 |
|
|
|
+| 问题处理 | `query_rewriter` | 问题改写 | purple | 结合上下文对用户问题进行改写,以提高检索准确率。 |
|
|
|
+| 问题处理 | `query_expansion` | 关键词提取 | purple | 从用户问题中提取关键词,用于后续检索或分析。 |
|
|
|
+| 逻辑 | `ifelse` | 条件分支 | orange | 根据条件表达式判断,将流程路由到不同分支。 |
|
|
|
+| 逻辑 | `loop` | 迭代 | orange | 对列表数据逐项或并行迭代处理,支持内嵌子图。 |
|
|
|
+| 工具 | `list_operation` | 列表操作 | teal | 对列表执行筛选、排序、截取和字段提取等操作。 |
|
|
|
+| 工具 | `http` | HTTP 请求 | teal | 发送 HTTP 请求并获取响应,支持重试和超时配置。 |
|
|
|
+| 工具 | `human` | 人工确认 | teal | 暂停流程等待人工审核或输入,支持多种交互方式。 |
|
|
|
+| 工具 | `tool` | 工具调用 | teal | 调用已注册的外部工具,按 Schema 传参并获取结果。 |
|
|
|
+| 工具 | `auto_db_query` | 数据自动查询 | teal | 由大模型自动生成 SQL 并查询数据库,适合自然语言提问。 |
|
|
|
+| 工具 | `db_query` | 数据查询 | teal | 手动编写 SQL 查询数据库,支持多任务并发执行。 |
|
|
|
+| 文件 | `file_download` | 文件下载 | yellow | 从指定 URL 下载文件,支持单文件和批量模式。 |
|
|
|
+| 文件 | `file_upload` | 文件上传 | yellow | 将文件上传到存储服务,返回访问 URL。 |
|
|
|
+| 文件 | `doc_ext` | 文档提取器 | yellow | 解析单个文件或文件列表,输出文件名与内容。 |
|
|
|
+| 文件 | `official_doc` | 公文生成 | yellow | 按标准格式生成通知、纪要等公文文档。 |
|
|
|
+| 转换 | `var_override` | 变量覆盖 | pink | 创建或覆盖变量的值,用于在节点间传递数据。 |
|
|
|
+| 转换 | `var_transform` | 变量转换 | pink | 将复杂数据结构拆分或转换为独立变量。 |
|
|
|
+| 转换 | `code` | 代码执行 | pink | 执行自定义 Python 或 JavaScript 代码片段。 |
|
|
|
+
|
|
|
+> 另有两个**隐藏节点** `toolretrieval`(工具检索,hidden=true)、`plugin`(插件,hidden=true),不在用户节点列表中,本文档不展开。`llmtool`(LLM 工具)作为 tool 的特殊形态,在面板序列化逻辑中出现,但未单独列入注册表。
|
|
|
+
|
|
|
+### 4.4 节点通用字段与异常处理
|
|
|
+
|
|
|
+#### 4.4.1 通用基础字段(所有节点共享)
|
|
|
+
|
|
|
+下列字段由节点渲染器统一处理,不属于各节点的 `initialData`:
|
|
|
+
|
|
|
+| 字段 | 类型 | 默认值 | 说明 |
|
|
|
+| --- | --- | --- | --- |
|
|
|
+| `id` | string | 自动生成 `${type}_${n}` | 节点唯一 ID,例如 `llm_1`、`answer_2` |
|
|
|
+| `type` | string | — | 节点类型 key(见 4.3) |
|
|
|
+| `position` | `{x, y}` | 自动布局 | 画布坐标 |
|
|
|
+| `data.label` | string | 默认显示名 + 序号 | 节点标题,可重命名 |
|
|
|
+| `data.width` | number | 节点默认 | 节点宽度(部分节点为 280) |
|
|
|
+| `data.height` | number | 节点默认 | 节点高度 |
|
|
|
+| `data.selected` | boolean | false | 是否选中 |
|
|
|
+| `data.join_enabled` | boolean | false | "汇聚执行":入边数 ≥ 2 时可开启,开启后等待所有上游到达再执行 |
|
|
|
+| `data.error_policy` | object | `{mode:"none", max_retries:0, ...}` | 异常处理策略(见 4.4.2) |
|
|
|
+
|
|
|
+#### 4.4.2 异常处理(`error_policy`)
|
|
|
+
|
|
|
+面板底部统一渲染的异常处理区块。**注意**:以下 7 类节点禁用 "默认值" 模式,仅支持 "无 / 异常分支":`file_download`、`file_upload`、`doc_ext`、`official_doc`、`var_override`、`var_transform`、`code`。
|
|
|
+
|
|
|
+| 字段 | 类型 | 取值 / 默认 | 说明 |
|
|
|
+| --- | --- | --- | --- |
|
|
|
+| `error_policy.mode` | enum | `none` / `default_value` / `error_branch` | 处理方式:异常时停止 / 走默认值 / 走异常分支 |
|
|
|
+| `error_policy.default_output` | any | — | mode=`default_value` 时使用的兜底输出 |
|
|
|
+| `error_policy.fallback_action` | enum | `stop` | mode=`error_branch` 时若异常分支也未成功,最终动作(停止) |
|
|
|
+| `error_policy.max_retries` | number | `0` | 最大重试次数 |
|
|
|
+| `error_policy.routes` | array | — | mode=`error_branch` 时定义异常分支连线 |
|
|
|
+| (classifier 专属)`error_policy.default_category` | string | — | 当 classifier+default_value 时,配置"默认分类" |
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+### 4.5 节点 schema 详情
|
|
|
+
|
|
|
+> 下文按 4.3 表格顺序逐个列出每个节点的完整字段。每节包含:
|
|
|
+> - **基础属性**:display / color / 描述 / 连接方向(`sources` = 出边方向,`targets` = 入边方向,`*` 表示任意方向)
|
|
|
+> - **initialData**:节点 `data` 中的可配置字段(来自面板序列化白名单 + `Y9e[type].initialData` 默认值)
|
|
|
+> - **inputVariables**:可作为子图输入的变量声明
|
|
|
+> - **outputVariables**:节点输出变量及其类型(部分为函数动态计算,标注 `动态`)
|
|
|
+>
|
|
|
+> 表格中"中文标签"列取自面板组件源码(`label:"..."` 模式直接匹配)。所有未列出的基础字段(`label`、`width`、`height`、`error_policy` 等)默认存在,不再重复。
|
|
|
+
|
|
|
+#### 4.5.1 大模型(`llm`)
|
|
|
+
|
|
|
+| 属性 | 值 |
|
|
|
+| --- | --- |
|
|
|
+| display | 大模型 |
|
|
|
+| colorScheme | pink |
|
|
|
+| sources / targets | `[left, right]` / `[left, right]` |
|
|
|
+
|
|
|
+**initialData**
|
|
|
+
|
|
|
+| 字段 | 类型 | 默认值 | 中文标签 / 说明 |
|
|
|
+| --- | --- | --- | --- |
|
|
|
+| `model_id` | string | `""` | 模型(必填,下拉来自模型管理;带"刷新模型列表"按钮) |
|
|
|
+| `model_name` | string | `""` | 模型名(前端展示用,跟随 model_id) |
|
|
|
+| `temperature` | number | `0.1` | 温度(范围 0.0–1.0,步进 0.1) |
|
|
|
+| `system_prompt` | string | `""` | 系统提示(多行,placeholder:输入系统提示,可留空) |
|
|
|
+| `user_prompt` | string | `"{{global.query}}"` | 用户输入(必填,模板表达式) |
|
|
|
+| `stream` | boolean | `true` | 流式输出 |
|
|
|
+| `memory_enabled` | boolean | `false` | 短期记忆(开启后展开记忆配置) |
|
|
|
+| `memory_type` | enum | — | 记忆类型(仅 memory_enabled=true 时显示) |
|
|
|
+| `memory_window` | number | `3` | 最大记忆轮数(1–100) |
|
|
|
+| `json_output` | boolean | `false` | JSON 输出(helpTip:开启后强制模型输出 JSON 格式) |
|
|
|
+| `json_output_type` | enum | `"object"` | 输出类型:`object`(Object 对象) / `array`(Array 数组)(仅 json_output=true 且 stream=false 时显示) |
|
|
|
+| `thinking_mode` | enum | `"default"` | 思考模式:默认(跟随前端) / 开启 / 关闭 / 忽略(不传思考参数) |
|
|
|
+| `thinking_level` | enum | — | 思考级别:默认 / low(轻度) / medium(标准) / high(深度) / xhigh(扩展) / max(极深) / 忽略(不传思考级别) |
|
|
|
+
|
|
|
+**outputVariables**(动态:依赖 `json_output` / `stream` / `json_output_type`)
|
|
|
+
|
|
|
+| 变量 | 标签 | 类型 |
|
|
|
+| --- | --- | --- |
|
|
|
+| `response` | 模型回复 | String(默认);当 `json_output && !stream`:`json_output_type=array` → Array,否则 Object |
|
|
|
+
|
|
|
+#### 4.5.2 回复(`answer`)
|
|
|
+
|
|
|
+| 属性 | 值 |
|
|
|
+| --- | --- |
|
|
|
+| display | 回复 |
|
|
|
+| colorScheme | purple |
|
|
|
+| sources / targets | `[right]` / `[left]` |
|
|
|
+
|
|
|
+**initialData**
|
|
|
+
|
|
|
+| 字段 | 类型 | 默认值 | 中文标签 / 说明 |
|
|
|
+| --- | --- | --- | --- |
|
|
|
+| `input_schema` | string | `""` | 输出内容(模板表达式文本域,支持"插入变量" + 全屏编辑) |
|
|
|
+| `output_files` | array | `[]` | 文件输出(可添加;每项是文件变量引用) |
|
|
|
+
|
|
|
+**outputVariables**(动态:依赖 `output_files`)
|
|
|
+
|
|
|
+| 变量 | 标签 | 类型 |
|
|
|
+| --- | --- | --- |
|
|
|
+| `response` | 回复内容 | String |
|
|
|
+| `files` | 输出文件 | Array[File](仅当 output_files 非空) |
|
|
|
+
|
|
|
+#### 4.5.3 知识库检索(`retrieval`)
|
|
|
+
|
|
|
+| 属性 | 值 |
|
|
|
+| --- | --- |
|
|
|
+| display | 知识库检索 |
|
|
|
+| colorScheme | orange |
|
|
|
+| sources / targets | `[right]` / `[left]` |
|
|
|
+
|
|
|
+**initialData**
|
|
|
+
|
|
|
+| 字段 | 类型 | 默认值 | 中文标签 / 说明 |
|
|
|
+| --- | --- | --- | --- |
|
|
|
+| `query` | string | `"{{global.query}}"` | 意图查询(必填,用于检索召回和重排序) |
|
|
|
+| `queries` | array | `[]` | 检索查询(多路召回查询条件,可不填) |
|
|
|
+| `kb_ids` | array | `[]` | 知识库(多选,不填则查询全部) |
|
|
|
+| `kb_ids_var` | string | — | 知识库变量引用(如 `{{节点.kb_ids}}`) |
|
|
|
+| `kb_ids_mode` | enum | `"select"` | 知识库选择模式:`select`(下拉) / `variable`(变量) |
|
|
|
+| `tags` | array | undefined | 标签过滤 |
|
|
|
+| `tags_var` | string | — | 标签变量引用 |
|
|
|
+| `tags_mode` | enum | `"select"` | 标签选择模式 |
|
|
|
+| `search_mode` | enum | `"hybrid"` | 检索方式:`hybrid`(混合检索) / `vector`(向量检索) / `keyword`(分词检索) |
|
|
|
+| `size` | number | `5` | 最大召回数量 |
|
|
|
+| `enable_reranker` | boolean | `false` | 开启重排 |
|
|
|
+| `knn_score_threshold` | number | `0.8` | 召回阈值(向量相似度阈值,0–1) |
|
|
|
+| `rerank_score_threshold` | number | `0.5` | 重排阈值 |
|
|
|
+| `enable_citation` | boolean | `true` | 输出引用 |
|
|
|
+| `return_full_file_content` | boolean | `false` | 返回文件全文 |
|
|
|
+| `return_to_frontend` | boolean | — | 是否直接回前端 |
|
|
|
+| `connect_timeout` | number | — | 连接超时(秒,高级设置) |
|
|
|
+| `read_timeout` | number | — | 读取超时(秒) |
|
|
|
+| `write_timeout` | number | — | 写入超时(秒) |
|
|
|
+| `retry` | object | — | 失败重试:`{enable, count, interval_ms}` |
|
|
|
+
|
|
|
+**outputVariables**
|
|
|
+
|
|
|
+| 变量 | 标签 | 类型 | 说明 |
|
|
|
+| --- | --- | --- | --- |
|
|
|
+| `retrieval_result` | 检索结果(JSON) | Array | 详见下方 schema |
|
|
|
+| `formatted_result` | 格式化结果(Text) | String | |
|
|
|
+
|
|
|
+`retrieval_result` schema(每项字段):`unique_id`(本次检索唯一ID)、`page_content`(文档内容 LangChain 原始字段)、`content`(内容块完整内容)、`matched_content`(匹配的检索块内容)、`file_name`、`file_title`、`file_type`、`kb_id`(知识库ID)、`source_id`(来源ID 文件ID)、`score`(综合得分)、`recall_source`(召回来源: BM25/VECTOR/HYBRID)、`page_number`(页码)、`chunk_index`(内容块序号)、`meta`(结构化元数据 标题 条文等)、`extra_info`(元数据前缀文本)、`metadata`(LangChain 原始 metadata)。
|
|
|
+
|
|
|
+#### 4.5.4 表格知识库检索(`table_retrieval`)
|
|
|
+
|
|
|
+| 属性 | 值 |
|
|
|
+| --- | --- |
|
|
|
+| display | 表格知识库检索 |
|
|
|
+| colorScheme | yellow |
|
|
|
+| sources / targets | `[right]` / `[left]` |
|
|
|
+
|
|
|
+**initialData**
|
|
|
+
|
|
|
+| 字段 | 类型 | 默认值 | 中文标签 / 说明 |
|
|
|
+| --- | --- | --- | --- |
|
|
|
+| `query` | string | `"{{global.query}}"` | 查询问题(必填,自然语言描述要查询的数据) |
|
|
|
+| `kb_ids` / `kb_ids_var` / `kb_ids_mode` | — | `[]` / — / `"select"` | 同 4.5.3 |
|
|
|
+| `size` | number | `10` | 最大召回量(限制明细数据的返回条数,不影响统计结果) |
|
|
|
+| `search_mode` | enum | `"hybrid_sql"` | 检索模式:`hybrid`(混合检索) / `sql`(SQL检索) / `hybrid_sql`(混合检索+SQL检索) |
|
|
|
+| `knn_score_threshold` | number | `null` | 召回阈值(不设置则使用默认值) |
|
|
|
+| `enable_citation` | boolean | `true` | 输出引用 |
|
|
|
+| `connect_timeout` / `read_timeout` / `write_timeout` / `retry` | — | — | 同 4.5.3 |
|
|
|
+
|
|
|
+**outputVariables**
|
|
|
+
|
|
|
+| 变量 | 标签 | 类型 |
|
|
|
+| --- | --- | --- |
|
|
|
+| `retrieval_result` | 检索结果(JSON) | Array |
|
|
|
+| `formatted_result` | 格式化结果(Text) | String |
|
|
|
+
|
|
|
+`retrieval_result` schema:`unique_id`(唯一ID)、`table_name`(表名)、`table_id`(表ID)、`row_data`(行数据 Object)、`columns`(列定义 Array)、`source_route`(命中来源)。
|
|
|
+
|
|
|
+#### 4.5.5 图谱知识库检索(`graph_retrieval`)
|
|
|
+
|
|
|
+| 属性 | 值 |
|
|
|
+| --- | --- |
|
|
|
+| display | 图谱知识库检索 |
|
|
|
+| colorScheme | green |
|
|
|
+| sources / targets | `[right]` / `[left]` |
|
|
|
+
|
|
|
+> 受 feature flag `G9e` 控制,未开启时该节点从基础节点列表中过滤掉(`X9e.filter(e=>"graph_retrieval"!==e)`)。
|
|
|
+
|
|
|
+**initialData**
|
|
|
+
|
|
|
+| 字段 | 类型 | 默认值 | 中文标签 / 说明 |
|
|
|
+| --- | --- | --- | --- |
|
|
|
+| `query` | string | `"{{global.query}}"` | 意图查询 |
|
|
|
+| `kb_ids` / `kb_ids_var` / `kb_ids_mode` | — | `[]` / — / `"select"` | 知识库(图谱)选择 |
|
|
|
+| `tags` | string | `""` | 标签过滤(多标签逗号分隔) |
|
|
|
+| `tags_mode` | enum | `"select"` | 标签选择模式 |
|
|
|
+| `enable_citation` | boolean | `true` | 输出引用 |
|
|
|
+| `max_hops` | number | `4` | 查询深度(跳数) |
|
|
|
+| `max_edges` | number | `200` | 最大边数 |
|
|
|
+| `max_entities` | number | `60` | 最大实体数 |
|
|
|
+
|
|
|
+**outputVariables**
|
|
|
+
|
|
|
+| 变量 | 标签 | 类型 |
|
|
|
+| --- | --- | --- |
|
|
|
+| `retrieval_result` | 检索结果(JSON) | Array |
|
|
|
+| `formatted_result` | 格式化结果(Text) | String |
|
|
|
+
|
|
|
+`retrieval_result` schema:`unique_id`(唯一ID)、`file_name`(来源文件)、`kb_name`(知识库)、`entities`(实体列表 Array)、`relations`(关系列表 Array)。
|
|
|
+
|
|
|
+#### 4.5.6 Agent(`agent`)
|
|
|
+
|
|
|
+| 属性 | 值 |
|
|
|
+| --- | --- |
|
|
|
+| display | Agent |
|
|
|
+| colorScheme | teal |
|
|
|
+| sources / targets | `[left, right]` / `[left, right]` |
|
|
|
+
|
|
|
+**initialData**
|
|
|
+
|
|
|
+| 字段 | 类型 | 默认值 | 中文标签 / 说明 |
|
|
|
+| --- | --- | --- | --- |
|
|
|
+| `model_id` | string | `""` | 模型(必填) |
|
|
|
+| `system_prompt` | string | `""` | 系统提示 / 系统提示词 |
|
|
|
+| `user_prompt` | string | `"{{global.query}}"` | 用户输入 |
|
|
|
+| `stream` | boolean | `true` | 流式输出(helpTip:开启后 Agent 的回复将实时流式返回) |
|
|
|
+| `reply_result` | boolean | `true` | 回复结果 |
|
|
|
+| `agent_type` | enum | — | Agent 类型 |
|
|
|
+| `thinking_mode` | enum | `"default"` | 思考模式 |
|
|
|
+| `thinking_level` | enum | — | 思考级别 |
|
|
|
+| `multimodal_supplement_enabled` | boolean\|null | `null` | 多模态补充 |
|
|
|
+| `multimodal_supplement_model_id` | number | `-1` | 多模态补充模型(默认 -1 = 跟随主 Agent) |
|
|
|
+| `multimodal_supplement_image_model_id` | number | `-1` | 多模态图片模型 |
|
|
|
+| `multimodal_supplement_audio_model_id` | number | `-1` | 多模态音频模型 |
|
|
|
+| `multimodal_supplement_video_model_id` | number | `-1` | 多模态视频模型 |
|
|
|
+| `tools` | array | — | 工具(多选) |
|
|
|
+| `mcp_server_codes` | array | `[]` | MCP 服务 |
|
|
|
+| `plugin_package_ids` | array | `[]` | 插件包 |
|
|
|
+| `enable_skills` | boolean | `false` | Skill 模式(开启后展开"绑定技能") |
|
|
|
+| `skill_names` | array | `[]` | 绑定技能(未绑定时使用所有有权限的技能) |
|
|
|
+| `browser_usage_enabled` | boolean | `false` | 浏览器使用(beta) |
|
|
|
+| `user_memory_enabled` | boolean | `false` | 长期记忆 |
|
|
|
+| `conversation_memory_enabled` | boolean | `false` | 对话记忆 |
|
|
|
+| `conversation_memory_summary_model_id` | string | — | 摘要模型 |
|
|
|
+| `subagents` | array | `[]` | 子智能体 |
|
|
|
+| `system_subagents` | array | 见下 | 系统内置子智能体(默认含两条系统模板,enabled=false) |
|
|
|
+| `subagents_enabled` | boolean | `true` | 子智能体清单 |
|
|
|
+
|
|
|
+`system_subagents` 默认值:
|
|
|
+
|
|
|
+```js
|
|
|
+[
|
|
|
+ { template_id: "sys.retrieval_grounder", enabled: false },
|
|
|
+ { template_id: "sys.jizhi_system_steward", enabled: false }
|
|
|
+]
|
|
|
+```
|
|
|
+
|
|
|
+**outputVariables**
|
|
|
+
|
|
|
+| 变量 | 标签 | 类型 |
|
|
|
+| --- | --- | --- |
|
|
|
+| `response` | Agent回复 | String |
|
|
|
+
|
|
|
+#### 4.5.7 子图(`subgraph`)
|
|
|
+
|
|
|
+| 属性 | 值 |
|
|
|
+| --- | --- |
|
|
|
+| display | 子图 |
|
|
|
+| colorScheme | blue |
|
|
|
+| sources / targets | `[right]` / `[left]` |
|
|
|
+| inputVariables | `["Input"]` |
|
|
|
+
|
|
|
+**initialData**
|
|
|
+
|
|
|
+| 字段 | 类型 | 默认值 | 中文标签 / 说明 |
|
|
|
+| --- | --- | --- | --- |
|
|
|
+| `subgraph_id` | string | `""` | 子工作流 ID |
|
|
|
+| `subgraph_name` | string | `""` | 子工作流名称 |
|
|
|
+| `subgraph_wf_id` | string | `""` | 子工作流 wf_id |
|
|
|
+| `input` | string | `""` | 子图输入(映射到子图开始节点) |
|
|
|
+| `input_params` | object | `{}` | 输入参数映射 |
|
|
|
+| `user_files` | string | `""` | 用户文件传递 |
|
|
|
+| `_startNodeInputs` | array | — | (运行时)子图开始节点输入声明 |
|
|
|
+| `_publishedOutputVariables` | array | — | (运行时)子图已发布输出变量 |
|
|
|
+| `_publishedOutputVariablesLoaded` | boolean | — | (运行时)加载标志 |
|
|
|
+| `_endNodeOutputs` | array | — | (运行时)子图结束节点输出 |
|
|
|
+
|
|
|
+**outputVariables**(动态:优先取 `_startNodeInputs` + `_publishedOutputVariables`,否则取 `_endNodeOutputs`,最后 fallback 为 `response:子图输出`)
|
|
|
+
|
|
|
+#### 4.5.8 意图识别(`classifier`)
|
|
|
+
|
|
|
+| 属性 | 值 |
|
|
|
+| --- | --- |
|
|
|
+| display | 意图识别 |
|
|
|
+| colorScheme | purple |
|
|
|
+| sources / targets | `[*]` / `[input]` |
|
|
|
+
|
|
|
+**initialData**
|
|
|
+
|
|
|
+| 字段 | 类型 | 默认值 | 中文标签 / 说明 |
|
|
|
+| --- | --- | --- | --- |
|
|
|
+| `input_schema` | string | `"{{global.query}}"` | 输入(待分类文本) |
|
|
|
+| `model_id` / `model_name` | string | `""` | 模型(带刷新按钮) |
|
|
|
+| `categories` | array | 见下 | 分类列表(每项 `{category_id, category_name}`,支持"添加分类") |
|
|
|
+| `memory_enabled` | boolean | `false` | 短期记忆 |
|
|
|
+| `memory_type` | enum | — | 记忆类型 |
|
|
|
+| `memory_window` | number | `3` | 最大记忆轮数 |
|
|
|
+| `thinking_mode` | enum | `"default"` | 思考模式 |
|
|
|
+| `thinking_level` | enum | — | 思考级别 |
|
|
|
+| `system_prompt` | string | `""` | 系统提示词(提示词配置,可"恢复默认") |
|
|
|
+| `user_prompt` | string | `""` | 用户提示词 |
|
|
|
+
|
|
|
+`categories` 默认值:
|
|
|
+
|
|
|
+```js
|
|
|
+[
|
|
|
+ { category_id: "category_1", category_name: "分类1" },
|
|
|
+ { category_id: "others_category", category_name: "其他情况" }
|
|
|
+]
|
|
|
+```
|
|
|
+
|
|
|
+**outputVariables**(动态:当 error_policy.mode=default_value 时追加两个异常输出)
|
|
|
+
|
|
|
+| 变量 | 标签 | 类型 |
|
|
|
+| --- | --- | --- |
|
|
|
+| `class_name` | 识别结果 | String |
|
|
|
+| `all_classes` | 分类列表 | Array[String] |
|
|
|
+| `default_value` | 异常默认值 | Any(仅 default_value 模式) |
|
|
|
+| `raw_output` | 异常默认原始值 | String(仅 default_value 模式) |
|
|
|
+
|
|
|
+#### 4.5.9 参数提取(`param_ext`)
|
|
|
+
|
|
|
+| 属性 | 值 |
|
|
|
+| --- | --- |
|
|
|
+| display | 参数提取 |
|
|
|
+| colorScheme | purple |
|
|
|
+| sources / targets | `[right]` / `[left]` |
|
|
|
+
|
|
|
+**initialData**
|
|
|
+
|
|
|
+| 字段 | 类型 | 默认值 | 中文标签 / 说明 |
|
|
|
+| --- | --- | --- | --- |
|
|
|
+| `instruction` | string | `""` | 指令(输入提取指令) |
|
|
|
+| `input_schema` | string | `""` | 输入内容 (Input Schema,待提取文本) |
|
|
|
+| `model_id` / `model_name` | string | `""` | 模型 |
|
|
|
+| `parameters` | array | `[]` | 参数列表(详见下方) |
|
|
|
+| `memory_enabled` / `memory_type` / `memory_window` | — | — | 同 4.5.8 |
|
|
|
+| `thinking_mode` / `thinking_level` | — | — | 思考模式 / 级别 |
|
|
|
+| `system_prompt` | string | `""` | 系统提示词 |
|
|
|
+| `user_prompt` | string | `""` | 用户提示词 |
|
|
|
+
|
|
|
+`parameters` 数组每项结构为 `{ [paramName]: { type, description, required, ... } }`,参数 schema 编辑器支持的字段:
|
|
|
+
|
|
|
+| 子字段 | 说明 |
|
|
|
+| --- | --- |
|
|
|
+| 参数名称 | key(如 `user_name`) |
|
|
|
+| 中文名 | label |
|
|
|
+| 类型 | `String` / `Number` / `Array` / `Boolean` / `Object` 等 |
|
|
|
+| 数组元素类型 | 当 type=Array 时的元素类型 |
|
|
|
+| 描述 | description |
|
|
|
+| 必填 | required |
|
|
|
+
|
|
|
+**outputVariables**(动态:根据 `parameters` 列表生成)
|
|
|
+
|
|
|
+每个 parameter 生成一个输出变量:`{name=paramName, label=description||paramName, type=映射后的类型}`。
|
|
|
+类型映射:`str → String`、`number → Number`,其他保持。
|
|
|
+
|
|
|
+#### 4.5.10 问题改写(`query_rewriter`)
|
|
|
+
|
|
|
+| 属性 | 值 |
|
|
|
+| --- | --- |
|
|
|
+| display | 问题改写 |
|
|
|
+| colorScheme | purple |
|
|
|
+| sources / targets | `[right]` / `[left]` |
|
|
|
+
|
|
|
+**initialData**
|
|
|
+
|
|
|
+| 字段 | 类型 | 默认值 | 中文标签 / 说明 |
|
|
|
+| --- | --- | --- | --- |
|
|
|
+| `model_id` / `model_name` | string | `""` | 模型 |
|
|
|
+| `input_schema` | string | `"{{global.query}}"` | 输入(待改写内容) |
|
|
|
+| `stream` | boolean | `false` | 流式输出 |
|
|
|
+| `memory_enabled` / `memory_type` / `memory_window` | — | — | 短期记忆 |
|
|
|
+| `thinking_mode` / `thinking_level` | — | — | 思考模式 / 级别 |
|
|
|
+| `system_prompt` | string | `""` | 系统提示词 |
|
|
|
+| `user_prompt` | string | `""` | 用户提示词 |
|
|
|
+
|
|
|
+**outputVariables**
|
|
|
+
|
|
|
+| 变量 | 标签 | 类型 |
|
|
|
+| --- | --- | --- |
|
|
|
+| `output` | 改写结果 | String |
|
|
|
+
|
|
|
+#### 4.5.11 关键词提取(`query_expansion`)
|
|
|
+
|
|
|
+| 属性 | 值 |
|
|
|
+| --- | --- |
|
|
|
+| display | 关键词提取 |
|
|
|
+| colorScheme | purple |
|
|
|
+| sources / targets | `[right]` / `[left]` |
|
|
|
+
|
|
|
+**initialData**:与 `query_rewriter` 完全一致(同字段集合,不同语义)。
|
|
|
+
|
|
|
+**outputVariables**
|
|
|
+
|
|
|
+| 变量 | 标签 | 类型 |
|
|
|
+| --- | --- | --- |
|
|
|
+| `output` | 提取结果 | String |
|
|
|
+
|
|
|
+#### 4.5.12 条件分支(`ifelse`)
|
|
|
+
|
|
|
+| 属性 | 值 |
|
|
|
+| --- | --- |
|
|
|
+| display | 条件分支 |
|
|
|
+| colorScheme | orange |
|
|
|
+| sources / targets | `[]` / `[left]` |
|
|
|
+
|
|
|
+**initialData**
|
|
|
+
|
|
|
+| 字段 | 类型 | 默认值 | 中文标签 / 说明 |
|
|
|
+| --- | --- | --- | --- |
|
|
|
+| `cases` | array | `[]` | 分支条件列表(详见下方) |
|
|
|
+
|
|
|
+`cases` 每个分支结构:
|
|
|
+
|
|
|
+```ts
|
|
|
+{
|
|
|
+ case_id: string, // 分支 ID
|
|
|
+ label: string, // 分支名(默认"分支 N")
|
|
|
+ conditions: Array<{ // 条件列表(AND 关系)
|
|
|
+ variable: string, // 比较变量(来自上游变量选择)
|
|
|
+ operator: enum, // 操作符:=, ≠, >, <, ≥, ≤, 包含, 不包含, 开始于, 结束于, 为空, 不为空
|
|
|
+ value: string // 比较值
|
|
|
+ }>,
|
|
|
+ logical_operator: "AND" | "OR" // 多条件间的逻辑关系
|
|
|
+}
|
|
|
+```
|
|
|
+
|
|
|
+UI 操作:每分支一个出口连线;"添加分支"按钮新增 case;"添加条件"在分支内新增 condition。
|
|
|
+
|
|
|
+**outputVariables**
|
|
|
+
|
|
|
+| 变量 | 标签 | 类型 |
|
|
|
+| --- | --- | --- |
|
|
|
+| `result` | 判断结果 | String |
|
|
|
+
|
|
|
+> 画布上每个分支还会产生一个独立的输出把手(handle),通过 `error_policy.routes`/`cases` 路由。
|
|
|
+
|
|
|
+#### 4.5.13 迭代(`loop`)
|
|
|
+
|
|
|
+| 属性 | 值 |
|
|
|
+| --- | --- |
|
|
|
+| display | 迭代 |
|
|
|
+| colorScheme | orange |
|
|
|
+| sources / targets | `[right]` / `[left]` |
|
|
|
+| inputVariables | `["Input"]` |
|
|
|
+
|
|
|
+**initialData**
|
|
|
+
|
|
|
+| 字段 | 类型 | 默认值 | 中文标签 / 说明 |
|
|
|
+| --- | --- | --- | --- |
|
|
|
+| `input_variable` | string | `""` | 输入列表变量(必填,选择要迭代的列表变量) |
|
|
|
+| `input_variables` | array | `[]` | 多输入列表 |
|
|
|
+| `is_parallel` | boolean | `false` | 并发运行 |
|
|
|
+| `concurrency` | number | — | 并发度(并行执行的线程数量 1–16) |
|
|
|
+| `outputs` | array | `[]` | 输出变量配置(详见下方) |
|
|
|
+| `subgraph_config` | object | — | 内嵌子图配置(包含 `nodes`/`edges` 等子图完整定义) |
|
|
|
+
|
|
|
+`outputs` 每项:
|
|
|
+
|
|
|
+```ts
|
|
|
+{
|
|
|
+ name: string, // 变量名
|
|
|
+ label: string, // 中文名
|
|
|
+ type: string // 类型(如 String、Number、Array[Object] 等)
|
|
|
+}
|
|
|
+```
|
|
|
+
|
|
|
+UI 提供"添加输出"按钮配置 outputs;提示文案:"下游节点可通过变量引用迭代内部节点的输出(聚合为数组)"。
|
|
|
+
|
|
|
+**outputVariables**(动态:基于 `outputs` + 内部子图节点输出聚合)
|
|
|
+
|
|
|
+至少包含:
|
|
|
+
|
|
|
+| 变量 | 标签 | 类型 |
|
|
|
+| --- | --- | --- |
|
|
|
+| `response` | 循环响应 | String |
|
|
|
+| `results` | 循环结果 | Array |
|
|
|
+
|
|
|
+随后追加每个 `outputs` 项(type 自动包装为 `Array[...]`)+ 内部节点输出(聚合为 `Array`,name 形如 `${nodeId}.${varName}`)。
|
|
|
+
|
|
|
+#### 4.5.14 列表操作(`list_operation`)
|
|
|
+
|
|
|
+| 属性 | 值 |
|
|
|
+| --- | --- |
|
|
|
+| display | 列表操作 |
|
|
|
+| colorScheme | teal |
|
|
|
+| defaultWidth | 280 |
|
|
|
+| sources / targets | `[right]` / `[left]` |
|
|
|
+
|
|
|
+**initialData**
|
|
|
+
|
|
|
+| 字段 | 类型 | 默认值 | 中文标签 / 说明 |
|
|
|
+| --- | --- | --- | --- |
|
|
|
+| `input_variable` | string | `""` | 输入变量(要操作的列表) |
|
|
|
+| `input_variables` | array | `[]` | 多输入列表 |
|
|
|
+| `input_type` | string | `""` | 输入类型(运行时根据上游推导,如 `Array[File]`、`Array[Object]`) |
|
|
|
+| `filter_type` | enum | `"all"` | 过滤匹配模式:`all`(全部满足) / `any`(任一满足) |
|
|
|
+| `enable_filter` | boolean | `false` | 启用过滤 |
|
|
|
+| `conditions` | array | `[]` | 过滤条件列表(结构同 ifelse.conditions) |
|
|
|
+| `enable_sort` | boolean | `false` | 启用排序 |
|
|
|
+| `sort_by` | string | `""` | 排序字段 |
|
|
|
+| `sort_order` | enum | `"asc"` | 排序方向:`asc` / `desc` |
|
|
|
+| `enable_limit` | boolean | `false` | 启用截取 |
|
|
|
+| `limit` | number | `0` | 截取数量 |
|
|
|
+| `limit_type` | enum | `"top_n"` | 截取模式:`top_n`(前 N 条) / `bottom_n`(后 N 条) |
|
|
|
+| `enable_extract` | boolean | `false` | 启用字段提取 |
|
|
|
+| `extract_field` | string | `""` | 提取字段(单字段模式) |
|
|
|
+| `extract_fields` | array | `[]` | 提取字段列表(每项 `{field, type, label}`) |
|
|
|
+
|
|
|
+**outputVariables**(动态:依赖 `extract_fields` / `extract_field` / `input_type`)
|
|
|
+
|
|
|
+基础输出(始终存在):
|
|
|
+
|
|
|
+| 变量 | 标签 | 类型 |
|
|
|
+| --- | --- | --- |
|
|
|
+| `result` | 过滤结果 | Array(type 与 extract 配置相关) |
|
|
|
+| `first_record` | 第一条记录 | Any / Object |
|
|
|
+| `last_record` | 最后一条记录 | Any / Object |
|
|
|
+
|
|
|
+当 `input_type` 为 `Array[File]`/`File[]` 且未启用 extract 时,追加:
|
|
|
+
|
|
|
+| 变量 | 标签 | 类型 |
|
|
|
+| --- | --- | --- |
|
|
|
+| `result_info` | 过滤结果信息 | Array[FileInfo] |
|
|
|
+| `first_record_info` | 第一条记录信息 | FileInfo |
|
|
|
+| `last_record_info` | 最后一条记录信息 | FileInfo |
|
|
|
+
|
|
|
+#### 4.5.15 HTTP 请求(`http`)
|
|
|
+
|
|
|
+| 属性 | 值 |
|
|
|
+| --- | --- |
|
|
|
+| display | HTTP 请求 |
|
|
|
+| colorScheme | teal |
|
|
|
+| sources / targets | `[left, right]` / `[left, right]` |
|
|
|
+
|
|
|
+**initialData**
|
|
|
+
|
|
|
+| 字段 | 类型 | 默认值 | 中文标签 / 说明 |
|
|
|
+| --- | --- | --- | --- |
|
|
|
+| `url` | string | `""` | API 地址 |
|
|
|
+| `method` | enum | `"GET"` | 请求方法:`GET` / `POST` / `PUT` / `DELETE` / `PATCH` / `HEAD` |
|
|
|
+| `headers` | object | `{}` | 请求头(键值表) |
|
|
|
+| `params` | object | `{}` | 请求参数(query 键值表) |
|
|
|
+| `body` | string | `""` | 请求体(按 body_type 切换形态) |
|
|
|
+| `body_type` | enum | `"none"` | 请求体类型:`none` / `form-data` / `JSON` / `raw` / `binary` |
|
|
|
+| `body_form_data` | array | — | body_type=form-data 时的键值表(含 File 类型支持) |
|
|
|
+| `body_urlencoded` | object | — | body_type=urlencoded 时的键值表 |
|
|
|
+| `body_json` | object | — | body_type=JSON 时的对象(placeholder: `{ 'key': 'value' }`) |
|
|
|
+| `body_raw` | string | — | body_type=raw 时的原始内容 |
|
|
|
+| `body_binary` | string | — | body_type=binary 时的文件变量引用 |
|
|
|
+| `http2` | boolean | — | 协议:`HTTP/1.1` / `HTTP/2` |
|
|
|
+| `ssl_verify` | boolean | `true` | SSL 验证 |
|
|
|
+| `timeout_connect` | number | `5` | 连接超时(秒) |
|
|
|
+| `timeout_read` | number | `30` | 读取超时(秒) |
|
|
|
+| `timeout_write` | number | `30` | 写入超时(秒) |
|
|
|
+| `retry` | object | `{enable:false, count:3, interval:1000}` | 失败重试配置(启用重试 / 重试次数 / 重试间隔 ms) |
|
|
|
+
|
|
|
+**outputVariables**
|
|
|
+
|
|
|
+| 变量 | 标签 | 类型 |
|
|
|
+| --- | --- | --- |
|
|
|
+| `status_code` | 状态码 | Number |
|
|
|
+| `body` | 响应体 | String |
|
|
|
+| `headers` | 响应头 | Object |
|
|
|
+| `files` | 文件列表 | Array[File] |
|
|
|
+| `files_info` | 文件信息列表 | Array[FileInfo] |
|
|
|
+
|
|
|
+#### 4.5.16 人工确认(`human`)
|
|
|
+
|
|
|
+| 属性 | 值 |
|
|
|
+| --- | --- |
|
|
|
+| display | 人工确认 |
|
|
|
+| colorScheme | teal |
|
|
|
+| sources / targets | `[*]` / `[left]` |
|
|
|
+
|
|
|
+**initialData**
|
|
|
+
|
|
|
+| 字段 | 类型 | 默认值 | 中文标签 / 说明 |
|
|
|
+| --- | --- | --- | --- |
|
|
|
+| `interaction_type` | enum | `"context_input"` | 交互类型:`context_input`(上下文输入) / `external_system`(外部系统处理) |
|
|
|
+| `title` | string | `""` | 标题(如:需要用户确认订单信息) |
|
|
|
+| `reason` | string | `""` | 原因 (reason),向用户说明需要介入的原因 |
|
|
|
+| `question` | string | `""` | 问题 (question),向用户提出的具体问题 |
|
|
|
+| `questions` | array | `[]` | 结构化问题(每项详见下方;空数组时执行页显示自由输入框) |
|
|
|
+| `output_variables` | array | `[]` | 输出变量配置(每项 `{name, label, type, scope}`) |
|
|
|
+| `external_system` | object | — | 外部系统配置(系统名称、系统地址) |
|
|
|
+| `routes` | array | `[]` | 输出分支(如:已完成 / 未完成) |
|
|
|
+
|
|
|
+`questions` 每项结构:
|
|
|
+
|
|
|
+```ts
|
|
|
+{
|
|
|
+ id: string, // 兼容 ID(可选)
|
|
|
+ tab_title: string, // Tab 标题
|
|
|
+ content: string, // 问题内容
|
|
|
+ options?: Array<{ // 预置选项(空时该问题仅展示补充说明输入)
|
|
|
+ name: string, // 选项名称
|
|
|
+ description: string, // 选项说明
|
|
|
+ }>,
|
|
|
+ allow_multiple: boolean, // 允许多选
|
|
|
+ allow_supplement: boolean // 允许补充
|
|
|
+}
|
|
|
+```
|
|
|
+
|
|
|
+**outputVariables**(动态:依赖 `interaction_type` / `questions` / `output_variables`)
|
|
|
+
|
|
|
+基础输出(始终存在):
|
|
|
+
|
|
|
+| 变量 | 标签 | 类型 |
|
|
|
+| --- | --- | --- |
|
|
|
+| `action` | 操作类型 | String |
|
|
|
+| `data` | 操作数据 | Any |
|
|
|
+
|
|
|
+`interaction_type=context_input` 且 `questions.length>0` 时追加:
|
|
|
+
|
|
|
+| 变量 | 标签 | 类型 |
|
|
|
+| --- | --- | --- |
|
|
|
+| `response` | 人工回复 | String |
|
|
|
+| `answers` | 结构化答案 | Object |
|
|
|
+| `supplements` | 补充说明 | Object |
|
|
|
+
|
|
|
+`interaction_type=external_system` 时追加 `result`(处理结果, String)。否则追加 `output_variables` 配置的每个变量(type=String)。
|
|
|
+
|
|
|
+#### 4.5.17 工具调用(`tool`)
|
|
|
+
|
|
|
+| 属性 | 值 |
|
|
|
+| --- | --- |
|
|
|
+| display | 工具调用 |
|
|
|
+| colorScheme | teal |
|
|
|
+| sources / targets | `[left, right]` / `[left, right]` |
|
|
|
+
|
|
|
+**initialData**
|
|
|
+
|
|
|
+| 字段 | 类型 | 默认值 | 中文标签 / 说明 |
|
|
|
+| --- | --- | --- | --- |
|
|
|
+| `tool_id` | string | `""` | 工具 ID(选择工具,搜索框:名称/ID/分类/描述) |
|
|
|
+| `tool_title` | string | `""` | 工具中文名(跟随 tool_id) |
|
|
|
+| `inputs` | object | `{}` | 工具入参(按工具 input schema 动态生成的表单) |
|
|
|
+| `inputs_mode` | enum | `"form"` | 输入模式:`form`(表单) / 其他 |
|
|
|
+| `output_schema` | object\|string | — | 工具输出 schema(来自工具定义,JSON Schema) |
|
|
|
+| `input_schema` | object\|string | — | 工具输入 schema(用于推导文件类型入参) |
|
|
|
+| `thinking_mode` | enum | `"default"` | 思考模式 |
|
|
|
+| `thinking_level` | enum | — | 思考级别 |
|
|
|
+| `llm_params_enabled` | boolean | `false` | LLM 参数模式开关 |
|
|
|
+| `llm_model_id` | string | `""` | LLM 模型(llm_params_enabled=true 时) |
|
|
|
+| `llm_prompt` | string | `""` | LLM 提示词 |
|
|
|
+| `llm_retry_max` | number | `3` | LLM 最大重试 |
|
|
|
+
|
|
|
+**outputVariables**(动态:基于 `output_schema` JSON Schema 递归生成,深度上限 5)
|
|
|
+
|
|
|
+默认 fallback:`[{name:"result", label:"执行结果", type:"String"}]`。
|
|
|
+
|
|
|
+支持识别 file / array[file] / object / array[object] 类型,自动展开 `result` + `file_info` / `files` + `files_info` 等配套输出。
|
|
|
+
|
|
|
+#### 4.5.18 数据自动查询(`auto_db_query`)
|
|
|
+
|
|
|
+| 属性 | 值 |
|
|
|
+| --- | --- |
|
|
|
+| display | 数据自动查询 |
|
|
|
+| colorScheme | teal |
|
|
|
+| sources / targets | `[left, right]` / `[left, right]` |
|
|
|
+
|
|
|
+**initialData**
|
|
|
+
|
|
|
+| 字段 | 类型 | 默认值 | 中文标签 / 说明 |
|
|
|
+| --- | --- | --- | --- |
|
|
|
+| `datasource_code` | string | `""` | 数据源(必填,下拉来自 `getDatasourceList()`) |
|
|
|
+| `selected_tables` | array | `[]` | 表选择(多选) |
|
|
|
+| `execute_until` | enum | `"schema_only"` | 执行到:`schema_only`(仅生成 schema) / `generate_sql`(生成 SQL) / `execute_all`(执行到底) |
|
|
|
+| `step_generate_sql` | boolean | `false` | 分步:生成 SQL |
|
|
|
+| `step_execute_query` | boolean | `false` | 分步:执行查询 |
|
|
|
+| `model_id` | string | `""` | 模型 |
|
|
|
+| `system_prompt` | string | `""` | 系统提示 |
|
|
|
+| `user_prompt` | string | `""` | 用户输入 |
|
|
|
+| `user_requirements` | string | `""` | 自然语言问题(用户的查询需求) |
|
|
|
+| `max_rows` | number | `0` | 最大返回行数(0=不限制) |
|
|
|
+| `timeout` | number | `0` | 超时(秒,0=不限制) |
|
|
|
+| `thinking_mode` | enum | `"default"` | 思考模式 |
|
|
|
+| `thinking_level` | enum | — | 思考级别 |
|
|
|
+
|
|
|
+**outputVariables**(动态:依赖 `execute_until` / `step_generate_sql` / `step_execute_query`)
|
|
|
+
|
|
|
+| 变量 | 标签 | 类型 | 出现条件 |
|
|
|
+| --- | --- | --- | --- |
|
|
|
+| `table_schemas` | 表结构信息 | Array[Object] | 始终 |
|
|
|
+| `generated_sql` | 生成的SQL | Object(schema: `{sql, explanation}`) | step_generate_sql 或 execute_until ∈ {generate_sql, execute_all} |
|
|
|
+| `query_result` | 查询结果 | Object(schema 见下) | step_execute_query 或 execute_until=execute_all |
|
|
|
+
|
|
|
+`query_result` schema:`columns`(列信息 Array[{name, label, type}])、`rows`(数据行 Array[Object])、`total`(总行数 Number)、`executionTime`(执行耗时 Number)。
|
|
|
+
|
|
|
+`table_schemas` 元素 schema:`tableName`/`table_name`(表名)、`tableComment`/`comment`(表注释)、`columns`(列信息 Array[{name, columnName, type, dataType, nullable, ableBeNull, comment, columnComment}])。
|
|
|
+
|
|
|
+#### 4.5.19 数据查询(`db_query`)
|
|
|
+
|
|
|
+| 属性 | 值 |
|
|
|
+| --- | --- |
|
|
|
+| display | 数据查询 |
|
|
|
+| colorScheme | teal |
|
|
|
+| sources / targets | `[left, right]` / `[left, right]` |
|
|
|
+
|
|
|
+**initialData**
|
|
|
+
|
|
|
+| 字段 | 类型 | 默认值 | 中文标签 / 说明 |
|
|
|
+| --- | --- | --- | --- |
|
|
|
+| `datasource_code` | string | `""` | 数据源(必填) |
|
|
|
+| `tasks` | array | `[]` | 任务列表(详见下方) |
|
|
|
+| `concurrent` | boolean | `false` | 并发执行 |
|
|
|
+| `concurrency_limit` | number | `1` | 并发任务数上限 |
|
|
|
+| `timeout` | number | `0` | 超时(秒) |
|
|
|
+
|
|
|
+`tasks` 每项结构:
|
|
|
+
|
|
|
+```ts
|
|
|
+{
|
|
|
+ name: string, // 任务名
|
|
|
+ sql: string, // SQL 文本
|
|
|
+ output_variable: string // 输出变量名(默认 task_${name})
|
|
|
+}
|
|
|
+```
|
|
|
+
|
|
|
+**outputVariables**(动态:每个 task 生成一个输出)
|
|
|
+
|
|
|
+每任务输出:
|
|
|
+
|
|
|
+| 变量 | 标签 | 类型 |
|
|
|
+| --- | --- | --- |
|
|
|
+| `${output_variable}` | 任务结果: `${name}` | Object |
|
|
|
+
|
|
|
+每输出 schema:`columns`(列信息 Array[{name, type, label}])、`rows`(数据行 Array[Object])、`total`(总行数)、`executionTime`(执行耗时)、`error_message`(错误说明)。
|
|
|
+
|
|
|
+#### 4.5.20 文件下载(`file_download`)
|
|
|
+
|
|
|
+| 属性 | 值 |
|
|
|
+| --- | --- |
|
|
|
+| display | 文件下载 |
|
|
|
+| colorScheme | yellow |
|
|
|
+| sources / targets | `[left, right]` / `[left, right]` |
|
|
|
+
|
|
|
+**initialData**
|
|
|
+
|
|
|
+| 字段 | 类型 | 默认值 | 中文标签 / 说明 |
|
|
|
+| --- | --- | --- | --- |
|
|
|
+| `download_urls` | string | `""` | 下载链接(必填,多行,支持变量如 `{{node_id.url}}`) |
|
|
|
+| `output_mode` | enum | `"single"` | 输出模式:`single`(单个文件) / `multiple`(文件数组) |
|
|
|
+| `timeout_connect` | number | `30` | 连接超时(秒) |
|
|
|
+| `timeout_read` | number | `30` | 读取超时(秒) |
|
|
|
+| `timeout_write` | number | `30` | 写入超时(秒) |
|
|
|
+
|
|
|
+**outputVariables**(动态:依赖 `output_mode`)
|
|
|
+
|
|
|
+| 模式 | 变量 | 标签 | 类型 |
|
|
|
+| --- | --- | --- | --- |
|
|
|
+| single | `file` | 文件 | File |
|
|
|
+| single | `file_info` | 文件信息 | FileInfo |
|
|
|
+| multiple | `files` | 文件数组 | Array[File] |
|
|
|
+| multiple | `files_info` | 文件信息数组 | Array[FileInfo] |
|
|
|
+
|
|
|
+`FileInfo` schema:`url`、`fileName`、`filePath`、`size`、`mimeType`、`extension`。
|
|
|
+
|
|
|
+#### 4.5.21 文件上传(`file_upload`)
|
|
|
+
|
|
|
+| 属性 | 值 |
|
|
|
+| --- | --- |
|
|
|
+| display | 文件上传 |
|
|
|
+| colorScheme | yellow |
|
|
|
+| sources / targets | `[left, right]` / `[left, right]` |
|
|
|
+
|
|
|
+**initialData**
|
|
|
+
|
|
|
+| 字段 | 类型 | 默认值 | 中文标签 / 说明 |
|
|
|
+| --- | --- | --- | --- |
|
|
|
+| `files_input` | string | `""` | 文件输入(必填,选择文件或文件列表变量) |
|
|
|
+| `upload_mode` | enum | `"single"` | 上传模式:`single`(单文件) / `batch`(批量) |
|
|
|
+| `timeout` | number | `60` | 超时时间(秒) |
|
|
|
+
|
|
|
+**outputVariables**(动态:依赖 `upload_mode`)
|
|
|
+
|
|
|
+| 模式 | 变量 | 标签 | 类型 |
|
|
|
+| --- | --- | --- | --- |
|
|
|
+| single | `url` | 文件URL | String |
|
|
|
+| single | `file_info` | 文件信息 | FileInfo |
|
|
|
+| single | `result` | 上传结果 | Object |
|
|
|
+| batch | `urls` | URL数组 | Array[String] |
|
|
|
+| batch | `files_info` | 文件信息数组 | Array[FileInfo] |
|
|
|
+| batch | `results` | 上传结果 | Array[Object] |
|
|
|
+
|
|
|
+#### 4.5.22 文档提取器(`doc_ext`)
|
|
|
+
|
|
|
+| 属性 | 值 |
|
|
|
+| --- | --- |
|
|
|
+| display | 文档提取器 |
|
|
|
+| colorScheme | yellow |
|
|
|
+| sources / targets | `[right]` / `[left]` |
|
|
|
+
|
|
|
+**initialData**
|
|
|
+
|
|
|
+| 字段 | 类型 | 默认值 | 中文标签 / 说明 |
|
|
|
+| --- | --- | --- | --- |
|
|
|
+| `input_file` | string | `""` | 输入文件(必填,选择文件或文件列表变量) |
|
|
|
+| `prefer_html_table` | boolean | `true` | 偏好HTML表格 |
|
|
|
+| `input_type` | string | `""` | 输入类型(运行时推导:单文件 / Array[File] 等) |
|
|
|
+| `connect_timeout` | number | — | 连接超时(秒) |
|
|
|
+| `read_timeout` | number | — | 读取超时(秒) |
|
|
|
+| `write_timeout` | number | — | 写入超时(秒) |
|
|
|
+
|
|
|
+**outputVariables**(动态:依赖 `input_type`)
|
|
|
+
|
|
|
+| 输入类型 | 输出 |
|
|
|
+| --- | --- |
|
|
|
+| 单文件 | `file_name`(文件名 String)、`file_content`(文件内容 String)、`error`(错误信息 String) |
|
|
|
+| Array[File] | `result`(解析结果 Array[Object],schema 同单文件三字段) |
|
|
|
+
|
|
|
+#### 4.5.23 公文生成(`official_doc`)
|
|
|
+
|
|
|
+| 属性 | 值 |
|
|
|
+| --- | --- |
|
|
|
+| display | 公文生成 |
|
|
|
+| colorScheme | yellow |
|
|
|
+| sources / targets | `[left, right]` / `[left, right]` |
|
|
|
+
|
|
|
+**initialData**
|
|
|
+
|
|
|
+| 字段 | 类型 | 默认值 | 中文标签 / 说明 |
|
|
|
+| --- | --- | --- | --- |
|
|
|
+| `documentType` | enum | `"tongzhi"` | 文种类型(详见下方枚举) |
|
|
|
+| `category` | enum | `"standard"` | 公文分类:`standard`(标准文 下行文) / `upstream`(上行文) / `other`(其他) |
|
|
|
+| `issueOrg` | string | `""` | 发文机关名称(必填) |
|
|
|
+| `issueNumber` | string | `""` | 发文字号 |
|
|
|
+| `copyNumber` | string | `""` | 份号(可选) |
|
|
|
+| `secretLevel` | enum | `""` | 密级:`""`/`secret`(秘密)/`confidential`(机密)/`top_secret`(绝密) |
|
|
|
+| `secretPeriod` | string | `""` | 保密期限 |
|
|
|
+| `urgencyLevel` | enum | `""` | 紧急程度:`""`/`urgent`(加急)/`very_urgent`(特急) |
|
|
|
+| `signers` | string | `""` | 签发人(多人逗号分隔) |
|
|
|
+| `title` | string | `""` | 标题(必填) |
|
|
|
+| `mainRecipient` | string | `""` | 主送机关 |
|
|
|
+| `content` | string | `""` | 正文内容(必填,支持变量引用) |
|
|
|
+| `attachments` | string | `""` | 附件名称(多个附件逗号分隔) |
|
|
|
+| `issueOrgName` | string | `""` | 发文机关署名 |
|
|
|
+| `issueDate` | string | `""` | 成文日期(如:2024年1月1日) |
|
|
|
+| `attendees` | string | `""` | 出席人员 |
|
|
|
+| `observers` | string | `""` | 列席人员(可选) |
|
|
|
+| `ccOrgs` | string | `""` | 抄送机关 |
|
|
|
+| `printOrg` | string | `""` | 印发机关 |
|
|
|
+| `printDate` | string | `""` | 印发日期 |
|
|
|
+| `showIssueNumber` | boolean | `true` | 显示发文字号 |
|
|
|
+| `showMainRecipient` | boolean | `true` | 显示主送机关 |
|
|
|
+| `showSigners` | boolean | `true` | 显示签发人 |
|
|
|
+| `showIssueOrgName` | boolean | `true` | 显示发文机关署名 |
|
|
|
+| `showIssueDate` | boolean | `true` | 显示成文日期 |
|
|
|
+| `showAttendees` | boolean | `true` | 显示出席人员 |
|
|
|
+
|
|
|
+`documentType` 枚举(15 种):`tongzhi`(通知)、`tongbao`(通报)、`baogao`(报告)、`qingshi`(请示)、`pifu`(批复)、`yijian`(意见)、`jueyi`(决议)、`jueding`(决定)、`gongbao`(公报)、`gonggao`(公告)、`tonggao`(通告)、`mingling`(命令/令)、`yian`(议案)、`jiyao`(纪要)、`gonghan`(函)。
|
|
|
+
|
|
|
+UI 分组:版头信息、落款信息、纪要专用(仅纪要文种显示)、版记信息。
|
|
|
+
|
|
|
+**outputVariables**
|
|
|
+
|
|
|
+| 变量 | 标签 | 类型 |
|
|
|
+| --- | --- | --- |
|
|
|
+| `files` | 文件数组 | Array[File] |
|
|
|
+| `files_info` | 文件信息数组 | Array[FileInfo] |
|
|
|
+
|
|
|
+#### 4.5.24 变量覆盖(`var_override`)
|
|
|
+
|
|
|
+| 属性 | 值 |
|
|
|
+| --- | --- |
|
|
|
+| display | 变量覆盖 |
|
|
|
+| colorScheme | pink |
|
|
|
+| defaultWidth | 280 |
|
|
|
+| sources / targets | `[right]` / `[left]` |
|
|
|
+
|
|
|
+**initialData**
|
|
|
+
|
|
|
+| 字段 | 类型 | 默认值 | 中文标签 / 说明 |
|
|
|
+| --- | --- | --- | --- |
|
|
|
+| `variables` | array | `[]` | 变量配置列表(详见下方;支持"添加变量") |
|
|
|
+| `width` | number | `280` | 节点宽度 |
|
|
|
+
|
|
|
+`variables` 每项结构:
|
|
|
+
|
|
|
+```ts
|
|
|
+{
|
|
|
+ target: string, // 变量名 (Key)
|
|
|
+ label: string, // 变量名称(展示用)
|
|
|
+ type: string, // 变量类型:String / Number / Boolean / Object / Array / File / FileInfo 等
|
|
|
+ value: any, // 变量值(支持变量引用 {{...}})
|
|
|
+ required: boolean, // 必填
|
|
|
+ options: string[], // 下拉选项(type=enum 时)
|
|
|
+ allowed_types: string[] // 允许的文件类型(type=File 时)
|
|
|
+}
|
|
|
+```
|
|
|
+
|
|
|
+**outputVariables**(动态:根据 `variables` 列表生成)
|
|
|
+
|
|
|
+每个 `variables` 项生成一个输出变量 `{name=target, label=label||target, type}`。
|
|
|
+当 type 为 `File` / `Array[File]` / `FileInfo` / `Array[FileInfo]` 时,额外追加 `${target}_info` 配套 FileInfo 输出。
|
|
|
+
|
|
|
+#### 4.5.25 变量转换(`var_transform`)
|
|
|
+
|
|
|
+| 属性 | 值 |
|
|
|
+| --- | --- |
|
|
|
+| display | 变量转换 |
|
|
|
+| colorScheme | pink |
|
|
|
+| defaultWidth | 280 |
|
|
|
+| sources / targets | `[right]` / `[left]` |
|
|
|
+
|
|
|
+**initialData**
|
|
|
+
|
|
|
+| 字段 | 类型 | 默认值 | 中文标签 / 说明 |
|
|
|
+| --- | --- | --- | --- |
|
|
|
+| `input_variable` | string | `""` | 输入变量(选择要展开的变量 Object 或 Array[Object]) |
|
|
|
+| `input_type` | string | `""` | 输入类型(运行时推导) |
|
|
|
+| `input_schema` | array | `[]` | 输入 schema(来自上游,每项 `{name, label, type}`) |
|
|
|
+| `outputs` | array | `[]` | 输出变量结构(详见下方) |
|
|
|
+| `flatten` | boolean | `false` | 平铺变量 |
|
|
|
+| `width` | number | `280` | 节点宽度 |
|
|
|
+
|
|
|
+`outputs` 每项:
|
|
|
+
|
|
|
+```ts
|
|
|
+{
|
|
|
+ name: string, // 字段名
|
|
|
+ label: string, // 中文名
|
|
|
+ type: string // 类型(可空,未指定时从 input_schema 推导)
|
|
|
+}
|
|
|
+```
|
|
|
+
|
|
|
+UI 提供"添加"按钮新增输出,"选择字段"从上游 schema 拉取。
|
|
|
+
|
|
|
+**outputVariables**(动态:依赖 `flatten` / `input_type` / `outputs`)
|
|
|
+
|
|
|
+- `flatten=true`:直接平铺每个 output 为独立变量(type 自动包装为 `Array[...]`,当 input_type 是 Array 时)
|
|
|
+- `flatten=false` 且 input_type 以 `Array` 开头:单个 `result`(展开结果, Array[Object]) 输出,schema 为 outputs 映射
|
|
|
+- `flatten=false` 且 input_type 为 Object:每个 output 一对一输出(File 系追加 `_info` 配套)
|
|
|
+
|
|
|
+#### 4.5.26 代码执行(`code`)
|
|
|
+
|
|
|
+| 属性 | 值 |
|
|
|
+| --- | --- |
|
|
|
+| display | 代码执行 |
|
|
|
+| colorScheme | pink |
|
|
|
+| sources / targets | `[left, right]` / `[left, right]` |
|
|
|
+
|
|
|
+**initialData**
|
|
|
+
|
|
|
+| 字段 | 类型 | 默认值 | 中文标签 / 说明 |
|
|
|
+| --- | --- | --- | --- |
|
|
|
+| `language` | enum | `"python3"` | 语言:`python3`(Python) / `javascript`(JavaScript) |
|
|
|
+| `code` | string | `""` | 代码正文(多行编辑器) |
|
|
|
+| `args` | array | `[]` | 入参列表(每项 `{name, type}`,作为函数参数注入) |
|
|
|
+| `outputs` | array | `[{name:"result", type:"String"}]` | 输出变量声明(每项 `{name, type, label?}`) |
|
|
|
+
|
|
|
+**outputVariables**(动态:基于 `outputs`;若空则 fallback 为 `[{name:"result", label:"result", type:"String"}]`)
|
|
|
+
|
|
|
+每个 `outputs` 项生成 `{name, label=label||name, type}` 输出。
|
|
|
+
|
|
|
+#### 4.5.27 开始节点(`start`,系统节点)
|
|
|
+
|
|
|
+| 属性 | 值 |
|
|
|
+| --- | --- |
|
|
|
+| display | 开始 |
|
|
|
+| colorScheme | green |
|
|
|
+| sources / targets | `[right]` / `[]`(无入边) |
|
|
|
+
|
|
|
+不可删除,每张图有且仅有一个。无 `initialData`,但内置 `inputs` 数组(用户可在"基础信息 → 内容引导"配置额外的输入字段)。
|
|
|
+
|
|
|
+**outputVariables**(系统注入的"全局变量")
|
|
|
+
|
|
|
+| 变量 | 标签 | 类型 |
|
|
|
+| --- | --- | --- |
|
|
|
+| `query` | 用户问题 | String |
|
|
|
+| `token` | 用户Token | String |
|
|
|
+| `retrieval_counter` | 检索计数器 | Integer |
|
|
|
+| `files` | 用户文件 | Array[File](schema: file_name, url, file_path, mime_type, extension, size) |
|
|
|
+| `files_info` | 用户文件信息 | Array[FileInfo](schema: url, fileName, filePath, size, mimeType, extension) |
|
|
|
+| `user_id` | 用户ID | String |
|
|
|
+| `dept_id` | 部门ID | String |
|
|
|
+| `tenant_id` | 租户ID | String |
|
|
|
+
|
|
|
+> 模板表达式中以 `{{global.query}}`、`{{global.files}}` 等方式引用。
|
|
|
+
|
|
|
+#### 4.5.28 结束节点(`end`,系统节点)
|
|
|
+
|
|
|
+| 属性 | 值 |
|
|
|
+| --- | --- |
|
|
|
+| display | 结束 |
|
|
|
+| colorScheme | red |
|
|
|
+| sources / targets | `[]`(无出边) / `[left]` |
|
|
|
+
|
|
|
+不可删除,每张图有且仅有一个。无 `initialData` 默认字段,画布上默认显示"输出全部变量"。
|
|
|
+
|
|
|
+**initialData**
|
|
|
+
|
|
|
+| 字段 | 类型 | 默认值 | 说明 |
|
|
|
+| --- | --- | --- | --- |
|
|
|
+| `output_variables` | array | `[]` | 显式声明输出;空数组 = 输出全部上游变量。每项 `{nodeId, name, label, type}` |
|
|
|
+
|
|
|
+**outputVariables**:`[]`(结束节点不向下游输出,是流程终点)。
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## 5. 关键 URL / 路由速查
|
|
|
+
|
|
|
+| 用途 | URL |
|
|
|
+| --- | --- |
|
|
|
+| 登录 | `/login` |
|
|
|
+| 自动化列表 | `/automation` |
|
|
|
+| 智能体列表 | `/agent-management` |
|
|
|
+| 智能体编辑(含 Tab) | `/agent-management/edit/{sceneId}/{tab?}`,`tab` 取值:`dialog`(对话) / `edit`(编辑) / `workflow-arrange`(工作流编排) / `interface`(接口详情) |
|
|
|
+| 工作流编排 iframe | `/workflow-web/design/{graphId}?returnTo=...&sceneId={sceneId}` |
|
|
|
+| Vue3 工作流编排 | `/workflow-vue3/design/{id}` |
|
|
|
+
|
|
|
+> `{sceneId}` 是智能体 ID;`{graphId}` 是工作流图 ID,二者不一定相同(一个智能体可对应一个发布图与多个历史版本图)。
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## 6. 探索方法与已知限制
|
|
|
+
|
|
|
+### 6.1 节点 schema 数据来源
|
|
|
+
|
|
|
+本文档 4.3 / 4.4 / 4.5 各节中的字段表来自 **前端 JS bundle 的静态分析**,并非 UI 截图推断:
|
|
|
+
|
|
|
+1. 主 bundle `/workflow-web/assets/index-21045ea8.js`(~631KB)只是引导代码。
|
|
|
+2. 真正的应用代码在按需加载的 chunk `/workflow-web/assets/index-2e3277ca.js`(~7.4MB,含 11657 个中文字符)中。
|
|
|
+3. 在该 chunk 中可直接定位到 **节点元数据注册表 `Y9e`**(起始位置约 7213314,结束于约 7243000),其中按节点 type 顺序声明了每个节点的:
|
|
|
+ - `display`(中文名)、`colorScheme`、`description`、`allowedConnections`(sources/targets)
|
|
|
+ - `initialData`:默认配置对象(本文 4.5 各节"initialData"表的字段名与默认值即取自此处)
|
|
|
+ - `inputVariables` / `outputVariables`:输入输出变量声明(部分为函数动态计算,函数源码完整保留在 bundle 中)
|
|
|
+ - `properties`:字段校验器引用
|
|
|
+4. 节点分类常量 `Z9e` 紧随其后(位置约 7243700),与 UI 左侧节点列表的 6 个分类完全一致。
|
|
|
+5. 节点配置面板的中文表单标签(如"短期记忆""流式输出""输出引用"等)从各面板组件的 `label:"..."` JSX 属性中抽取,与 4.5 各节"中文标签"列对应。
|
|
|
+
|
|
|
+> 因此 4.5 中所有字段名、默认值、输出变量 schema 均为**权威数据**,可直接用于后端 schema 建模。
|
|
|
+
|
|
|
+### 6.2 已知限制
|
|
|
+
|
|
|
+1. **业务接口需要密钥协商**:直接 `fetch('/jizhiApi/...')` 会返回 `{"msg":"当前请求会话中不存在加密秘钥","code":521}`;如需通过 API 获取已有工作流的节点配置作为参考,需要先在前端 SDK 完成 `cryptKeys` / `cryptConf` 协商,或在浏览器控制台中复用前端已发出的请求。
|
|
|
+2. **Vue3 编排器对部分工作流报"工作流不存在"**:用新建工作流的 ID 进入 Vue3 编排器会失败,需使用默认的"工作流编排"Tab(React Flow)。
|
|
|
+3. **拖拽添加节点不稳定**:在 headless 浏览器中通过 `page.mouse` / `frame.dragTo` 触发 React Flow 的 HTML5 DnD 事件不易成功(多种合成事件方案均未生效)。但本次通过 JS bundle 静态分析已绕开此限制。
|
|
|
+4. **图谱检索节点的 feature flag**:`graph_retrieval` 节点受常量 `G9e` 控制;若生产环境未开启,该节点会从基础节点列表中过滤掉(`X9e.filter(e=>"graph_retrieval"!==e)`),但 `Y9e` 注册表中仍保留其完整定义。
|
|
|
+5. **测试残留**:为获取完整编辑权限,本次探索在平台创建过一个名为 `node-fields-exploration` 的工作流(智能体 ID `7782`),探索完成后已按 `/agent-management → 我的 → 工作流筛选 → 卡片"更多管理" → 删除智能体` 流程清理完毕(删除后"我的"工作流列表显示"暂无智能体")。
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## 7. 与本仓库(agent-management)的对照建议
|
|
|
+
|
|
|
+下表把平台能力映射到本仓库后端可能的实现模块,便于后续做工作流引擎与节点 schema 时对照:
|
|
|
+
|
|
|
+| 平台能力 | 建议映射到本仓库的位置 |
|
|
|
+| --- | --- |
|
|
|
+| 智能体基础信息 + Agent 配置(运行参数 / 能力 / 工具 / 技能 / MCP / 插件) | `agent` 实体 + 配套的 `agent_capability` / `agent_tool_binding` 等关联表 |
|
|
|
+| 自动化任务(cron / 间隔) | `automation_task` 表 + 调度器(Quartz / Spring Scheduling) |
|
|
|
+| 工作流编排(节点 + 边 + 配置) | `workflow_graph` 表(存储 React Flow 序列化结果)+ 节点执行器(Strategy / Chain 模式) |
|
|
|
+| 节点配置 schema | 每个节点类型对应一个 `NodeHandler` 实现,定义输入 / 输出变量声明与执行逻辑(参考 4.5 / 4.6 的字段表) |
|
|
|
+| 节点异常处理 | `NodeExceptionConfig`(处理方式、最大重试次数),所有节点 Handler 共享 |
|
|
|
+| 工作流版本管理 | `workflow_graph_version`(每次发布生成一份快照,运行时按版本号加载) |
|
|
|
+| 子图 | `workflow_subgraph_binding`:节点 ID → 子工作流版本 ID |
|
|
|
+
|
|
|
+> 本仓库中"错误模式管理"相关功能(已扩展为 25 条内置模式并支持模糊匹配)对应到平台"其他管理 → 错误模式"页面,二者命名一致,可直接对齐。
|