跳到主要内容

📅 日历

日程安排、事件跟踪与管理——AI 可以为您规划。

日历是一项内置的日程安排功能,为每个用户提供个人日历。创建事件、设置重复日程、与队友共享日历,并让 AI 模型通过自然对话自主创建和管理事件。

活跃的自动化会自动显示在专用的定时任务日历中,让您在同一界面同时查看手动事件和自动化工作流。

备注

日历默认启用,但管理员可通过 ENABLE_CALENDAR 环境变量或管理面板开关禁用。


为什么使用日历?

日历为模型提供了一种与时间交互的方式。启用之后,你可以让模型在某时提醒你做某事、安排一个重复任务,或者查看本周有哪些安排——开箱即用。

AI 驱动的日程安排

启用原生函数调用后,模型可以通过自然语言搜索、创建、更新和删除日历事件。例如说出"周五下午 3 点提醒我跟进设计团队",模型就会创建一个带提醒的事件。到达时间后,你会收到 toast 通知、浏览器通知,以及(可选的)Webhook,全程无需你手动创建事件。

与自动化集成

活跃的自动化会作为虚拟事件显示在专用的定时任务日历中。即将到来的运行会显示下一次执行的时间,已完成的运行会直接链接到它生成的对话,让你能在同一时间轴上同时看到自己的事件与自动化工作流。

与自动化集成

带有 RRULE 日程的活跃自动化会作为虚拟事件显示在定时任务日历中。过去的自动化运行显示为已完成事件,并附有链接到生成的对话。

共享日历

通过访问授权与特定用户或用户组共享日历。团队成员可以在自己的事件旁边看到共享事件。

多日历组织

跨多个日历组织事件(例如"个人"、"团队会议"),并使用颜色编码。每个用户首次访问时会自动创建个人定时任务日历。


主要功能

📅 月/周/日视图完整的日历 UI,支持月、周、日视图
🔁 重复事件基于 RRULE 的重复规则(每日、每周、每月、自定义)
🤖 智能体管理模型可以自主搜索、创建、更新和删除事件
自动化叠加活跃自动化和过去运行以虚拟日历事件形式显示
👥 日历共享通过访问授权与用户或用户组共享日历
📍 地点和描述为事件添加地点和详细描述
🎨 颜色编码按日历和按事件自定义颜色
RSVP/参与者邀请用户参加事件,支持待定/接受/拒绝/暂定状态
🔔 提醒通过 toast 通知、浏览器通知和 Webhook 发送每事件提醒

访问控制

日历对非管理员用户实行权限门控。

  • 管理员:始终有权访问日历
  • 用户:需要 功能 > 日历 权限

有关权限类别,请参阅 RBAC 权限

授予用户访问权限:

  1. 打开 管理面板 > 用户 > 用户组
  2. 编辑 默认权限 或特定用户组
  3. 启用 功能 > 日历

也可以通过 USER_PERMISSIONS_FEATURES_CALENDAR 设置此默认值。


入门指南

访问日历

从侧边栏打开 用户菜单 > 日历。首次访问时,会自动创建两个默认日历:

快速访问

在用户菜单中按住 Shift 键可显示固定/取消固定按钮。固定日历会在侧边栏导航栏添加快捷图标,一键访问。

  • 个人 — 用于手动事件的默认日历(蓝色,首次访问时自动创建)
  • 定时任务 — 自动化日程和运行的虚拟只读叠加层(紫色,仅在用户有自动化访问权限时可见)

创建日历

点击日历侧边栏中日历标题旁的小 + 按钮,打开新建日历对话框。输入名称,并从预设调色板中选择颜色(蓝、红、绿、琥珀、紫、粉、青、橙),然后点击创建。新日历会立刻出现在侧边栏中,并在创建或编辑事件时显示在日历选择器中。每个日历归其创建者所有,可通过共享日历进行共享。

创建事件

  1. 点击 新建事件(侧边栏或顶部栏),或点击日历网格上的任意日期/时间格
  2. 填写事件详情:
    • 标题(必填)
    • 日历 — 将事件添加到哪个日历
    • 时间 — 日期和时间,或切换全天
    • 地点(可选)
    • 描述(可选)
  3. 点击 创建

编辑或删除事件

点击日历上的任意事件打开事件编辑器。在那里您可以更新详情或删除事件。自动化生成的虚拟事件无法直接编辑——点击它们会导航到自动化或运行的对话。


日历视图

使用顶部栏的下拉菜单切换视图:

视图说明
月视图完整月度网格,带事件标签。溢出的事件显示"+N 更多"链接到日视图。
周视图7 天时间网格,带每小时时间槽。垂直滚动浏览全天。
日视图单天时间网格,带每小时时间槽,用于精细日程安排。

使用箭头按钮向前/后导航,或点击今天跳转到当前日期。侧边栏中的小型日历提供快速日期导航。


自动化集成

定时任务日历连接了自动化和日历视图。它是一个虚拟日历——不存储在数据库中——在用户有自动化功能访问权限时,于 API 响应时间动态生成。

未来运行

对于每个具有 RRULE 日程的活跃自动化,日历计算即将发生的事件并在请求的日期范围内将其渲染为虚拟事件。

过去运行

已完成的自动化运行显示为历史事件。每个事件显示自动化名称,并包含链接到生成的对话(如果有)的元数据。点击过去的运行事件可打开其创建的对话。

工作原理

  • 虚拟日历使用固定 ID(__scheduled_tasks__),并从事件编辑器的日历选择器中排除
  • 虚拟事件 ID 以 auto_(未来)或 run_(过去)为前缀
  • 无法从日历 UI 中编辑或删除
  • 点击未来运行事件导航到自动化编辑器
  • 点击过去运行事件导航到运行的对话

智能体事件管理

启用原生函数调用后,模型可以自主管理您的日历:

工具功能
search_calendar_events跨所有可访问日历按文本和/或日期范围搜索事件
create_calendar_event在默认或指定日历上创建新事件
update_calendar_event更新事件的标题、时间、描述、地点,或取消事件
delete_calendar_event永久删除事件

您: 从下周一开始,每个工作日上午 9 点安排团队站立会议。

您: 本周我的日历上有什么安排?

您: 把明天的设计评审改到下午 3 点,并将地点添加为 A 楼。

要求

要使基于对话的日历工具可用:

  1. 模型必须启用原生函数调用
  2. 模型必须启用内置工具能力
  3. 模型的内置工具设置中必须启用日历类别(默认启用)
  4. ENABLE_CALENDAR 必须全局启用(默认启用)
  5. 用户必须有 功能 > 日历 权限(管理员始终通过)

所有日期时间值会自动按用户检测到的时区处理。

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


共享日历

日历支持与知识库、模型和其他资源相同的访问授权系统。

共享日历

  1. 打开日历的设置(通过日历列表或编辑端点)
  2. 为特定用户或用户组添加具有 read(读取)或 write(写入)权限的访问授权

共享访问提供的功能

权限效果
读取查看日历及其事件
写入读取 + 在日历上创建、更新和删除事件

只有日历所有者(或管理员)才能管理访问授权和删除日历本身。

公开共享受权限控制

通配符访问授权(即允许任何具有日历功能的用户读取或写入日历)受 Calendars Public Sharing 权限控制。当非管理员所有者未启用该权限时,公开主体会在创建/更新日历时被静默地从访问授权列表中剥离——逐用户和逐用户组的授权不受影响。管理员始终保留公开共享的能力。可在管理面板 → 用户 → 用户组 → 权限中按用户组配置,也可通过 USER_PERMISSIONS_CALENDAR_ALLOW_PUBLIC_SHARING 设置。


参与者与 RSVP

事件支持带有 RSVP 跟踪的参与者:

状态含义
pending已发送邀请,尚无回复
accepted参与者已确认出席
declined参与者已拒绝
tentative参与者不确定

参与者可以通过 API 更新自己的 RSVP 状态。作为参与者的用户可以查看其受邀事件,无论日历所有权如何。


提醒与提示

每个事件都有提醒设置,控制事件开始前何时触发提示。

选项行为
不提示
事件开始时事件开始时提示
提前 5/10/15/30 分钟提前相应分钟数提示
提前 1 小时提前 60 分钟提示

默认为提前 10 分钟

提示的发送方式

  1. Toast 通知 — 在 Open WebUI 界面显示带事件标题和剩余时间的提示。点击 toast 导航到日历。
  2. 浏览器通知 — 如果用户设置中启用了浏览器通知,会显示原生 OS 通知。
  3. Webhook — 如果用户在 设置 > 通知 中配置了 Webhook URL,会发送 calendar_alert 负载。

提示通过 meta.alerted_at 在服务端进行去重,因此每个事件每个开始时间最多触发一次——即使重启或多实例部署也不例外。

全局提示轮询窗口可通过 CALENDAR_ALERT_LOOKAHEAD_MINUTES 配置(默认:10 分钟)。


配置

变量默认值说明
ENABLE_CALENDARTrue全局启用或禁用日历功能
USER_PERMISSIONS_FEATURES_CALENDARTrue默认启用或禁用非管理员用户的日历访问
USER_PERMISSIONS_CALENDAR_ALLOW_PUBLIC_SHARINGFalse是否允许非管理员所有者为日历附加通配符读取/写入访问授权
SCHEDULER_POLL_INTERVAL10调度器心跳间隔秒数(与自动化共享)
CALENDAR_ALERT_LOOKAHEAD_MINUTES10即将到来事件的默认提示窗口(分钟)

也可以从管理面板 > 设置 > 通用的功能部分切换日历。


局限性

不支持外部日历同步

日历目前是 Open WebUI 中的独立功能。它不与 Google Calendar、Outlook 或其他外部日历服务通过 CalDAV/iCal 同步。

定时任务日历是虚拟且只读的

定时任务日历在运行时生成,不存储在数据库中。其事件无法从日历 UI 中编辑或删除。请从自动化页面管理底层自动化。

重复事件展开

重复事件在查询时在服务端展开。非常复杂的 RRULE 模式或极长的日期范围可能会增加响应时间。

本内容仅供参考,不构成任何保证、担保或合同承诺。Open WebUI 按“现状”提供。请参阅您的许可协议 以了解适用条款。