alarm

Polar Sponsor
爱发电 赞助
.NET 9.0

读取飞书/lark 的文本或语音消息,识别是否包含需要提醒的待办和截止时间,并根据消息语义和时间跨度自动判断一个偏宽松的提醒时间。适用于飞书机器人处理“今天 5 点前给我”“明天下午三点提醒我”“发语音说周五前记得提交”这类消息。支持先用 senseaudio asr 把语音转文字,再分析并建立提醒;启用 asr...

Feishu Smart Alarm

功能概述

Feishu Smart Alarm是一项面向实际任务的技能,主要用于这个 Skill 用于在飞书消息中自动识别“需要在某个时间前提醒”的内容,并完成四类动作:;读取 文本消息 并判断是否需要建立提醒;

核心要点

  • 读取 语音消息 ,先调用 SenseAudio ASR 转写,再判断是否需要建立提醒;
  • 解析截止时间,并计算 由系统根据消息语义和时间跨度自动判断,更偏宽松一点的预留时间 的提醒时间;
  • 立即在原会话发送确认消息: 我已经记住。

使用与执行

它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;

结果检查与注意事项

若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。

Feishu Smart Alarm

概述

这个 Skill 用于在飞书消息中自动识别“需要在某个时间前提醒”的内容,并完成四类动作:

  1. 读取文本消息并判断是否需要建立提醒
  2. 读取语音消息,先调用 SenseAudio ASR 转写,再判断是否需要建立提醒
  3. 解析截止时间,并计算由系统根据消息语义和时间跨度自动判断,更偏宽松一点的预留时间 的提醒时间
  4. 立即在原会话发送确认消息:我已经记住并在$时间点$提醒
  5. 到点后仅提醒一次,并把提醒发回原飞书会话

默认约定:

  • 支持飞书文本消息和语音消息
  • 语音消息必须先落到本地文件,再把本地路径传给脚本
  • 默认提醒对象是原消息发送者
  • 默认把提醒消息发回原飞书会话
  • 每条提醒只发送一次
  • 默认时区:Asia/Shanghai

适用消息

优先识别以下类型:

  • 今天 5 点前给我
  • 明天下午三点提醒我开会
  • 周五前记得把这个提交
  • 今晚 8 点前把材料发我
  • 后天上午记得找我确认
  • 下周一 10 点别忘了评审
  • 语音里说:周五前提醒我把材料发出去
  • 语音里说:明天下午三点提醒我开会

不建立提醒的情况

以下情况默认不建提醒:

  • 纯闲聊,没有任务或截止语义
  • 没有可解析时间
  • 明显是历史回顾而非未来待办
  • 时间解析结果早于当前时间且无法合理滚动到未来
  • 语音转写成功,但转写文本不包含提醒/待办语义

时间解析规则

脚本支持以下常见时间表达:

  • 绝对时间:2026-03-20 15:00、2026/3/20 15:00
  • 月日时间:3月20日 15:00、3月20号下午3点
  • 相对日期:今天、明天、后天
  • 周几:周一、周五、下周二
  • 时段:上午、中午、下午、晚上、凌晨
  • 纯时间:5点、5:30、下午三点

默认补全策略:

  • 仅有日期但无具体时间:默认 18:00
  • 仅有“上午 / 下午 / 晚上”无具体小时:分别默认 10:00 / 15:00 / 20:00
  • 仅有纯时间且今日该时刻已过:顺延到明天

消息分析规则

建立提醒必须同时满足:

  1. 能解析出未来时间
  2. 消息里存在待办/提醒/截止语义中的至少一种

强触发关键词示例:

  • 提醒
  • 记得
  • 别忘
  • 截止
  • 前给我
  • 前发我
  • 前提交
  • 要做
  • 要交
  • 开会
  • 评审
  • 确认
  • 安排

如果消息虽然没有“提醒”字样,但具有明显的“任务 + 时间”结构,也可以建立提醒。

确认消息规则

一旦建立提醒,必须立刻在原会话发送确认消息:

我已经记住并在$时间点$提醒

其中 $时间点$ 填入提醒时间,不是截止时间。例如:

  • 今天 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

强约束:

  1. 不读取 .env、.env.local 或其他本地配置文件
  2. 不在交互式终端里临时询问 API Key
  3. 缺少 SENSEAUDIO_API_KEY 时,所有音频相关入口必须直接失败
  4. 缺少 FEISHU_APP_ID / FEISHU_APP_SECRET 时,所有发送确认或发送提醒的入口必须直接失败

脚本入口

1. 分析文本消息

python scripts/main.py analyze-message --text "今天 5 点前给我"

2. 先转写语音,再只做分析

python scripts/main.py analyze-audio --audio /abs/path/input.m4a --sender-name 张三

返回:

  • 语音转写结果 transcript
  • 是否需要提醒
  • 解析到的截止时间
  • 提醒时间
  • 确认消息

3. 只做 ASR 转写

python scripts/main.py transcribe-audio --audio /abs/path/input.m4a

4. 根据文本建立提醒并立即回确认

python scripts/main.py create-reminder 
  --text "今天 5 点前给我" 
  --receive-id oc_xxx 
  --receive-id-type chat_id 
  --sender-open-id ou_xxx 
  --sender-name 张三

5. 根据语音建立提醒并立即回确认

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 张三

这个命令会:

  • 先用 SenseAudio ASR 转写语音
  • 按转写结果判断是否需要提醒
  • 如有提醒需求则存入本地 SQLite
  • 立刻向原会话发送确认消息

6. 轮询并发送到期提醒

python scripts/main.py poll-due

7. 以常驻循环方式运行

python scripts/main.py run-loop --interval 30

表示每 30 秒检查一次是否有到期提醒。

与 PicoClaw 的接法

推荐在飞书消息进入后这样使用:

文本消息

  1. 对文本消息调用 create-reminder
  2. 如果返回 need_reminder=false,继续普通聊天逻辑
  3. 如果返回 need_reminder=true:
    • 确认消息已发出
    • 后台由 run-loop 常驻检查并在到点时发送提醒

语音消息

  1. 先把飞书语音下载到本地临时文件
  2. 对本地文件调用 create-reminder-audio
  3. 如果返回 need_reminder=false,继续普通聊天逻辑
  4. 如果返回 need_reminder=true:
    • 确认消息已发出
    • 后台由 run-loop 常驻检查并在到点时发送提醒

更详细的接法见:

  • references/integration_cn.md
  • references/time_rules_cn.md

相关专题

更多
Postman身份认证怎么配置
Postman身份认证怎么配置

本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。

2026.11.06

0

12

Postman请求头Headers怎么设置
Postman请求头Headers怎么设置

围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。

2026.11.06

0

13

Postman接口请求发送教程
Postman接口请求发送教程

详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。

2026.11.06

0

10

DBeaver怎么导入数据
DBeaver怎么导入数据

DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。

2026.11.05

0

12

DBeaver安全防护教程大全
DBeaver安全防护教程大全

DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。

2026.11.05

0

12

DBeaver连接创建与配置教程
DBeaver连接创建与配置教程

本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。

2026.11.04

0

16

XORM框架结构体映射与表结构同步
XORM框架结构体映射与表结构同步

本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。

2026.11.04

0

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134.1万人学习