# 工作流

工作流把可重复的过程保存成由动作和控制步骤组成的图。遇到条件判断、审批、等待、循环、并行分支，或多个相互依赖的智能体动作时，工作流比“定时发送一条消息”更合适。

## 先理解三个概念

- **工作流**：可复用的流程定义，以及它要求的输入。
- **定时任务**：按指定时间启动某个工作流的一份已保存配置。
- **运行**：某个已发布工作流版本的一次实际执行。

协作区域里的定时消息和工作流定时任务不是同一个功能：前者是在将来发送一条已保存的消息，后者会启动一个已发布的多步骤工作流。

## 工作流页面导航

从工作区一级入口打开 **工作流** 后会直接进入 **概览**。页面固定提供
**概览**、**工作流**、**定时任务**和**运行记录**四个标签。概览左侧默认按日期展示
昨天、今天和明天，把已经接受的运行和即将发生的定时任务按时间顺序放在一起；
可切换工作空间或仅查看自己及自己拥有的智能体所创建的工作流，也可以按 3 天查看
过去或未来时间段并随时回到今天；点击显示的日期范围可从月历选择任意三天时间段的
中间一天。
右侧统计同一时间段内的运行状态，并列出最近运行记录。运行时间较长的记录
使用有上限的分档高度并显示持续时间，不会按实际时长无限拉高。“最近运行”显示
最近 10 条任意状态的运行记录，按启动时间倒序并在独立区域内滚动；点击记录可
直接打开对应运行。

## 创建和编辑工作流

打开 **工作流**，从模板创建。可视化画布和 YAML 编辑的是同一份草稿；需要由 Loop 持续整理节点位置时可以打开 **自动布局**，开启期间节点位置由系统管理。关闭后会保留当前位置，并允许手动拖动节点。确认草稿可运行后点击 **保存**；Loop 会先校验，再创建供后续运行使用的保存版本。

点击 **添加步骤** 后，可以按“下一步要做什么”选择与 Loop 现有能力对应的步骤；添加后会自动选中、居中并打开核心配置。旁边的步骤查找器可以按名称、ID 或类型选中并居中已有步骤。悬停或选中符合条件的普通连接时，可以直接插入消息或等待步骤；如果插入可能改变数据、审批决定或控制流，Loop 会隐藏这个快捷入口，改由画布或 AI 编辑处理。

右侧面板依次提供工作流信息、当前选中的步骤或连接，以及 AI 编辑。选中普通步骤后，可以点击 **编辑**，用与字段类型匹配的控件修改配置。表单先显示这个步骤的核心配置，再显示画布名称和输入。点击 **应用** 只会更新当前本地草稿，确认后还需要点击 **保存** 才会持久化。会影响分支、端口或连接关系的字段保持只读，并提供 **用 AI 编辑**。可选或条件字段会在需要时出现，但已有的旧值或无效值不会被隐藏，以便修复。协议固定值保留在步骤摘要中，不再显示成不可操作的表单字段。如果表单里还有未应用的修改，离开前会先询问是否放弃；应用后尚未保存的草稿则可以选择 **保存并离开** 或 **不保存并离开**。

画布工具栏会把 **自动运行** 和 **运行** 分开显示。工作流本身只是定义；只有创建并启用定时任务后，才会自动运行。状态会明确区分未配置、已关闭和已开启，右侧工作流信息面板会提供当前适用的创建或管理入口。

修改跨越多个节点，或更适合用语言描述时，可以选择 **AI 编辑**：

1. 选择一个自己拥有的智能体。
2. 用日常语言说明修改要求，也可以插入常用指令并替换其中的占位内容。
3. 如有需要，在画布中选择节点或连接，把它作为本次消息的上下文。
4. 发送请求。

输入框中的文字和它关联的画布对象会作为一个整体保留。输入框不为空时，选择其他节点不会偷偷替换编辑对象；明确发起切换后，可以选择保留当前对象或改用所选节点。主动清除附件后会回到整个工作流的上下文。附加的画布元素用于帮助智能体理解要求，并不限制智能体只能修改那一个位置。

当一次智能体请求可以明确归因到一版草稿修改时，同一面板会显示 **AI 已更新草稿**。可以在原有画布中查看标出的节点，以及归组后的配置或布局变化。点击 **完成检查** 会保留已经更新的草稿；如果期间没有其他人继续更新草稿，也可以点击 **撤销这次修改** 恢复请求前已经保存的内容。此次对比和一键撤销只在当前未中断的页面会话中保留。

如果智能体完成后没有修改已保存的草稿，同一面板会直接说明草稿没有变化，不会进入修改检查；你可以继续在原输入框中调整要求并再次发送。

## 查看发布记录

点击工作流描述后的最新发布信息，可以查看最近 5 个版本。点击其中一个版本会直接打开对应快照；点击 **查看全部发布记录** 会打开完整记录并选中最新版本。所选版本会以只读方式显示在原有的可视化画布或 YAML 视图中，右侧面板则列出所有已发布版本；**最新发布**和**默认运行**是两个独立状态。

点击版本行即可在原位置预览。符合条件的版本可以通过行尾菜单设为默认运行版本，或基于该版本重新发布。更改默认运行版本只影响之后未指定版本的运行，不会改变已有定时任务和已经开始的运行。重新发布会创建新的不可变版本，不会修改当前草稿、之前的版本或已有定时任务。

点击 **返回当前草稿** 或按 Esc 可退出只读预览。打开发布记录前的草稿修改、画布位置和选择都会保留。

## 立即运行

在工作流详情中选择 **运行**，会启动默认的已发布版本。右侧紧凑菜单提供 **添加定时任务** 和 **管理定时任务** 两个入口。主按钮始终是立即运行，不会因为使用菜单而改变。Loop 会按照该版本的输入定义生成表单：

- 有限选项使用选择器；
- 频道、成员、智能体和协作范围只能从当前工作区可访问的资源中选择；
- 数字、日期、时长、列表和结构化值使用与声明类型相符的控件。

选择 **展开工作流预览** 可以查看画布。鼠标悬浮或键盘聚焦某个输入时，使用该输入的节点会变得更明显。校验或启动失败后，弹窗会保留已经填写的内容，方便直接修改并重试。

## 创建定时任务

在工作流详情中打开 **定时任务**，选择 **新建定时任务**，当前工作流会自动预选。也可以从主 **定时任务** 列表选择 **新建**。Loop 会自动使用工作流的最新发布版本；设置执行时间后，再补充该工作流要求的输入。完成的配置区会折叠成摘要，但仍可随时重新编辑。修改前面的内容时，只有受影响的配置区会失效或需要重新确认。

如果当前没有可运行的已发布工作流，工作流选择器仍可打开，并提供返回工作流列表的入口，而不是显示成无法操作的控件。

## 查看运行记录

主 **运行记录** 列表按本地自然日分组，并将最新日期排在前面。展开或折叠某一天后，点击运行记录的任意位置即可进入详情。每行依次展示启动时间、工作流名称、可用的运行耗时、来源和状态。状态只通过最前面的图标展示一次；手动与定时任务来源 Badge 使用不同图标。

运行记录提供两种主要视图：

- **运行图**：查看已执行节点、状态、尝试次数和分支信息。
- **YAML**：查看本次运行固定使用的工作流源文件。

工作流、定时任务和运行记录详情的 Header 左侧都提供返回所属列表的按钮；从概览打开的运行记录则返回概览。

通过 **更多操作 → 调试数据** 查看运行的原始输入、当前状态、输出和错误数据。对于仍在进行的运行，**取消运行** 位于同一菜单的最后一项，执行前会要求确认。

详情面板会关联到对应的工作流；如果本次运行来自定时任务，也会显示对应来源。运行仍在进行时，页面会自动刷新；短暂刷新失败不会清空当前内容。

## 使用建议

- 在工作流输入定义中提供用户容易理解的名称和说明。
- 不允许自由输入时，应声明为选项、频道、成员、智能体或协作范围类型。
- 可执行逻辑变化应发布为新版本；已经开始的运行仍固定使用原版本。
- 启用定时任务前，先用 **运行** 检查重要分支。
