
生活助手若每隔一会儿就说“该休息啦”,很快会像另一个不断弹消息的同事。提醒是否出现、能否延后、何时停止,比把提醒句子写得多动人更影响体验。
这里设计一个不读取摄像头、不推断情绪的轻量原型。AI 只负责给候选文案,是否显示由本地状态机决定;不把屏幕时长当成健康诊断。
先约定动作,再生成语气
工作时不主动打断;到达使用者设置的间隔后,只提供一次选择;选择稍后就重新计时;关闭后不再提醒。模型返回的文字不能擅自改计时周期,也不能替用户点击确认。
Ollama 的结构化输出可以帮助约束文案字段,但时间、状态与权限应由应用维护。文档

用逻辑时钟验证,不必真的等半小时
保存为 break_helper.py。时间单位是教学中的整数分钟,没有启动系统通知。
class BreakHelper:
def __init__(self, interval=30):
self.state, self.due = "WORK", interval
self.interval = interval
def tick(self, minute):
if self.state == "WORK" and minute >= self.due:
self.state = "OFFER"
return self.state
def choose(self, action, minute):
if action == "off":
self.state = "OFF"
elif self.state != "OFFER":
raise ValueError("没有待处理提醒")
elif action == "later":
self.state, self.due = "WORK", minute + self.interval
elif action == "rest":
self.state = "REST"
else:
raise ValueError("未知选择")
h = BreakHelper()
assert h.tick(29) == "WORK"
assert h.tick(30) == "OFFER"
h.choose("later", 30)
assert h.tick(31) == "WORK"
assert h.tick(60) == "OFFER"
h.choose("off", 60)
assert h.tick(999) == "OFF"
print("稍后与关闭状态通过")
真实程序应使用单调时钟计算间隔,并处理休眠、重启与多窗口同步。系统时间被修改时,不能突然补发几十条过期提醒。图中的 LATER 对应代码的“重新进入 WORK 并设置下一次时间”,属于用户可见动作。
让文案保持轻量
“要不要先离开屏幕一会儿?”比“我检测到你已经过劳”更符合这套原型掌握的信息。关闭按钮不必隐藏在设置深处,延后也不应被记录成“未达成目标”。
本文实跑了计时边界、稍后和关闭状态;未运行模型、桌面通知、真实后台计时或设备休眠测试。一个知道什么时候安静下来的助手,才能真正留在生活里。
网硕互联帮助中心




评论前必须登录!
注册