From 7bb9d436f8697312dc5d015c1f9f0357dbc7432b Mon Sep 17 00:00:00 2001 From: NightStar Date: Thu, 10 Sep 2026 16:51:30 +0800 Subject: [PATCH] [teamai] Push 1 resource(s) from root --- skills/remind-me/CONTRIBUTORS | 1 + skills/remind-me/SKILL.md | 84 +++++++++++++++++++++++++++++++++++ 2 files changed, 85 insertions(+) create mode 100644 skills/remind-me/CONTRIBUTORS create mode 100644 skills/remind-me/SKILL.md diff --git a/skills/remind-me/CONTRIBUTORS b/skills/remind-me/CONTRIBUTORS new file mode 100644 index 0000000..d8649da --- /dev/null +++ b/skills/remind-me/CONTRIBUTORS @@ -0,0 +1 @@ +root diff --git a/skills/remind-me/SKILL.md b/skills/remind-me/SKILL.md new file mode 100644 index 0000000..e7d6206 --- /dev/null +++ b/skills/remind-me/SKILL.md @@ -0,0 +1,84 @@ +--- +name: "remind-me" +description: "飞书加急提醒:设置定时提醒,到点自动通过飞书加急消息弹窗通知用户。支持\"X点提醒我XXX\"等自然语言。" +--- + +# Remind Me — 飞书加急提醒 + +设置定时提醒,到点自动通过飞书加急消息弹窗通知用户。支持"X点提醒我XXX"等自然语言。 + +## 触发条件 + +用户说出类似以下话语时触发: +- "X点提醒我XXX" +- "X分钟后提醒我XXX" +- "今晚8点提醒我XXX" +- "明天早上9点叫我XXX" + +## 流程 + +### 1. 解析时间和内容 + +从用户话语中提取: +- **时间**:转换为 ISO-8601 UTC 时间戳(注意时区:用户在东八区 Asia/Shanghai,需减8小时转UTC) +- **内容**:提醒的具体事项 +- 如果时间表述模糊(如"明天早上"),确认具体时间 + +### 2. 创建定时任务 + +用 `automations(action="add")` 创建(CLI 侧核对用 `openclaw cron list`)。⚠️ 不要用 `agentTurn` 类型:依赖 LLM,DeepSeek 高峰期会超时导致 job 失败(2026-08-12 踩坑)。也**不要**写 `payload.kind:"command"` + `argv`——该形状会被拒(实测报 `unexpected property 'command'`),现在只接受 `systemEvent` / `agentTurn` / `script`。 + +用 `script` 类型(code mode 里跑一次 exec),零 LLM 依赖: + +```json +{ + "name": "remind-me-{简短描述}", + "schedule": { "kind": "at", "at": "{ISO-8601 UTC时间}" }, + "sessionTarget": "isolated", + "deleteAfterRun": true, + "delivery": { "mode": "none" }, + "payload": { + "kind": "script", + "script": "const r = await exec({command: \"python3 /root/.openclaw/workspace/scripts/feishu_urgent.py '⏰ {提醒内容}'\"});\nreturn {output: r.stdout ?? JSON.stringify(r)};", + "timeoutSeconds": 60 + } +} +``` + +关键字段: +- `schedule.kind: "at"` — 一次性定时 +- `schedule.at` — UTC 时间,北京时间20:00 = `2026-07-29T12:00:00.000Z` +- `payload.kind: "script"` — code mode 里执行 shell,不走 LLM(同 daily-leetcode,用 `openclaw cron list` 查它当前 ID) +- `sessionTarget: "isolated"` + `delivery.mode: "none"` — 脚本自己发飞书加急,不需要再 announce 一条 +- `deleteAfterRun: true` — 一次性 job 成功投递后自动删 +- 脚本内自读 `~/.openclaw/.env` 的 `FEISHU_USER_ID`,无需显式传 user_id +- 提醒文本保持 10-30 字且不含引号,避免 JS/shell 嵌套转义出错 + +### 3. 确认 + +创建成功后告诉用户: +- 提醒时间(北京时间) +- 提醒内容 +- "到点会飞书加急弹窗哦~" + +想先验证链路,另建一个 2 分钟后的测试提醒触发一次(别 force 正式那条,会立刻弹一次)。 + +### 4. 修改/取消 + +用户说"取消提醒" → `automations(action="remove")` 删除最近创建的 remind-me-* 任务 + +## 脚本依赖 + +`scripts/feishu_urgent.py` 已封装飞书加急全流程: + +```bash +python3 scripts/feishu_urgent.py "消息内容" [user_id] +``` + +内部自动完成:读配置 → 获取 token → 发消息 → 加急弹窗 + +## 时区换算 + +用户说的都是北京时间(Asia/Shanghai)。转为 UTC: +- 北京时间 - 8 小时 = UTC +- 例:今晚8点 = `2026-07-29T20:00:00+08:00` = `2026-07-29T12:00:00.000Z`