自动化
自动化(Automations)功能支持您设置定时调度以自动运行特定提示词。每次自动运行都会创建一个新聊天,并执行正常的聊天补全流水线(Pipeline),因此模型默认设置、工具、过滤器以及其他流水线行为仍然有效。
管理员可以通过 ENABLE_AUTOMATIONS 环境变量或在管理员面板 > 设置 > 通用选项中全局启用或禁用自动化功能。禁用后,后台自动化工作进程将停止处理任务,API 端点将返回 403,并且侧边栏的入口也将被隐藏。
您可以自动化的操作
- 按照特定 时间表自动运行提示词(每小时、每天、每周、每月、自定义 RRULE)
- 随时通过 立即运行 (Run Now) 手动触发执行
- 暂停/恢复自动化任务,无需将其删除
- 审查每个自动化任务的执行历史记录
- 对于需要终端上下文的运行任务,可以视情况附加终端服务器(Terminal Server)和工作目录(Working Directory)
访问控制
对于非管理员用户,自动化功能是受到权限限制的。
- 管理员:始终拥有自动化功能的完整访问权限
- 用户:需要开启 功能 > 自动化 (Features > Automations) 权限
具体权限类别请参见 RBAC 权限说明。
要为用户授权:
- 打开 管理员面板 > 用户 > 分组 (Admin Panel > Users > Groups)
- 编辑 默认权限 (Default permissions) 或某个特定组
- 开启 功能 > 自动化 (Features > Automations)
您也可以通过 USER_PERMISSIONS_FEATURES_AUTOMATIONS 环境变量来设置此项默认权限。
在用户菜单中按住 Shift 键即可显示固定/取消固定按钮。固定“自动化”会在侧边栏面板添加一个快捷图标,实现一键直达。
管理员限额
管理员可以为非管理员用户设置全局的自动化使用限额。这些限额通过环境变量配置。管理员不受任何限额影响。
| 设置选项 | 影响效果 | 环境变量 |
|---|---|---|
| 最大自动化数量 | 限制单个用户可创建的自动化任务总数 | AUTOMATION_MAX_COUNT |
| 最小调度时间间隔 | 拒绝执行频率高于设定间隔(以秒为单位)的时间表 | AUTOMATION_MAX_COUNT |
- 最大自动化数量仅在创建新任务时核对。如果降低了该上限,已存在的自动化任务不会被删除。
- 最小调度时间间隔在创建和更新时都会进行核对。一次性自动化任务(
COUNT=1)不受此限制。 - 两者默认值均为空 (即无限制)。设置为正整数即可生效。
创建自动化任务
- 打开 用户菜单 > 自动化 (User Menu > Automations)
- 点击 新建自动化 (New Automation)
- 设置以下信息:
- 标题 (Title)
- 指令 (Instructions)(提示词)
- 模型 (Model)
- 时间表 (Schedule)
- (可选)选择 终端 (Terminal) 服务器及 工作目录 (Working Directory)
- 点击 创建 (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 | 删除某个自动化任务及其所有运行历史记录 |
配置要求
若要在聊天中调用自动化工具,必须满足以下要求:
- 必须为模型开启 原生函数调用 (Native Function Calling) 属性
- 必须为模型开启 内置工具 (Builtin Tools) 能力
- 必须在模型的内置工具设置中开启 自动化 (Automations) 类别(默认开启)
- 必须在全局范围内开启
ENABLE_AUTOMATIONS(默认开启) - 用户必须拥有 功能 > 自动化 (Features > Automations) 的权限(管理员始终放行)
有关所有内置系统工具的完整详情,请参见 内置系统工具参考。