# task-reminder > 本地提醒调度技能。用于用户说“提醒我多久之后/在某个时间做什么”等新增提醒需求,尤其适合非技术用户。负责检查服务、自动启动、安装依赖并调用提醒脚本。 - Author: zshs000 - Repository: zshs000/task_scheduler - Version: 20260206221533 - Stars: 2 - Forks: 1 - Last Updated: 2026-02-06 - Source: https://github.com/zshs000/task_scheduler - Web: https://mule.run/skillshub/@@zshs000/task_scheduler~task-reminder:20260206221533 --- --- name: task-reminder description: 本地提醒调度技能。用于用户说“提醒我多久之后/在某个时间做什么”等新增提醒需求,尤其适合非技术用户。负责检查服务、自动启动、安装依赖并调用提醒脚本。 --- # 提醒调度技能 ## 核心流程 1) 确定可用的 Python 命令。 2) 检查服务是否运行(健康检查)。 3) 将用户请求转换为提醒命令。 4) 执行提醒命令并反馈结果(提醒通过邮件发送)。 ## 1) 确定 Python 命令 优先顺序(第一个可用的为准): - `/.venv/Scripts/python.exe` (if exists) - `py` - `python` - `python3` 若都不可用,请用户安装 Python。 ## 2) 确保服务运行 读取配置文件: - `/config/app_config.json` 优先使用 `web_api_base`,否则拼接 `http://{host}:{port}`。 说明:先读取配置,以确定健康检查所用的端口与地址。 健康检查: - `GET {api_base}/health` 若健康检查失败: - 使用选定的 Python 命令运行 `/scripts/start_server.py`。 - 再次请求 `GET {api_base}/health`。 - 若仍失败,报告错误并停止。 后台运行: - 可用 `--daemon` 参数启动后台服务(会写入 `/server.pid`)。 - 若用户未明确说明,先询问是否需要后台常驻;用户同意则使用 `--daemon`,否则默认前台。 ## 3) 解析用户请求(两类意图) ### A) 相对时间(无需追问) 示例: - “提醒我 2小时后吃饭” - “3天后提醒我提交报告” 转换为: ``` python remind.py ``` 其中 `` 为 `1d2h30m10s` 这类组合,`` 为提醒内容。 内容增强(统一改写语气): - 提取原始意图文本(去掉“提醒我/提醒我在/…后”等引导词) - 改写为更友好的提示语 - 示例: - 原始意图:吃饭 - 改写内容:主人~该吃饭啦!别饿着~ ### B) 相对日期 / 指定时间(可能需要追问) 示例: - “明天早上8点提醒我开会” - “后天 9点提醒我交作业” - “2026-02-07 09:00 提醒我开会” 转换为: ``` python remind.py --at "