[teamai] Push 1 resource(s) from root
This commit is contained in:
@@ -0,0 +1 @@
|
|||||||
|
root
|
||||||
@@ -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`
|
||||||
Reference in New Issue
Block a user