Echolot
流程

流程

在画布上把已存储的请求、MCP 服务器和 Echolot 的工具串联成小程序,可手动运行、按计划运行、由 Webhook 触发,或作为工具提供给智能体。

流程是你画出来的小程序:由连线连接的若干块组成。每个块只做一件事:发送一个已存储的请求、从响应中取出一个值、分支、循环、向你提问、存储变量或写入文件。 流程适合那些原本要手动分好几步完成的工作:用设备代码登录、逐页遍历结果、填充和清理测试数据、每天早上检查一次 API,或者给 AI 智能体提供一个能完成五次请求的工具。

流程保存在工作区中,flows 文件夹里每个流程一个文件,因此可以像请求一样在 Git 中审阅和共享。 流程发送的每个请求都与在请求页面中发送走同一条路径:变量、认证、脚本、检查、代理和历史记录全部生效。

“流程”页面

在边栏顶部的模块切换器中选择“流程”,或按 ⌘5。边栏会列出工作区中的流程。 每个名称下方显示它的启动方式:manual、agent tool、every hour、scheduled 或 webhook。流程旁的警告标志表示它有问题,需要先修复才能运行。

打开了流程 Place a test order 的“流程”页面:边栏中的流程列表,画布上有“开始”块、两个“请求”块、一个“批准”块、一个“日志”块和一个 Cancel order 块,右侧是流程的设置

页面分为三部分:

  • 工具栏位于画布上方:流程名称(更改尚未存储时旁边显示已编辑)、问题数量、整理、适应窗口、缩放比例、复制、运行、运行日志、块、提示和运行。
  • 画布在中间,左下角有整个流程的小地图。点按地图可把视图移到那里。
  • 检查器在右侧。未选择任何内容时,它显示流程本身:名称、描述和输入。选择一个块时,它显示该块的设置。

打开流程时,边栏还会列出该流程的运行(本窗口中的运行,最新的在前)和工作区的请求,可以直接拖到画布上。

创建流程

  1. 在边栏中点按流程旁的 +。
  2. 选择空白流程会得到一个连到“输出”块的“开始”块,也可以在从模板下选一个(见模板)。
  3. 新流程会在画布上打开。在检查器的名称中为它重新命名。

工作区还没有流程时,页面会显示新流程按钮。

要删除流程,选择它并点按流程旁的 −,或按住 Control 键点按它并选择删除…。Echolot 会先询问,然后把文件移到废纸篓。运行已删除流程的其他流程将无法工作。

在画布上搭建

添加块

  • 点按工具栏中的块,或按 ⇧⌘B,打开块选取器:输入文字搜索,然后点按某种块。按 ↩ 添加第一个匹配项。新块出现在视图中央并处于选中状态。
  • 选取器还会在请求下列出工作区中已存储的请求。选择其中一个会添加一个已经设置好发送该请求的“请求”块。
  • 把边栏请求中的请求拖到画布上,松开的位置就会出现一个“请求”块。按住 Control 键点按请求并选择添加到流程,会把它的块放在流程右侧。

每种块的设置和端口见块。

画布上打开的块选取器:一个搜索栏,按“触发器”“动作”“人员”“逻辑”“循环”“数据”和“输出”分组的块种类,最后是已存储的请求

输入在块的左边缘,输出在右边缘。值从输出出发,沿连线前进,到达输入;当所有已连线的输入都有值时,块才会运行。

  • 从输出拖到输入即可连线。连线能够接上时,指针下方的端口会亮起。也可以从输入开始,拖到输出。
  • 一个输入只接受一条连线。把另一个输出连到它上面,会替换旧的连线。一个输出可以连到多个输入。
  • 把新连线松开在空白画布上,块选取器会在那里打开。它只列出能接上这条连线的块,选中的块出现时已经连好线。
  • 要移动连线,把它从终点的输入上拖开,放到另一个输入上。放在空白画布上则会断开。
  • 指向连线,其中间会出现一个按钮,用来断开它。

选择、移动和排列

  • 点按块来选择它。按住 ⇧ 或 ⌘ 点按,可把块加入选择或从中移除。
  • 按住 ⇧ 或 ⌘ 在空白画布上拖移,会画出选框。选框碰到的块都会加入选择。
  • 拖移块即可移动它。按 Esc 取消选择。
  • 方向键会选择该方向上最近的块,视图随之移动。未选择任何内容时,方向键从“开始”块起步。
  • 整理会按运行顺序把块排成列。
  • 复制(⌘D)会复制所选的块以及它们之间的连线。
  • ⌫ 会删除所选的块及其连线,或删除所选的连线。

所选块的检查器中有删除块。选择了多个块时,它会显示数量和删除块。一个流程恰好有一个“开始”块:它不会被拷贝或复制,不能暂停,其检查器中也没有删除块。

平移和缩放

  • 在空白画布上拖移,或用双指或鼠标滚轮滚动,即可平移。
  • 双指张合,或按住 ⌘ 滚动,即可缩放。缩放范围为 20 % 到 250 %,工具栏显示当前比例。
  • 适应窗口(⌥⌘0)显示整个流程。它不会缩小到 50 % 以下,以保证文字可读;更大的流程会从左边缘开始显示。

拷贝和粘贴

编辑 › 拷贝(⌘C)、剪切(⌘X)和粘贴(⌘V)作用于所选的块以及它们之间的连线。 粘贴的块会获得新的 id 并成为当前选择。在同一流程中,它们落在原块旁边;在另一个流程中,则落在视图中央。也可以粘贴到另一个工作区的流程中。 拷贝出的块是 JSON 文本,因此也可以粘贴到消息或 issue 中。

备注

点按工具栏中的提示,添加一张便笺并在其中输入文字。备注位于块的后面,不会运行。

  • 拖移备注即可移动,拖移其右下角的抓取柄可调整大小。
  • 双击备注,或按住 Control 键点按它并选择编辑备注…,即可修改文字。
  • 按住 Control 键点按并选择删除备注,即可移除。

模板用备注来说明应该选择哪些请求。

撤销和存储

画布和检查器中的每项更改都可以用编辑 › 撤销(⌘Z)和重做(⇧⌘Z)撤销:添加、移动、连线、删除、设置、备注和整理。

你不需要自己存储流程。Echolot 会在你最后一次更改后片刻写入文件;在此之前,名称旁显示已编辑。 如果存储失败,Echolot 会说明原因,并提供重试、放弃更改(回到磁盘上的文件)和继续编辑。你的编辑会一直保留在画布上,直到存储成功。

问题

Echolot 会在你编辑时检查流程。工具栏显示问题数量;点按它可查看列表,点按某个问题可选中对应的块。有问题的块带有警告标志,其检查器会列出这些问题。

错误会阻止流程运行:没有“开始”块、必填设置为空(例如没有请求的“请求”块)、请求或流程不存在,或者连线绕成了圈。警告则不会,例如没有任何连线接入、因此永远不会运行的块。 要重复做某件事,请使用重复、逐项或轮询,而不要把连线绕成圈。

输入和输出

输入是运行开始时的值。在未选择任何内容时,于检查器中添加:点按输入旁的 +,输入名称并选择类型(any、text、number、bool、object、list 或 secret)。 “开始”块会为每个输入提供一个输出,另外还有 run,它把所有输入作为一个对象发送。

输入来自“运行”面板、echolot flow run 的 --input 选项、智能体的工具调用,或 Webhook 的查询参数和 JSON 正文。文本会转换成输入的类型:3 转成数字,true 或 yes 转成布尔值,JSON 文本转成对象或列表。secret 输入在运行日志和智能体能看到的内容中会被隐藏。

默认值、描述以及输入是否必填,在流程文件中设置([[inputs]] 表:default、description、required;见工作区文件)。 “运行”面板会把描述显示为字段的占位符,并填入默认值。

“输出”块保存运行返回的内容:返回给调用流程的智能体、echolot flow run、Webhook 的调用方,或父流程的“流程”块。一个流程最多有一个“输出”块。

运行流程并观察

点按运行或按 ⌘R。有输入的流程会先打开一个面板供你填写;空字段使用输入的默认值。流程会先存储,然后在窗口当前使用的环境下运行。流程有错误时,运行不可用。

运行期间:

  • 每个块的边框显示其状态:运行中或等待你操作、通过(绿色)或失败(红色)。
  • 运行日志会在画布下方打开。每个块完成时,日志会列出它的耗时、日志行、测试结果(标题栏中的测试 3/3)以及运行如何结束。点按某一行可选中对应的块。
  • 向你询问的块(“询问”“显示并等待”“批准”)会打开一个面板。见“人员”块。
  • 停止(⌘.)取代运行,用来结束运行。屏幕上的提问会随之消失。

运行结束后,选择一个块,即可在检查器中看到它的上次运行:耗时多久,以及在显示下按端口列出的输入和输出值。可以用它为“提取”块或模板找到某个值的路径。

运行 Place a test order 之后的画布:块带有绿色边框,运行日志在画布下方,检查器显示 Create order 的上次运行输出

之前的运行会保留在窗口中:点按边栏运行下的某一次,或从工具栏的运行菜单中选择,即可在画布上再次显示。该菜单中的清空画布,或运行日志中的清除,会移除运行状态。 运行失败且这台 Mac 的设备端模型可用时,运行日志标题栏中会出现一个按钮,用来解释失败原因。

当受保护的环境处于使用中时,按钮会显示为在 Production 中运行…,Echolot 会在运行开始前询问一次。

有关运行、计划、Webhook、智能体和命令行的更多内容,见运行和触发。 如需有引导的示例,请跟着用流程实现自动化操作。

键盘快捷键

快捷键操作
⌘5显示“流程”模块
⌘R运行流程
⌘.停止运行
⇧⌘B添加块
⌘D复制所选的块
⌥⌘0适应整个流程
⌘C、⌘X、⌘V拷贝、剪切、粘贴块
⌫删除所选内容
⌘Z、⇧⌘Z撤销、重做
方向键选择该方向上最近的块
Esc取消选择

本页内容