jizhi-platform-reference.md 58 KB

极智·智能体开发和应用平台 参考

本文件基于对 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_1answer_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_downloadfile_uploaddoc_extofficial_docvar_overridevar_transformcode

字段 类型 取值 / 默认 说明
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:"..." 模式直接匹配)。所有未列出的基础字段(labelwidthheighterror_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 && !streamjson_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_namefile_titlefile_typekb_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 默认值:

[
  { 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 默认值:

[
  { 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 → Stringnumber → 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 每个分支结构:

{
  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 每项:

{
  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_typeArray[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 每项结构:

{
  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_inputquestions.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 每项结构:

{
  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:urlfileNamefilePathsizemimeTypeextension

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 每项结构:

{
  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 每项:

{
  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(中文名)、colorSchemedescriptionallowedConnections(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 flaggraph_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 条内置模式并支持模糊匹配)对应到平台"其他管理 → 错误模式"页面,二者命名一致,可直接对齐。