Skip to content

AI 工作流编辑器

概述

AI 工作流编辑器用于可视化编排 AI 应用的处理流程,支持 35+ 种节点类型,包括 LLM 调用、知识库检索、代码执行、数据库操作、表单/仪表盘自动化等。

组件结构

views/_core/ai-platform/workflow/
├── index.vue                       # 工作流列表页
├── editor/
│   ├── index.vue                   # 编辑器入口
│   ├── FlowEditor.vue              # 主编辑器(画布 + 面板)
│   ├── BaseNode.vue                # 节点基础组件
│   ├── nodes/                      # 节点组件
│   │   ├── StartNode.vue
│   │   ├── EndNode.vue
│   │   ├── LLMNode.vue
│   │   ├── KnowledgeRetrievalNode.vue
│   │   ├── CodeNode.vue
│   │   ├── ConditionNode.vue
│   │   ├── ParallelNode.vue
│   │   ├── LoopNode.vue
│   │   ├── SubflowNode.vue
│   │   ├── HttpNode.vue
│   │   ├── DatabaseNode.vue
│   │   ├── TemplateNode.vue
│   │   ├── VariableNode.vue
│   │   ├── IntentNode.vue
│   │   ├── MergeNode.vue
│   │   ├── FormCreateNode.vue
│   │   ├── FormDataNode.vue
│   │   ├── DashboardCreateNode.vue
│   │   ├── TextToSqlNode.vue
│   │   ├── DialogNode.vue
│   │   └── ...
│   └── panels/                     # 属性面板
│       ├── Panel.vue               # 面板路由
│       ├── LLMPanel.vue
│       ├── KnowledgeRetrievalPanel.vue
│       ├── CodePanel.vue
│       ├── SubflowPanel.vue
│       └── ...

节点分类

基础节点

节点颜色说明
start绿色开始节点,定义输入变量
end灰色结束节点,定义输出
llm蓝色LLM 调用(系统提示词 + 用户输入)
template黄色Jinja2 模板渲染
variable紫色变量赋值/转换
code橙色Python 代码执行

知识库

节点颜色说明
knowledge_retrieval青色知识库检索(支持 Rerank)

数据操作

节点颜色说明
http靛蓝HTTP 请求
database棕色数据库查询/操作
text_to_sql棕色自然语言转 SQL
form_data粉色表单数据 CRUD

流程控制

节点颜色说明
condition黄色条件分支
parallel蓝色并行执行
merge蓝色合并节点
loop绿色循环节点
intent紫色意图识别分支
subflow灰色子流程调用
dialog橙色对话交互(确认/输入/选择)

业务自动化

节点说明
form_create创建表单
form_basic_info设计表单基本信息
form_ui_design设计表单 UI
form_database_design设计表单数据库
form_database_create创建数据库表
form_list_design设计表单列表
form_publish发布表单
dashboard_create创建仪表盘
dashboard_basic_info设计仪表盘基本信息
dashboard_design设计仪表盘布局
dashboard_publish发布仪表盘
app_create创建应用
app_design设计应用
app_settings应用设置
app_update更新应用

其他

节点说明
system_summary系统摘要生成
snowflake_cortexSnowflake Cortex 集成

编辑器功能

画布操作

  • 拖拽节点到画布
  • 连线:从节点输出端口拖拽到输入端口
  • 缩放/平移/居中
  • 框选/多选
  • 快捷键支持

属性面板

选中节点后右侧显示属性面板:

LLM 节点 (LLMPanel):

  • 选择模型
  • 系统提示词(支持变量插入)
  • 用户消息模板
  • Temperature / Max Tokens
  • RAG 提示:集成知识库检索节点

知识库检索节点 (KnowledgeRetrievalPanel):

  • 选择知识库(多选)
  • 查询变量
  • Top K / Score Threshold
  • Rerank 开关 + 模型选择

代码节点 (CodePanel):

  • Python 代码编辑器(Monaco Editor)
  • 输入变量定义
  • 输出变量定义

子流程节点 (SubflowPanel):

  • 选择已发布的工作流
  • 变量传递模式:all / selected / none
  • 结果传递模式:all / selected / none
  • 循环依赖检测
  • 最大嵌套深度:5层
  • 内联展开视图(显示子流程节点执行状态)

变量系统

节点之间通过变量传递数据:

StartNode.input_text → LLMNode.user_message
LLMNode.output → ConditionNode.condition_value
KnowledgeRetrievalNode.knowledge_context → LLMNode.context

运行调试

  • 单步执行
  • 查看每个节点的输入/输出
  • 变量值实时预览
  • 错误定位

AI 应用集成

AI 工作流可作为 AI 应用的执行逻辑:

AI 应用 (AIApp)
  ├── app_type: 'workflow'
  ├── 关联 AI 工作流
  └── 对话时触发工作流执行
        ├── 用户消息 → Start 节点
        ├── 工作流执行各节点
        └── End 节点输出 → 返回给用户

与审批工作流的区别

特性AI 工作流审批工作流
用途AI 应用编排业务审批流程
执行方式自动执行人工审批
节点类型LLM/代码/数据库等审批/办理/抄送等
数据结构DAG(有向无环图)树形单链表
设计器风格节点连线式钉钉/飞书式
存储位置ai_workflowworkflow_definition

Released under the MIT License.