📄 SKILL.md

← 返回目录


name: wecomcli-manage-schedule description: 企业微信日程管理技能。适用于用户对企业微信日程的各类管理需求。当用户需要:(1) 查询指定时间范围内的日程列表或获取日程详细信息(标题、时间、地点、参与者等),(2) 创建新日程并设置提醒、参与人等,(3) 修改已有日程的标题、时间、地点等信息或取消日程,(4) 添加或移除日程参与人,(5) 查询多个成员的闲忙状态并分析共同空闲时段以安排会议时使用此技能。 metadata: requires: bins: ["wecom-cli"] cliHelp: "wecom-cli schedule --help"

企业微信日程管理技能

wecom-cli 是企业微信提供的命令行程序,所有操作通过执行 wecom-cli 命令完成。

通过 wecom-cli schedule <接口名> '' 与企业微信日程系统交互。

注意事项

- 日程列表查询仅支持当日前后 30 天,时间格式 YYYY-MM-DDYYYY-MM-DD HH:MM:SS

返回 schedule_id_list 数组。仅支持当日前后 30 天。

get_schedule_detail — 获取日程详情

wecom-cli schedule get_schedule_detail '{"schedule_id_list": ["SCHEDULE_ID_1", "SCHEDULE_ID_2"]}'

支持 1~50 个 ID,返回日程标题、时间、地点、参与者等。参见 API 详情

create_schedule — 创建日程

wecom-cli schedule create_schedule '{"schedule": {"start_time": "YYYY-MM-DD HH:MM:SS", "end_time": "YYYY-MM-DD HH:MM:SS", "summary": "日程标题", "attendees": [{"userid": "USER_ID"}], "reminders": {"is_remind": 1, "remind_before_event_secs": 3600, "timezone": 8}}}'

参见 API 详情 | reminders 字段

update_schedule — 修改日程

只需传入需修改的字段,未传字段保持不变。

wecom-cli schedule update_schedule '{"schedule": {"schedule_id": "SCHEDULE_ID", "summary": "更新后的标题"}}'

参见 API 详情

cancel_schedule — 取消日程

wecom-cli schedule cancel_schedule '{"schedule_id": "SCHEDULE_ID"}'

add_schedule_attendees / del_schedule_attendees — 管理参与人

- 添加参与人:

wecom-cli schedule add_schedule_attendees '{"schedule_id": "SCHEDULE_ID", "attendees": [{"userid": "USER_ID"}]}'
wecom-cli schedule del_schedule_attendees '{"schedule_id": "SCHEDULE_ID", "attendees": [{"userid": "USER_ID"}]}'

check_availablity — 查询闲忙

wecom-cli schedule check_availablity '{"check_user_list": ["USER_ID_1", "USER_ID_2"], "start_time": "YYYY-MM-DD HH:MM:SS", "end_time": "YYYY-MM-DD HH:MM:SS"}'

支持 1~10 个用户,返回各用户的忙碌时段列表。参见 API 详情


典型工作流

查询日程

经典 query 示例:

1. 根据用户意图计算时间范围(如"今天"→当日 00:00:00 至 23:59:59,"这周"→本周一至周日) 2. 调用 get_schedule_list_by_range 获取日程 ID 列表 3. 调用 get_schedule_detail 批量获取详情,将 Unix 时间戳转为可读时间 4. 若用户提到关键词(如"项目评审"),在 summary 中匹配筛选;未找到则逐步扩大范围至前后 30 天上限 5. 展示日程列表时包含标题、时间、地点、参与者等关键信息,方便用户快速了解

创建日程

经典 query 示例:

1. 解析用户意图,提取时间、标题、地点、参与人、提醒设置等信息 2. 若涉及参与人,先通过 wecomcli-lookup-contact 查询 userid;存在同名时展示候选让用户选择 3. 若用户未指定提醒,默认设置提前 15 分钟提醒(remind_before_event_secs: 900) 4. 若用户说"全天",设置 is_whole_day: 1,时间设为当天 00:00:00 至 23:59:59 5. 向用户确认日程信息(标题、时间、地点、参与人等)后调用 create_schedule

修改日程

经典 query 示例:

1. 先通过查询工作流定位目标日程(根据用户提到的时间、标题等关键词匹配) 2. 若匹配到多个日程,展示候选列表让用户确认 3. 向用户确认要修改的字段和目标值 4. 调用 update_schedule,只传入需修改的字段

取消日程

经典 query 示例:

1. 先通过查询工作流定位目标日程 2. 向用户确认取消的日程信息(标题、时间等),避免误操作 3. 确认后调用 cancel_schedule

管理参与人

经典 query 示例:

1. 通过 wecomcli-lookup-contact 获取目标人员 userid;存在同名时展示候选让用户选择 2. 通过查询工作流定位目标日程 3. 调用 add_schedule_attendeesdel_schedule_attendees 完成添加/移除

查询闲忙并安排会议

经典 query 示例:

1. 通过 wecomcli-lookup-contact 获取相关人员 userid 2. 调用 check_availablity 查询指定时间范围内各用户的忙碌时段 3. 分析所有用户的忙碌时段,计算出共同空闲时段并推荐给用户 4. 用户确认时段后,调用 create_schedule 创建会议并自动添加参与人