自动化
Automations 允许你按周期自动执行提示词。每次执行都会创建一个聊天,并走完整的聊天完成流程,因此模型默认值、工具、过滤器以及其他 pipeline 行为仍然全部生效。
管理员可通过 ENABLE_AUTOMATIONS 环境变量,或 Admin Panel > Settings > General 中的开关,在全局启用或禁用自动化。禁用后,自动化 worker 会停止处理任务,API endpoint 会返回 403,侧边栏入口也会隐藏。
你可以自动化什么
- 按计划执行提示词(每小时、每天、每周、每月或自定义 RRULE)
- 通过 立即运行 手动触发一次执行
- 在不删除的情况下暂停 / 恢复自动化任 务
- 查看每个自动化任务的执行历史
- 可选地为任务附加 terminal server 和工作目录,以便执行需要终端上下文的任务
访问控制
对于非管理员用户,Automations 受权限控制。
- Admins:始终拥有自动化访问权限
- Users:需要具备 Features > Automations 权限
权限分类请参阅 RBAC Permissions。
若要授予用户访问权限:
- 打开 Admin Panel > Users > Groups
- 编辑 Default permissions 或某个具体用户组
- 启用 Features > Automations
你也可以通过 USER_PERMISSIONS_FEATURES_AUTOMATIONS 设置默认值。
在 User Menu 中按住 Shift 可显示固定 / 取消固定按钮。将 Automations 固定后,会在侧边栏栏位中显示快捷图标,便于一键进入。
管理员限制
管理员可以为非管理员用户设置全局自动化使用限制。这些限制通过环境变量配置。管理员不会受到这些限制。
| 设置 | 效果 | 环境变量 |
|---|---|---|
| 最大自动化数量 | 限制用户可创建的自动化数量 | AUTOMATION_MAX_COUNT |
| 最小重复间隔 | 拒绝执行频率高于设定间隔(秒)的计划 | AUTOMATION_MIN_INTERVAL |
- Max count 仅在创建时检查;若后续下调限制,不会删除现有自动化任务
- Min interval 会在创建和更新时都进行检查;一次性自动化(
COUNT=1)不受此限制 - 两者默认都为空(即不限制);如需强制执行,请设置为正整数
创建一个自动化任务
- 打开 User Menu > Automations
- 点击 New Automation
- 设置:
- Title
- Instructions(提示词)
- Model
- Schedule
- (可选)选择 Terminal server 和 Working Directory
- 点击 Create
创建后,Open WebUI 会自动打开该自动化任务的专属编辑页:/automations/{id}。
编辑与管理
在 Automations 列表中点击某个任务,即可进入其专属编辑页。
在编辑页中,你可以:
- 更新标题、说明、模型、计划和 terminal 设置
- 保存变更
- 通过 立即运行 立即执行
- 暂停 / 恢复自动化状态
- 删除自动化任务
- 查看执行日志并打开对应运行聊天
编辑页中的执行日志采用无限滚动分页,因此即使运行历史很长,也会按需逐步加载。
调度方式
支持的计划模式包括:
- 一次
- 每小时
- 每天
- 每周
- 每月
- 自定义(
RRULE)
自定义计划支持标准 RRULE 语法。无效或已耗尽的规则会被拒绝。
说明
- 自动化任务在后台 worker loop 中按轮询间隔执行
- 每次执行都会记录状态(
success或error)以及可选错误详情 - 删除自动化任务时,也会同时删除其运行历史
在聊天中管理 Automations
当你使用支持 Native Function Calling Mode 的模型时,也可以通过内置工具,直接在聊天里创建和管理自动化任务。比如你可以直接说:"Schedule a daily summary report at 9am",模型就会替你创建相应自动化任务。
可用工具
| 工具 | 作用 |
|---|---|
create_automation | 使用名称、提示词和 RRULE 计划创建一个新的自动化任务;使用当前聊天模型 |
update_automation | 更新现有自动化任务的名称、提示词、计划或模型 |
list_automations | 列出你当前的自动化任务,包括状态、计划和下次运行时间 |
toggle_automation | 暂停或恢复某个自动化任务 |
delete_automation | 删除自动化任务及其全部运行历史 |
使用要求
若想在聊天中使用自动化工具,需要满足以下条件:
- 该模型必须启用 Native Function Calling
- 该模型必须启用 Builtin Tools 能力
- 模型的 Builtin Tools 设置中必须启用 Automations 分类(默认开启)
- 全局必须启用
ENABLE_AUTOMATIONS(默认开启) - 当前用户必须具备 Features > Automations 权限(管理员始终通过)
有关所有 builtin tools 的完整说明,请参阅 Builtin Tools reference。