工作空间健康休息提醒,支持配置工作间隔、冷却时间、空闲重置、静音时段及每日上限。
Focus Break Reminder. 插入一个轻量级的每个用户/会话状态机器, 它可以触发休眠提醒而不闪烁.是一项面向实际任务的技能,主要用于Contfile.;Create 或加载引用/config.example.json 默认。
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
实现一个轻量级的、按用户/会话维护的状态机,用于触发休息提醒,避免频繁打扰。
创建或加载 references/config.example.json 作为默认配置结构。
必需配置项:
enabledtimezonework_minutescooldown_minutesidle_reset_minutesdaily_max_remindersquiet_hourssnooze_untiltemplates推荐采用实用且不具侵扰性的默认值:
为每个用户(或初版中每个私聊/DM 会话)维护最小必要状态:
session_start_atlast_active_atlast_remind_atremind_count_todaytoday_key将状态持久化至小型 JSON 文件,确保服务重启后提醒逻辑仍可继续运行。
每次收到用户消息时执行以下操作:
remind_count_today 和 today_key。last_active_at 已超过 idle_reset_minutes,则将 session_start_at 设为当前时间。last_active_at 更新为当前时间。仅当全部条件满足时才触发提醒:
enabled 为 true。quiet_hours)内。now < snooze_until 时跳过)。now - session_start_at)≥ work_minutes。now - last_remind_at)≥ cooldown_minutes。若所有条件均满足,则发送一条提醒,并更新以下字段:
last_remind_at = nowremind_count_today += 1每次提醒使用一个简短模板。文案应务实、友好,避免医疗化表述。
示例模板:
支持以下聊天命令:
/break on → 启用提醒/break off → 禁用提醒/break status → 显示当前配置及下一次可能触发提醒的时间窗口/break set → 更新 work_minutes/break snooze → 设置 snooze_until = now + minutes需校验数值范围(例如工作时长限制为 15–180 分钟)。
通过心跳轮询机制,在检测到近期有用户活动时执行提醒资格检查,避免高频率无意义轮询。
建议行为:
参考 references/test-cases.md 中的用例。
至少需验证以下场景:
相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.1万人学习
共49课时 | 82.6万人学习
最新文章