# ScheNotify 使用自然语言计划日程提醒 ## 功能介绍 ScheNotify 是一个 LangBot 插件,允许用户通过自然语言与 LLM 交互来设置定时提醒。 ### 主要功能 - 🤖 **自然语言交互**:通过 LLM 理解用户的日程安排意图 - ⏰ **智能时间解析**:自动获取当前时间并计算提醒时间 - 🌐 **多语言支持**:支持中文和英文的提醒消息 - 📝 **日程管理命令**:查看和删除已计划的提醒 - 🔔 **自动通知**:到达设定时间后自动发送提醒消息 ## 配置 ### 语言设置 在插件配置中可以选择提醒消息的语言: - `zh_Hans` (简体中文) - 默认 - `en_US` (英语) ## 使用方法 ### 1. 通过 LLM 设置提醒 直接用自然语言告诉 LLM 你的日程安排: **示例:** ``` 明天下午3点提醒我开会 后天早上9点提醒我交报告 下周一中午12点提醒我吃饭 2024-12-25 18:00 提醒我圣诞晚餐 ``` LLM 会自动: 1. 调用 `get_current_time_str` 获取当前时间 2. 解析你的时间表达并转换为标准格式 3. 调用 `schedule_notify` 创建提醒 ### 2. 查看计划的提醒 使用命令查看所有计划中的提醒: ``` !sche ``` 示例输出: ``` [Notify] 计划中的提醒: #1 2024-12-25 18:00:00:圣诞晚餐 #2 2024-12-26 09:00:00:交报告 ``` ### 3. 删除提醒 使用命令删除指定的提醒(使用 `!sche` 查看的序号): ``` !dsche i <序号> ``` 示例: ``` !dsche i 1 # 删除第1个提醒 ``` ## 组件说明 ### 工具 1. **get_current_time_str** - 获取当前时间 - 返回格式:`YYYY-MM-DD HH:MM:SS` - LLM 在设置提醒前必须先调用此工具 2. **schedule_notify** - 计划通知 - 参数:时间字符串、提醒内容 - 自动从 session 参数获取会话信息发送提醒 ### 命令 1. **sche** (别名: s) - 列出所有计划的提醒 2. **dsche** (别名: d) - 删除指定的提醒 ## 技术细节 - 定时检查间隔:每 60 秒 - 时间精度:分钟级(程序每分钟检查一次) - 会话获取:通过 Tool 的 session 参数自动获取 - 持久化:当前使用内存存储(重启后丢失) ## 示例对话 **用户:** 明天下午2点提醒我参加会议 **LLM:** 好的,我来为你设置提醒。 *[LLM 调用 get_current_time_str]* *[LLM 调用 schedule_notify(time_str="2024-12-26 14:00:00", message="参加会议")]* **LLM:** 已经为你设置好了!将在 2024-12-26 14:00:00 提醒您:参加会议 *[第二天下午2点]* **机器人:** [Notify] 参加会议 ## 注意事项 - 提醒时间必须是未来时间,过去的时间会被拒绝 - 提醒消息会发送到设置提醒时的同一个会话 - 重启插件后,未发送的提醒会丢失(未来版本将支持持久化) ## 开发者信息 - 作者:RockChinQ - 版本:0.2.0 - 插件类型:LangBot Plugin v1 ## License Part of the LangBot plugin ecosystem.