auto: sync OpenClaw config 2026-09-15 04:13
This commit is contained in:
+82
@@ -0,0 +1,82 @@
|
||||
---
|
||||
name: "scheduled-reminders"
|
||||
description: "创建/管理定时提醒(每周/每天/睡前等周期或一次性)并推送钉钉。触发:帮我设提醒、每天X点提醒、每周提醒。"
|
||||
status: proposal
|
||||
version: "v1"
|
||||
date: "2026-09-14T16:17:55.764Z"
|
||||
---
|
||||
|
||||
# scheduled-reminders
|
||||
|
||||
创建和管理杨轩的定时提醒:周期性(每周/每天)或一次性,统一通过钉钉推送。非生日类提醒走本 skill;生日提醒走 birthday-reminder skill。
|
||||
|
||||
## 触发场景
|
||||
|
||||
- 杨轩说「帮我设个提醒」「每天 X 点提醒我」「每周三提醒」「睡前提醒」等
|
||||
- 需要查看/修改/删除已有提醒任务
|
||||
|
||||
## 核心规则(必须遵守)
|
||||
|
||||
所有提醒都是 OpenClaw cron 任务,统一:
|
||||
|
||||
- **投递只交给 delivery**:`--announce --channel dingtalk-connector --to 0464031658857345`。payload 只输出文案 `--command 'echo "..."'`。
|
||||
- **禁止**在命令里手动调 `openclaw message send`——CLI 的 message send 不认识 `dingtalk-connector`(内置频道枚举无 DingTalk 插件名),会 exit 1 失败。
|
||||
- **必须 `--agent main`**:多 agent 环境下无 owner(agent-less)的 cron 任务会让调度器 nextWake 锁死,阻塞所有提醒。
|
||||
- **时间参数**:周期性用 `--cron "<表达式>" --tz Asia/Shanghai`;一次性用 `--at`(不带时区按 UTC 处理,北京时间 = UTC+8)。
|
||||
|
||||
## 创建一条周期提醒
|
||||
|
||||
```bash
|
||||
openclaw cron add "任务名" \
|
||||
--cron "0 21 * * 2" --tz Asia/Shanghai \
|
||||
--agent main --session isolated --announce \
|
||||
--channel dingtalk-connector --to 0464031658857345 \
|
||||
--wake now --display-name "任务名" \
|
||||
--command 'echo "提醒文案"'
|
||||
```
|
||||
|
||||
cron 星期数字:**周日 = 0,周一 = 1 … 周六 = 6**(容易记错,务必核对)。
|
||||
|
||||
## 一次创建多条(批量)
|
||||
|
||||
多条同类提醒时,写一个 shell 助手函数把上面的标准 flag 包起来,再用循环调用(模板见 `examples/batch-reminders.sh`),比逐条手敲省大量往返。文案相同的提醒合并成变量复用,避免重复粘贴。
|
||||
|
||||
## 验证(必做)
|
||||
|
||||
创建后用 `openclaw cron get <id>` 逐条确认:
|
||||
|
||||
- `agentId=main`
|
||||
- `delivery.mode=announce`、`delivery.channel=dingtalk-connector`、`delivery.to=0464031658857345`
|
||||
- `schedule.expr` 与下次触发 `nextRunAtMs` 正确
|
||||
|
||||
整库不应残留 `message send` 字样。
|
||||
|
||||
## 带打卡确认的提醒(用户要求「要打卡/要确认」时)
|
||||
|
||||
提醒发出后用户可能不回复,需要二次确认时,用「提醒 + 延后检查」两条任务:
|
||||
|
||||
1. 提醒文案末尾加一句打卡要求:`完成后回我一句「打卡」✅`
|
||||
2. 另建一条延后检查任务(如提醒 21:00、检查 22:30),payload 用 `--message`(agentTurn),先读会话再决定是否催:
|
||||
- 用 `sessions_history` 读会话 `agent:main:dingtalk-connector:direct:0464031658857345` 当天消息
|
||||
- 用户已在提醒时间后回复过关键词(如「打卡」)→ 回 `NO_REPLY`(不打扰)
|
||||
- 未回复 → 发一条温和催促
|
||||
3. 检查任务用与提醒相同的 delivery 参数(`--agent main`、announce、dingtalk-connector)。
|
||||
|
||||
```bash
|
||||
openclaw cron add "打卡检查" \
|
||||
--cron "30 22 * * *" --tz Asia/Shanghai \
|
||||
--agent main --session isolated --announce \
|
||||
--channel dingtalk-connector --to 0464031658857345 \
|
||||
--wake now \
|
||||
--message '检查打卡:用 sessions_history 读会话 agent:main:dingtalk-connector:direct:0464031658857345 今天的消息;若用户在提醒时间后回复过「打卡」则回 NO_REPLY,否则发一条温和催促。'
|
||||
```
|
||||
|
||||
## 修改 / 删除
|
||||
|
||||
- 改文案/时间:`openclaw cron edit <id> --command '...'`(或 `--cron`/`--message`)
|
||||
- 删除:`openclaw cron rm <id>`
|
||||
|
||||
## 参考
|
||||
|
||||
- 生日提醒(农历换算、每年重设、一次性任务):见 `birthday-reminder` skill
|
||||
- 完整钉钉推送规范:`workspace/TOOLS.md`「📢 钉钉推送统一规范」
|
||||
+62
@@ -0,0 +1,62 @@
|
||||
---
|
||||
name: "scheduled-reminders"
|
||||
description: "创建/管理定时提醒(每周/每天/睡前等周期或一次性)并推送钉钉。触发:帮我设提醒、每天X点提醒、每周提醒。"
|
||||
status: proposal
|
||||
version: "v1"
|
||||
date: "2026-09-14T16:14:56.033Z"
|
||||
---
|
||||
|
||||
# scheduled-reminders
|
||||
|
||||
创建和管理杨轩的定时提醒:周期性(每周/每天)或一次性,统一通过钉钉推送。非生日类提醒走本 skill;生日提醒走 birthday-reminder skill。
|
||||
|
||||
## 触发场景
|
||||
|
||||
- 杨轩说「帮我设个提醒」「每天 X 点提醒我」「每周三提醒」「睡前提醒」等
|
||||
- 需要查看/修改/删除已有提醒任务
|
||||
|
||||
## 核心规则(必须遵守)
|
||||
|
||||
所有提醒都是 OpenClaw cron 任务,统一:
|
||||
|
||||
- **投递只交给 delivery**:`--announce --channel dingtalk-connector --to 0464031658857345`。payload 只输出文案 `--command 'echo "..."'`。
|
||||
- **禁止**在命令里手动调 `openclaw message send`——CLI 的 message send 不认识 `dingtalk-connector`(内置频道枚举无 DingTalk 插件名),会 exit 1 失败。
|
||||
- **必须 `--agent main`**:多 agent 环境下无 owner(agent-less)的 cron 任务会让调度器 nextWake 锁死,阻塞所有提醒。
|
||||
- **时间参数**:周期性用 `--cron "<表达式>" --tz Asia/Shanghai`;一次性用 `--at`(不带时区按 UTC 处理,北京时间 = UTC+8)。
|
||||
|
||||
## 创建一条周期提醒
|
||||
|
||||
```bash
|
||||
openclaw cron add "任务名" \
|
||||
--cron "0 21 * * 2" --tz Asia/Shanghai \
|
||||
--agent main --session isolated --announce \
|
||||
--channel dingtalk-connector --to 0464031658857345 \
|
||||
--wake now --display-name "任务名" \
|
||||
--command 'echo "提醒文案"'
|
||||
```
|
||||
|
||||
cron 星期数字:**周日 = 0,周一 = 1 … 周六 = 6**(容易记错,务必核对)。
|
||||
|
||||
## 一次创建多条(批量)
|
||||
|
||||
多条同类提醒时,写一个 shell 助手函数把上面的标准 flag 包起来,再用循环调用(模板见 `examples/batch-reminders.sh`),比逐条手敲省大量往返。文案相同的提醒合并成变量复用,避免重复粘贴。
|
||||
|
||||
## 验证(必做)
|
||||
|
||||
创建后用 `openclaw cron get <id>` 逐条确认:
|
||||
|
||||
- `agentId=main`
|
||||
- `delivery.mode=announce`、`delivery.channel=dingtalk-connector`、`delivery.to=0464031658857345`
|
||||
- `schedule.expr` 与下次触发 `nextRunAtMs` 正确
|
||||
|
||||
整库不应残留 `message send` 字样。
|
||||
|
||||
## 修改 / 删除
|
||||
|
||||
- 改文案/时间:`openclaw cron edit <id> --command '...'`(或 `--cron`/`--message`)
|
||||
- 删除:`openclaw cron rm <id>`
|
||||
|
||||
## 参考
|
||||
|
||||
- 生日提醒(农历换算、每年重设、一次性任务):见 `birthday-reminder` skill
|
||||
- 完整钉钉推送规范:`workspace/TOOLS.md`「📢 钉钉推送统一规范」
|
||||
+31
@@ -0,0 +1,31 @@
|
||||
#!/bin/bash
|
||||
# 批量创建同名系列的钉钉定时提醒(周期性)
|
||||
# 用法:改 TO / 各文案变量和 add 调用即可。
|
||||
|
||||
TO="0464031658857345"
|
||||
CH="dingtalk-connector"
|
||||
AGENT="main"
|
||||
|
||||
# 文案相同的提醒合并为变量复用(示例:护肤用酸日/保湿日/休息日)
|
||||
TEXT_A='第一条提醒文案(可多行)'
|
||||
TEXT_B='第二条提醒文案(可多行)'
|
||||
|
||||
add() {
|
||||
local name="$1" dow="$2" text="$3" # dow: 周日=0, 周一=1 ... 周六=6
|
||||
echo "--- 创建: $name (周$dow 21:00) ---"
|
||||
openclaw cron add "$name" \
|
||||
--cron "0 21 * * $dow" --tz Asia/Shanghai \
|
||||
--agent "$AGENT" \
|
||||
--session isolated --announce \
|
||||
--channel "$CH" --to "$TO" \
|
||||
--wake now \
|
||||
--display-name "$name" \
|
||||
--command "echo \"$text\"" 2>&1 | grep -E '"id"|"name"|"expr"|"agentId"|rror' | head -8
|
||||
echo
|
||||
}
|
||||
|
||||
add "周一提醒" 1 "$TEXT_A"
|
||||
add "周二提醒" 2 "$TEXT_B"
|
||||
# ...
|
||||
|
||||
# 验证:创建后用 openclaw cron get <id> 逐条确认 agentId=main 且 delivery 为 dingtalk-connector
|
||||
Reference in New Issue
Block a user