Files
mkdocs/docs/Obsidian笔记体系/Projects/saars开发/aiapply/aiagent节点类型扩展说明.md
2026-01-22 11:18:40 +08:00

10 KiB
Raw Blame History

已实现的节点类型

1. Switch节点多分支路由

  • 后端根据字段值进行多分支路由支持 cases 和 default

  • 前端已添加到节点工具箱使用 Operation 图标

  • 执行类似条件节点根据 sourceHandle 过滤边

2. Merge节点合并分支

  • 后端支持 merge_all、merge_first、merge_last 模式

  • 策略array、object、concat

  • 前端:已添加到节点工具箱

3. Wait节点等待条件

  • 后端支持 condition、time 等待类型

  • 功能:条件等待(轮询)、固定时间等待

  • 前端已添加到节点工具箱使用 Timer 图标

4. JSON处理节点

  • 后端支持 parse、stringify、extract、validate 操作

  • 功能JSON解析、字符串化、路径提取、基本验证

  • 前端:已添加到节点工具箱

5. 文本处理节点

  • 后端支持 split、join、extract、replace、format 操作

  • 功能:文本拆分、合并、正则提取、替换、模板格式化

  • 前端已添加到节点工具箱使用 Edit 图标

6. 缓存节点

  • 后端支持 get、set、delete、clear 操作

  • 功能:内存缓存(单次执行会话内有效),支持 TTL

  • 前端已添加到节点工具箱使用 Box 图标

实现细节

后端实现

  • 在 workflow_engine.py 的 execute_node 方法中添加了6个节点的执行逻辑

  • Switch节点支持分支过滤类似条件节点

  • 缓存节点使用内存存储_cache_store 和 _cache_timestamps

前端实现

  • 在 WorkflowEditor.vue 中添加了节点类型定义

  • 在 customNodeTypes 中注册了所有新节点使用 DefaultNode

  • 添加了默认配置和图标导入

验证器更新

  • 在 workflow_validator.py 中添加了新节点类型到允许列表

使用方式

  1. 在节点工具箱中找到新节点Switch、Merge、等待、JSON处理、文本处理、缓存

  2. 拖拽到画布创建节点

  3. 点击节点配置参数(在右侧属性面板)

  4. 连接节点并执行工作流

所有节点已实现并通过 linter 检查。可以在工作流编辑器中测试这些新节点。

已实现的节点类型

1. 向量数据库节点vector_db

  • 后端支持 search、upsert、delete 操作

  • 功能:

  • 向量相似度搜索(余弦相似度)

  • 向量存储和更新

  • 集合管理

  • 实现:内存存储(生产环境建议使用 ChromaDB、Pinecone 等

  • 前端已添加到节点工具箱使用 Connection 图标

2. 日志节点log

  • 后端支持 debug、info、warning、error 级别

  • 功能:

  • 记录日志消息

  • 可选包含数据

  • 集成系统日志记录器

  • 前端已添加到节点工具箱使用 Document 图标

3. 错误处理节点error_handler

  • 后端支持 notify、retry、stop 模式

  • 功能:

  • 捕获上游节点错误

  • 错误重试(可配置重试次数和延迟)

  • 错误通知(记录日志)

  • 注意:简化实现,主要用于错误检测和通知

  • 前端已添加到节点工具箱使用 Warning 图标

4. CSV处理节点csv

  • 后端支持 parse、generate、convert 操作

  • 功能:

  • CSV解析支持表头

  • CSV生成从字典列表或数组列表

  • CSV格式转换改变分隔符等

  • 实现:使用 Python 内置 csv 模块

  • 前端已添加到节点工具箱使用 Document 图标

5. 对象存储节点object_storage

  • 后端支持 upload、download、delete、list 操作

  • 功能:

  • 文件上传

  • 文件下载

  • 文件删除

  • 文件列表

  • 支持提供商s3、oss、cos

  • 注意:当前为接口框架,实际使用需安装相应 SDK如 boto3、oss2

  • 前端已添加到节点工具箱使用 Box 图标

实现细节

后端实现

  • 在 workflow_engine.py 的 execute_node 方法中添加了5个节点的执行逻辑

  • 向量数据库使用内存存储_vector_store支持余弦相似度计算

  • CSV处理使用 Python 内置 csv 模块

  • 对象存储提供接口框架便于后续集成实际 SDK

前端实现

  • 在 WorkflowEditor.vue 中添加了节点类型定义

  • 在 customNodeTypes 中注册了所有新节点

  • 添加了默认配置

验证器更新

  • 在 workflow_validator.py 中添加了新节点类型到允许列表

使用说明

  1. 向量数据库节点:用于 RAG 应用和语义搜索
  • 先使用 upsert 存储向量

  • 使用 search 进行相似度搜索

  1. 日志节点:用于调试和监控
  • 设置日志级别和消息模板

  • 可选择是否包含数据

  1. 错误处理节点:用于错误捕获和处理
  • 配置重试次数和延迟

  • 选择错误处理模式

  1. CSV处理节点用于数据处理
  • parse将 CSV 文本解析为数组

  • generate将数据生成为 CSV 文本

  1. 对象存储节点:用于文件存储
  • 当前为接口框架,实际使用需要:

  • AWS S3安装 boto3

  • 阿里云 OSS安装 oss2

  • 腾讯云 COS安装 cos-python-sdk-v5

所有节点已实现并通过 linter 检查。可以在工作流编辑器中测试这些新节点。

已实现的节点类型

1. Slack节点slack

  • 后端支持 send_message、create_channel、get_messages 操作

  • 功能:

  • 发送消息到频道

  • 创建频道

  • 获取频道消息

  • 配置:需要配置 Slack Token

  • 前端已添加到节点工具箱使用 Message 图标

2. 钉钉节点dingtalk/dingding

  • 后端支持 send_message、create_group 操作

  • 功能:

  • 通过 Webhook 或 API 发送消息

  • 创建群组

  • 配置:需要配置 Webhook URL 或 Access Token

  • 前端已添加到节点工具箱使用 Message 图标

3. 企业微信节点wechat_work/wecom

  • 后端支持 send_message、create_group 操作

  • 功能:

  • 发送消息(需要先获取 access_token

  • 创建群组

  • 配置:需要配置 Corp ID、Corp Secret、Agent ID

  • 前端已添加到节点工具箱使用 Message 图标

4. 短信节点sms

  • 后端支持 send、batch_send 操作

  • 功能:

  • 发送短信

  • 批量发送短信

  • 支持提供商aliyun、tencent、twilio

  • 注意:实际使用需要安装相应 SDK

  • 前端已添加到节点工具箱使用 Message 图标

5. PDF处理节点pdf

  • 后端支持 extract_text、generate、merge、split 操作

  • 功能:

  • 提取 PDF 文本

  • 生成 PDF

  • 合并多个 PDF

  • 拆分 PDF

  • 注意需要安装 PyPDF2 或 pdfplumber 库

  • 前端已添加到节点工具箱使用 Document 图标

6. 图像处理节点image

  • 后端支持 resize、crop、convert、ocr 操作

  • 功能:

  • 图像缩放

  • 图像裁剪

  • 格式转换

  • OCR 文字识别

  • 注意需要安装 Pillow 库OCR 需要 pytesseract 和 tesseract-ocr

  • 前端已添加到节点工具箱使用 Picture 图标

7. Excel处理节点excel

  • 后端支持 read、write、convert、formula 操作

  • 功能:

  • 读取 Excel 文件

  • 写入 Excel 文件

  • 格式转换Excel ↔ CSV/JSON

  • 公式计算

  • 注意需要安装 openpyxl 或 pandas 库

  • 前端已添加到节点工具箱使用 Document 图标

实现细节

后端实现

  • 在 workflow_engine.py 的 execute_node 方法中添加了7个节点的执行逻辑

  • 通信节点使用 HTTP API 调用(需要配置相应的 Token/Secret

  • PDF/图像/Excel 处理节点提供接口框架,实际使用需要安装相应库

前端实现

  • 在 WorkflowEditor.vue 中添加了节点类型定义

  • 在 customNodeTypes 中注册了所有新节点

  • 添加了默认配置和图标导入包括 Picture 图标

验证器更新

  • 在 workflow_validator.py 中添加了新节点类型到允许列表

依赖说明

通信节点

  • Slack需要有效的 Slack Token

  • 钉钉:需要 Webhook URL 或 Access Token

  • 企业微信:需要 Corp ID、Corp Secret、Agent ID

  • 短信:需要安装相应 SDK

  • 阿里云pip install alibabacloud-dysmsapi20170525

  • 腾讯云pip install tencentcloud-sdk-python

  • Twiliopip install twilio

文件处理节点

  • PDFpip install PyPDF2 pdfplumber

  • 图像pip install PillowOCR 需要 pip install pytesseract 并安装 tesseract-ocr

  • Excelpip install openpyxl pandas

所有节点已实现并通过 linter 检查。可以在工作流编辑器中测试这些新节点。注意:部分节点需要安装相应的依赖库才能正常使用。

已实现节点

  • 子工作流节点subworkflow

  • 功能:调用其他工作流;支持输入映射

  • 说明当前为占位实现返回映射后的输入与目标 workflow_id后续可集成真正的子工作流执行

  • 代码执行节点code

  • 功能执行简易 Python 代码JS 执行为占位

  • 安全使用受限 exec生产需更严格沙箱

  • 默认result = input_data

  • OAuth节点oauth

  • 功能:获取/刷新 Token占位返回模拟 token

  • 默认provider、client_id、client_secret、scopes

  • 数据验证节点validator

  • 功能基础类型校验支持 on_errorreject/continue/transform

  • 默认 schema 空对象

  • 批处理节点batch

  • 功能:按批次拆分/分组/聚合数据;可选择等待完成

  • 默认batch_size=100mode=split

后端

  • backend/app/services/workflow_engine.py新增上述节点的执行逻辑占位或简化实现

  • backend/app/services/workflow_validator.py允许的新节点类型列表已更新

前端

  • frontend/src/components/WorkflowEditor/WorkflowEditor.vue

  • 节点类型已加入工具箱iconssubworkflow/批处理用 Grid/Operationcode 用 Editvalidator/OAuth 用 Document

  • customNodeTypes 已注册默认配置已添加

  • 图标导入已补充 Picture之前图像节点用到

依赖说明

  • 子工作流:需后续集成实际工作流调用

  • 代码执行:当前仅受限 PythonJS 需集成运行时

  • OAuth占位返回 mock token实际需对接各 provider

  • 数据验证为简化版复杂校验可接入 jsonschema

  • 批处理:基础分批逻辑;可按需扩展并行/异步处理

如需把子工作流执行接入真正的 WorkflowEngine、完善代码执行安全沙箱或接入真实 OAuth provider可继续迭代。