Install
openclaw skills install alarm读取飞书/lark 的文本或语音消息,识别是否包含需要提醒的待办和截止时间,并根据消息语义和时间跨度自动判断一个偏宽松的提醒时间。适用于飞书机器人处理“今天 5 点前给我”“明天下午三点提醒我”“发语音说周五前记得提交”这类消息。支持先用 senseaudio asr 把语音转文字,再分析并建立提醒;启用 asr 时会把传入的本地音频上传到配置的 senseaudio 接口。会将提醒持久化到本地 sqlite,并使用飞书应用凭证向原会话发送确认消息和到点提醒。当前版本硬性要求通过进程环境变量提供 feishu_app_id、feishu_app_secret、senseaudio_api_key;不会读取 .env / .env.local,也不会临时提示输入。
openclaw skills install alarm这个 Skill 用于在飞书消息中自动识别“需要在某个时间前提醒”的内容,并完成四类动作:
我已经记住并在$时间点$提醒默认约定:
Asia/Shanghai优先识别以下类型:
今天 5 点前给我明天下午三点提醒我开会周五前记得把这个提交今晚 8 点前把材料发我后天上午记得找我确认下周一 10 点别忘了评审周五前提醒我把材料发出去明天下午三点提醒我开会以下情况默认不建提醒:
脚本支持以下常见时间表达:
2026-03-20 15:00、2026/3/20 15:003月20日 15:00、3月20号下午3点今天、明天、后天周一、周五、下周二上午、中午、下午、晚上、凌晨5点、5:30、下午三点默认补全策略:
18:0010:00 / 15:00 / 20:00建立提醒必须同时满足:
强触发关键词示例:
提醒记得别忘截止前给我前发我前提交要做要交开会评审确认安排如果消息虽然没有“提醒”字样,但具有明显的“任务 + 时间”结构,也可以建立提醒。
一旦建立提醒,必须立刻在原会话发送确认消息:
我已经记住并在$时间点$提醒
其中 $时间点$ 填入提醒时间,不是截止时间。例如:
今天 17:00 前给我 → 可能提醒在 16:20 或 15:30,取决于任务紧急程度下周一开会别忘了 → 可能更早预留数小时甚至前一天提醒到达提醒时间后,发送一次提醒消息到原飞书会话。
建议提醒模板:
提醒你:{summary}(截止时间 {deadline_text})提醒 {sender_name}:{summary}(截止时间 {deadline_text})发送成功后,将提醒状态标记为已发送,不再重复提醒。
当前版本硬性要求以下环境变量由运行时注入:
FEISHU_APP_ID=...
FEISHU_APP_SECRET=...
SENSEAUDIO_API_KEY=...
可选项:
FEISHU_BASE_URL=https://open.feishu.cn
FEISHU_SMART_ALARM_DB=./data/reminders.db
FEISHU_SMART_ALARM_TZ=Asia/Shanghai
SENSEAUDIO_BASE_URL=https://api.senseaudio.cn
SENSEAUDIO_ASR_MODEL=sense-asr
强约束:
.env、.env.local 或其他本地配置文件SENSEAUDIO_API_KEY 时,所有音频相关入口必须直接失败FEISHU_APP_ID / FEISHU_APP_SECRET 时,所有发送确认或发送提醒的入口必须直接失败python scripts/main.py analyze-message --text "今天 5 点前给我"
python scripts/main.py analyze-audio --audio /abs/path/input.m4a --sender-name 张三
返回:
transcriptpython scripts/main.py transcribe-audio --audio /abs/path/input.m4a
python scripts/main.py create-reminder \
--text "今天 5 点前给我" \
--receive-id oc_xxx \
--receive-id-type chat_id \
--sender-open-id ou_xxx \
--sender-name 张三
python scripts/main.py create-reminder-audio \
--audio /abs/path/input.m4a \
--receive-id oc_xxx \
--receive-id-type chat_id \
--sender-open-id ou_xxx \
--sender-name 张三
这个命令会:
python scripts/main.py poll-due
python scripts/main.py run-loop --interval 30
表示每 30 秒检查一次是否有到期提醒。
推荐在飞书消息进入后这样使用:
create-reminderneed_reminder=false,继续普通聊天逻辑need_reminder=true:
run-loop 常驻检查并在到点时发送提醒create-reminder-audioneed_reminder=false,继续普通聊天逻辑need_reminder=true:
run-loop 常驻检查并在到点时发送提醒更详细的接法见:
references/integration_cn.mdreferences/time_rules_cn.md