使用节点
节点是 Atomemo 工作流的基本构建单元。每个节点代表一个特定的操作或功能,通过连接节点来定义数据流和业务逻辑。
节点类型
Atomemo 提供三种类型的节点:
触发器节点 (Trigger)
触发器是工作流的入口点,定义何时启动执行。
可用触发器:
- Chat 触发器 - 通过用户对话触发
- Manual 触发器 - 手动触发执行
- Webhook 触发器 - 通过 HTTP 请求触发
特点:
- 每个工作流只能有一个触发器
- 必须是工作流的第一个节点
- 定义工作流的上下文数据
Action 节点
Action 节点执行具体的操作任务。
常用 Action 节点:
- AI Agent - 构建智能 AI 代理
- LLM - 调用大语言模型
- HTTP 请求 - 调用外部 API
- 代码 - 执行自定义代码
- 条件分支 - 根据条件执行不同分支
- 回答 - 返回响应消息
特点:
- 可以有多个 Action 节点
- 按顺序或并行执行
- 可以访问前面节点的数据
Tool 节点
Tool 节点为 AI Agent 提供可调用的工具能力。
可用 Tool 节点:
- 代码工具 - 提供代码执行能力
- HTTP 请求工具 - 提供 API 调用能力
- 实体识别工具 - 提供信息提取能力
特点:
- 只能连接到 AI Agent 节点
- 由 AI Agent 自主决定何时调用
- 扩展 AI Agent 的能力范围
添加节点
Atomemo 提供三种方式添加节点到画布:
方式一:从工具栏添加
这是最常用的添加节点方式。
点击添加按钮
- 在画布左上角找到"+"按钮(Add 按钮)
- 或按
Tab键打开节点面板
浏览节点列表
- 使用搜索框快速查找节点
- 通过分类标签筛选节点:
- 全部 - 显示所有节点
- 触发器 - 仅显示触发器节点
- Action - 仅显示 Action 节点
- Tool - 仅显示 Tool 节点
- 插件 - 显示已安装的插件节点
添加节点
- 拖拽方式:
- 拖动节点卡片到画布
- 松开鼠标完成添加
- 点击方式:
- 点击节点卡片
- 节点会跟随鼠标移动
- 在画布上点击放置节点
- 拖拽方式:
快捷键: Tab - 打开/关闭节点面板
示例流程:
1. 按 Tab 键打开节点面板
2. 在搜索框输入 "HTTP"
3. 找到 "HTTP 请求" 节点
4. 拖拽到画布中心
5. 节点已添加到画布方式二:从右键菜单添加
通过画布右键菜单快速添加节点。
打开右键菜单
- 在画布空白处右键点击
- 选择"添加节点"子菜单
选择节点
- 浏览节点分类菜单
- 点击要添加的节点
节点自动创建
- 节点会在鼠标位置创建
- 无需拖拽,直接完成添加
适用场景:
- 快速添加节点
- 在特定位置创建节点
- 不需要预览节点信息
快捷键:
Shift + T- 整理画布(Tidy Up)Cmd/Ctrl + A- 全选节点
方式三:从节点连接点添加
这是最流畅的添加方式,可以同时创建节点和连接。
通过节点把手添加
每个节点都有连接点(把手),用于连接到其他节点:
右侧把手 (输出端口):
- 位于节点右侧
- 用于连接到下一个节点
- 显示为圆形按钮
底部把手 (Tool 输出):
- 位于 AI Agent 节点底部
- 用于连接 Tool 节点
- 仅在 AI Agent 节点显示
添加步骤
方法 1:拖拽把手
开始拖拽
- 找到节点的输出把手(圆形按钮)
- 点击并拖动把手
- 连接线会跟随鼠标
显示节点菜单
- 拖动到空白处
- 松开鼠标
- 自动弹出节点选择菜单
选择节点
- 在菜单中浏览可用节点
- 点击要添加的节点
- 节点和连接自动创建
方法 2:点击把手
点击把手
- 直接点击节点的输出把手
- 无需拖拽
节点菜单弹出
- 菜单显示在把手旁边
- 显示可连接的节点列表
选择并添加
- 点击要添加的节点
- 节点会创建在当前节点旁边
- 自动建立连接
智能过滤:
- 右侧输出把手: 显示 Action 节点(排除触发器和 Tool)
- 底部输出把手: 仅显示 Tool 节点
- 根据节点类型自动过滤,只显示可连接的节点
优势:
- 一次操作完成添加和连接
- 自动计算节点位置
- 保持工作流整洁
- 提高构建效率
节点配置
添加节点后,需要配置节点参数。
选择节点
点击节点
- 点击画布上的节点
- 节点边框高亮显示
- 右侧显示配置面板
配置面板
- 显示节点的所有参数
- 每个参数都有说明
- 支持表达式和固定值
配置参数
基本参数:
- 必填参数: 标有红色星号
- 可选参数: 可以留空
- 默认值: 部分参数有预设值
参数类型:
- 文本输入: 输入字符串或数字
- 下拉选择: 从选项中选择
- 代码编辑器: 输入代码或表达式
- 文件上传: 上传文件
- 开关: 启用或禁用功能
使用表达式:
- 点击参数右侧的表达式图标
- 输入表达式引用其他节点数据
- 使用
$('节点名称').字段名语法 - 支持字符串模板和函数调用
示例:
// 引用触发器的消息
$('Chat Trigger').message
// 引用 HTTP 请求的响应
$('HTTP Request').body.data
// 使用字符串模板
`用户 ${$('Chat Trigger').userId} 的订单`
// 使用方法
$('HTTP Request').body.items.length节点设置
点击节点右上角的菜单图标,可以访问节点设置:
常用设置:
- 重命名节点: 修改节点显示名称
- 添加注释: 为节点添加说明
- 错误处理: 配置失败时的行为
- 重试策略: 设置重试次数和间隔
- 超时设置: 设置节点执行超时时间
连接节点
节点之间通过连接线来定义数据流。
创建连接
方式一:拖拽连接
- 从源节点的输出把手拖动
- 拖动到目标节点的输入把手
- 松开鼠标完成连接
方式二:点击连接
- 点击源节点的输出把手
- 点击目标节点的输入把手
- 自动创建连接
连接规则
基本规则:
- 触发器节点只能连接到 Action 节点
- Action 节点可以连接到其他 Action 节点
- Tool 节点只能连接到 AI Agent 节点
- 不能形成循环连接
连接限制:
- 每个输入端口通常只能接受一个连接
- 输出端口可以连接到多个节点
- 某些节点支持多输入(如 Merge 节点)
管理连接
删除连接:
- 选中连接线
- 按
Delete或Backspace键 - 或右键选择"删除"
重新连接:
- 删除旧连接
- 创建新连接
节点操作
移动节点
单个节点:
- 点击并拖动节点
- 松开鼠标放置节点
多个节点:
- 按住
Shift点击选择多个节点 - 或拖动选择框选择区域
- 拖动任一选中节点移动所有节点
复制节点
快捷键:
Cmd/Ctrl + C- 复制Cmd/Ctrl + V- 粘贴Cmd/Ctrl + D- 复制并粘贴(duplicate)
右键菜单:
- 右键点击节点
- 选择"复制"
- 在目标位置选择"粘贴"
删除节点
删除单个节点:
- 选中节点
- 按
Delete或Backspace键 - 或右键选择"删除"
删除多个节点:
- 选中多个节点
- 按
Delete或Backspace键
智能删除 (Shift + Delete):
- 删除节点并自动重新连接前后节点
- 保持工作流连续性
整理画布
自动整理:
- 按
Shift + T键 - 或在右键菜单选择"整理"
- 节点会自动排列整齐
手动调整:
- 拖动节点到理想位置
- 使用对齐辅助线
- 保持节点间距一致
节点状态
节点在执行时会显示不同的状态:
执行状态
等待执行 (灰色):
- 节点尚未执行
- 等待前置节点完成
执行中 (蓝色动画):
- 节点正在执行
- 显示加载动画
执行成功 (绿色):
- 节点执行完成
- 显示对勾图标
执行失败 (红色):
- 节点执行出错
- 显示错误图标
- 点击查看错误详情
查看数据
在节点编辑器中可以查看节点的输入输出数据:
上下文 (左侧面板):
- 显示所有上游节点的输出数据
- 可用于表达式引用
- 支持执行上游节点查看数据
输出 (右侧面板):
- 显示当前节点的输出数据
- 支持 Schema、JSON 视图切换
- 可以固定数据 (Pin Data) 用于测试
执行时间:
- 节点显示执行耗时
- 帮助识别性能瓶颈
节点创建面板
搜索节点
在节点面板顶部的搜索框中:
按名称搜索:
输入: "HTTP"
结果: HTTP 请求、HTTP 请求工具按功能搜索:
输入: "AI"
结果: AI Agent、AI 分类器按描述搜索:
输入: "调用 API"
结果: HTTP 请求过滤节点
使用分类标签快速过滤:
触发器:
- 仅显示触发器节点
- 用于开始构建工作流
Action:
- 显示所有 Action 节点
- 最常用的节点类型
Tool:
- 显示 Tool 节点
- 用于扩展 AI Agent 能力
插件:
- 显示已安装的插件节点
- 自定义和第三方节点
节点信息
每个节点卡片显示:
基本信息:
- 图标: 节点类型标识
- 名称: 节点名称
- 描述: 简短功能说明
分类颜色:
- 蓝色: 触发器节点
- 紫色: Action 节点
- 绿色: Tool 节点
- 灰色: 插件节点
键盘快捷键
节点操作
| 快捷键 | 功能 |
|---|---|
Tab | 打开/关闭节点面板 |
Cmd/Ctrl + C | 复制节点 |
Cmd/Ctrl + V | 粘贴节点 |
Cmd/Ctrl + D | 复制并粘贴 |
Delete / Backspace | 删除节点 |
Shift + Delete | 智能删除(重新连接) |
画布操作
| 快捷键 | 功能 |
|---|---|
Cmd/Ctrl + A | 全选节点 |
Shift + T | 整理画布 |
Cmd/Ctrl + Z | 撤销 |
Cmd/Ctrl + Shift + Z | 重做 |
Space + 拖动 | 平移画布 |
Cmd/Ctrl + 滚轮 | 缩放画布 |
最佳实践
1. 合理组织节点
线性流程:
Chat Trigger → LLM → Answer分支流程:
Chat Trigger → AI Classifier
↓
├→ [客服] → Answer
├→ [销售] → Answer
└→ [技术] → Answer复杂流程:
Chat Trigger → Entity Recognition → HTTP Request → Code → Answer2. 命名节点
使用描述性名称:
✓ "查询用户信息"
✓ "计算订单总价"
✓ "发送邮件通知"
✗ "HTTP Request"
✗ "Code 1"
✗ "节点"3. 添加注释
为复杂节点添加注释:
- 说明节点用途
- 记录重要逻辑
- 标注注意事项
4. 保持整洁
定期整理画布:
- 使用
Shift + T自动整理 - 保持节点对齐
- 避免连接线交叉
分组相关节点:
- 将相关节点放在一起
- 使用视觉分隔
- 便于理解和维护
5. 测试节点
单独测试:
- 测试每个节点的配置
- 验证输入输出数据
- 确保逻辑正确
渐进构建:
- 先构建核心流程
- 逐步添加功能
- 每次添加后测试
常见问题
Q: 节点添加后为什么不能连接?
A: 检查以下几点:
- Tool 节点只能连接到 AI Agent 的底部端口
- 触发器节点不能连接到另一个触发器
- 某些端口可能已达到连接限制
- 确保连接方向正确(输出→输入)
Q: 如何在节点之间传递数据?
A: 使用表达式语法:
// 引用前面节点的数据
$('节点名称').字段名
// 示例
$('HTTP Request').body.userId
$('Chat Trigger').messageQ: 节点面板打不开怎么办?
A:
- 按
Tab键切换面板状态 - 点击左上角的 "+" 按钮
- 刷新页面重试
Q: 如何删除节点但保持连接?
A: 使用智能删除:
- 选中要删除的节点
- 按
Shift + Delete - 节点会被删除,前后节点自动连接
Q: 节点配置丢失了怎么办?
A:
- 使用
Cmd/Ctrl + Z撤销操作 - 检查版本历史恢复之前的状态
- 系统会自动保存,刷新页面试试
Q: 如何复制整个工作流分支?
A:
- 按住
Shift选择多个节点 - 按
Cmd/Ctrl + C复制 - 按
Cmd/Ctrl + V粘贴 - 所有节点和连接都会被复制