跳到主要内容

自动化

自动化(Automations)功能支持您设置定时调度以自动运行特定提示词。每次自动运行都会创建一个新聊天,并执行正常的聊天补全流水线(Pipeline),因此模型默认设置、工具、过滤器以及其他流水线行为仍然有效。

管理员可以通过 ENABLE_AUTOMATIONS 环境变量或在管理员面板 > 设置 > 通用选项中全局启用或禁用自动化功能。禁用后,后台自动化工作进程将停止处理任务,API 端点将返回 403,并且侧边栏的入口也将被隐藏。

您可以自动化的操作

  • 按照特定时间表自动运行提示词(每小时、每天、每周、每月、自定义 RRULE)
  • 随时通过 立即运行 (Run Now) 手动触发执行
  • 暂停/恢复自动化任务,无需将其删除
  • 审查每个自动化任务的执行历史记录
  • 对于需要终端上下文的运行任务,可以视情况附加终端服务器(Terminal Server)和工作目录(Working Directory)

访问控制

对于非管理员用户,自动化功能是受到权限限制的。

  • 管理员:始终拥有自动化功能的完整访问权限
  • 用户:需要开启 功能 > 自动化 (Features > Automations) 权限

具体权限类别请参见 RBAC 权限说明

要为用户授权:

  1. 打开 管理员面板 > 用户 > 分组 (Admin Panel > Users > Groups)
  2. 编辑 默认权限 (Default permissions) 或某个特定组
  3. 开启 功能 > 自动化 (Features > Automations)

您也可以通过 USER_PERMISSIONS_FEATURES_AUTOMATIONS 环境变量来设置此项默认权限。

快速访问

在用户菜单中按住 Shift 键即可显示固定/取消固定按钮。固定“自动化”会在侧边栏面板添加一个快捷图标,实现一键直达。

管理员限额

管理员可以为非管理员用户设置全局的自动化使用限额。这些限额通过环境变量配置。管理员不受任何限额影响。

设置选项影响效果环境变量
最大自动化数量限制单个用户可创建的自动化任务总数AUTOMATION_MAX_COUNT
最小调度时间间隔拒绝执行频率高于设定间隔(以秒为单位)的时间表AUTOMATION_MAX_COUNT
  • 最大自动化数量仅在创建新任务时核对。如果降低了该上限,已存在的自动化任务不会被删除。
  • 最小调度时间间隔在创建和更新时都会进行核对。一次性自动化任务(COUNT=1)不受此限制。
  • 两者默认值均为空(即无限制)。设置为正整数即可生效。

创建自动化任务

  1. 打开 用户菜单 > 自动化 (User Menu > Automations)
  2. 点击 新建自动化 (New Automation)
  3. 设置以下信息:
    • 标题 (Title)
    • 指令 (Instructions)(提示词)
    • 模型 (Model)
    • 时间表 (Schedule)
  4. (可选)选择 终端 (Terminal) 服务器及 工作目录 (Working Directory)
  5. 点击 创建 (Create)

创建完成后,Open WebUI 将打开专用自动化编辑器页面,路径为 /automations/{id}

编辑与管理

在自动化任务列表中,点击任意一个自动化任务即可打开其专属的编辑器页面。

在编辑器页面中,您可以:

  • 更新标题、指令、模型、时间表和终端设置
  • 保存更改
  • 点击 立即运行 (Run now) 立即触发执行
  • 暂停/恢复自动化状态
  • 删除当前自动化任务
  • 审查执行日志并打开已运行的历史聊天

在编辑器中,执行日志支持无限滚动加载,因此规模庞大的历史记录将以分批加载的形式 incrementally 呈现。

定时调度方式

支持的调度模式:

  • 一次 (Once)
  • 每小时 (Hourly)
  • 每天 (Daily)
  • 每周 (Weekly)
  • 每月 (Monthly)
  • 自定义 (Custom) (RRULE)

自定义时间表支持标准的 RRULE 语法。无效或已过期的规则将被系统拒绝。

注意事项

  • 自动化任务将在后台工作循环(Worker Loop)中基于轮询间隔自动运行。
  • 每次运行都会记录状态(成功 success错误 error)以及详细的报错信息。
  • 删除一个自动化任务会同时移除其所有的运行历史日志。

从聊天中管理自动化任务

当为具备相应能力的大语言模型启用 原生函数调用模式 (Native Function Calling Mode) 时,您也可以直接在聊天对话中使用内置工具来创建和管理自动化任务。这使您可以说类似于 “在每天早上 9 点帮我安排一份每日总结报告” 的话,模型便会为您直接创建对应的自动化任务。

可用工具

工具名称功能描述
create_automation使用指定的名称、提示词和 RRULE 时间表创建新的自动化任务。使用当前的聊天模型。
update_automation更新已有的自动化任务的名称、提示词、时间表或使用的模型
list_automations列出您的所有自动化任务,包括状态、时间表和下次运行时间
toggle_automation暂停或恢复某个计划的自动化任务
delete_automation删除某个自动化任务及其所有运行历史记录

配置要求

若要在聊天中调用自动化工具,必须满足以下要求:

  1. 必须为模型开启 原生函数调用 (Native Function Calling) 属性
  2. 必须为模型开启 内置工具 (Builtin Tools) 能力
  3. 必须在模型的内置工具设置中开启 自动化 (Automations) 类别(默认开启)
  4. 必须在全局范围内开启 ENABLE_AUTOMATIONS(默认开启)
  5. 用户必须拥有 功能 > 自动化 (Features > Automations) 的权限(管理员始终放行)

有关所有内置系统工具的完整详情,请参见 内置系统工具参考

This content is for informational purposes only and does not constitute a warranty, guarantee, or contractual commitment. Open WebUI is provided "as is." See your license for applicable terms.