SuperAPI AI 工具集

event-management

办公与效率

查看项目

更新于 10-16 11:54

技能介绍

Event Management 是一套围绕 Google Calendar 的事件管理技能,用于创建、搜索、列出、更新和删除日历事件。其核心原则是:事件存放在 Google Calendar,而不是本地 SQL 数据库,因此不能用 db-query 或 db-exec 操作事件,必须使用专门脚本直接查询 Google Calendar API。使用前提是已连接 Google Calendar 账号,可通过 GET /_agent-native/google/status 检查,未连接时提示用户前往设置页连接。

主要能力

list-events:按日期范围查询 Google Calendar 中的事件。默认范围为过去 7 天到未来 30 天,建议显式提供 --from 与 --to。支持 --query 按标题筛选,--json 输出包含参会者、描述、会议链接的完整详情。日期使用 ISO 格式(YYYY-MM-DD),也支持 today、tomorrow、next week、monday、friday 等自然语言。

search-events:按标题搜索事件,返回含参会者的完整 JSON。必须提供 --query,标题为不区分大小写的子串匹配,可配合 --from、--to 限定范围。

create-event:在 Google Calendar 创建新事件。必填 --title、--start、--end(ISO 日期时间)。可选 --description、--location、--attendees、--addGoogleMeet、--addZoom、--sendUpdates、--accountEmail。连接多个 Google 账号时用 --accountEmail 指定目标账号的主日历;不支持任意的非主日历 ID。邀请参会者时 Google 默认自动发送邮件邀请并自动添加 Google Meet 链接;仅在用户明确不要视频会议时传 --addGoogleMeet=false;若用户已提供 Zoom/Meet/Teams 链接或要求 --addZoom=true,则不要额外加 Google Meet。每个事件只能使用一个生成的视频提供方(--addGoogleMeet=true 或 --addZoom=true,不可同时)。Zoom 需用户先在设置中连接,可用 pnpm action get-zoom-status 检查。--attendees 接受逗号或空格分隔的邮箱列表;可用 JSON 数组加 optional: true 标记可选参会者。支持 --startTimeZone/--endTimeZone(IANA 时区名)、--reminders 自定义提醒、--remindersUseDefault false --reminders '[]' 关闭提醒、--colorId 1..11 设置事件颜色、--attachments 添加附件(每个事件最多 25 个)。还支持原生状态事件:--eventType outOfOffice(不在办公室)、focusTime(专注时间)、workingLocation(工作地点)。工作地点事件会与 Google 同步并以原生工作地点形式渲染,对可用性透明/不阻塞;Google 允许定时或单日全天的工作地点,多日全天范围需拆成单独的每日工作地点事件。不要对 Tasks 或预约日程使用 eventType。

manage-event-draft:生成未发送的日历邀请草稿供用户审阅,适用于用户要求起草、准备或审阅邀请时,尤其是来自外部代理流程。草稿以 calendar-draft-{id} 存入应用状态并返回“在日历中审阅邀请”的深链接,打开后显示占位符和原生事件详情编辑器;在用户点击界面中的创建按钮之前,不会写入 Google Calendar,也不会通知任何嘉宾。可用 --action update --id <draft-id> 修改,--action delete 删除;字段与 create-event 一致。

update-event:更新已有事件。使用来自 list-events、search-events 或 get-event 的事件 id,更新时务必保留事件的 accountEmail 以便多账号使用正确账号。--attendees 会替换整个参会者列表;新增人员建议用 --addAttendees 以保留已有 RSVP 元数据。要事后修改某嘉宾为可选,可先 get-event 获取列表再传完整数组并对该嘉宾设 optional: true。传空字符串可清空全部参会者。支持 --sendUpdates none 抑制邀请邮件,--addGoogleMeet=true / --addZoom=true 添加视频会议,重复事件可用 --recurrence 传入 Google Calendar RRULE(如仅工作日:RRULE:FREQ=DAILY;BYDAY=MO,TU,WE,TH,FR)。Google Calendar 不允许修改已有事件的 eventType;workingLocationType 与 workingLocationLabel 只能用在已是 workingLocation 的事件上。

delete-event:若用户是组织者则删除事件;否则用 --removeOnly true 从其日历移除。重复事件可指定 --scope single、all 或 thisAndFollowing。删除时(含重复系列选择和移除参会者)应传入 accountEmail。

rsvp-event:以事件的 accountEmail 接受、拒绝或暂定接受邀请,重复事件的 RSVP 范围同样要保留该账号信息,如 --status accepted。

事件对象结构包含 id、title、description、start、end、location、allDay、attendees(含 email、displayName、responseStatus、optional)、conferenceData、hangoutLink、status、source 等字段。

适用场景与限制:适合通过自然语言指令管理 Google 日历,例如查询今日/本周日程、搜索与某人的会议、安排会议、起草邀请、安排 Zoom 会议、移动/重命名/更新会议、删除会议、移除每日重复事件中的周末等。限制包括:必须连接 Google Calendar;不支持任意非主日历 ID;不能修改已有事件的 eventType;Google Calendar API v3 未暴露工作时间设置,工作时间叠加或 Find a Time 约束需等待真实数据路径;Tasks 与预约日程属于其他产品/API,应使用预约链接或可用性流程处理。