Files
Doomsday_Survival_Manual/active_skills/cron/SKILL.md

202 lines
4.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
name: cron
description: Use this skill only for scheduled or recurring tasks. Manage cron jobs with copaw cron list/create/get/state/pause/resume/delete/run. Always pass --agent-id explicitly. | 仅在需要未来定时执行或周期执行时使用本 skill。用 copaw cron list/create/get/state/pause/resume/delete/run 管理任务;必须显式传 --agent-id
metadata: { "builtin_skill_version": "1.1", "copaw": { "emoji": "⏰" } }
---
# Cron定时任务管理
## 什么时候用
只有在需要**未来某个时间自动执行**,或**按周期重复执行**时,使用本 skill。
### 应该使用
- 用户要求"每天 / 每周 / 每小时"执行某事
- 用户要求"明天 9 点 / 下周一 / 某个时间"自动提醒或执行
- 需要长期周期性通知、检查、汇报
### 不应使用
- 只是要**现在立即执行一次**
- 只是当前会话中的正常回复
- 用户没有明确执行时间或周期
- 目标 channel / user / session 还不明确
## 决策规则
1. **只有在未来定时执行或周期执行时才使用 cron**
2. **如果只是立即做一次,通常不要创建 cron**
3. **创建前必须确认执行时间/周期、目标 channel、target-user、target-session**
4. **所有 cron 命令都必须显式传 `--agent-id`**
5. **不要依赖默认 agent否则任务可能落到 default workspace**
---
## 硬规则
### 必须显式指定 `--agent-id`
所有 `copaw cron` 命令都**必须**传:
```bash
--agent-id <your_agent_id>
```
你的 agent_id 在系统提示中的 Agent Identity 部分Your agent id is ...)。
不得省略,否则任务可能错误创建到 default agent 的 workspace。
---
## 常用命令
```bash
# 列出任务
copaw cron list --agent-id <agent_id>
# 查看任务详情
copaw cron get <job_id> --agent-id <agent_id>
# 查看任务状态
copaw cron state <job_id> --agent-id <agent_id>
# 创建任务
copaw cron create --agent-id <agent_id> ...
# 删除任务
copaw cron delete <job_id> --agent-id <agent_id>
# 暂停 / 恢复任务
copaw cron pause <job_id> --agent-id <agent_id>
copaw cron resume <job_id> --agent-id <agent_id>
# 立即执行一次已有任务
copaw cron run <job_id> --agent-id <agent_id>
```
---
## 创建任务
支持两种类型:
- **text**:定时发送固定消息
- **agent**:定时向 agent 提问,并把回复发送到目标 channel
### 创建前最少要确认
- `--type`
- `--name`
- `--cron`
- `--channel`
- `--target-user`
- `--target-session`
- `--text`
- `--agent-id`
如果缺少这些信息,应先向用户确认,再创建任务。
### 创建示例
```bash
copaw cron create \
--agent-id <agent_id> \
--type text \
--name "每日早安" \
--cron "0 9 * * *" \
--channel imessage \
--target-user "CHANGEME" \
--target-session "CHANGEME" \
--text "早上好!"
```
```bash
copaw cron create \
--agent-id <agent_id> \
--type agent \
--name "检查待办" \
--cron "0 */2 * * *" \
--channel dingtalk \
--target-user "CHANGEME" \
--target-session "CHANGEME" \
--text "我有什么待办事项?"
```
### 从 JSON 创建
```bash
copaw cron create --agent-id <agent_id> -f job_spec.json
```
---
## 最小工作流
```
1. 判断是否真的是"未来定时"或"周期执行"
2. 确认执行时间/周期
3. 确认 channel、target-user、target-session
4. 显式带上 --agent-id
5. copaw cron create 创建任务
6. 后续用 list / state / pause / resume / delete 管理
```
---
## Cron 表达式示例
```
0 9 * * * 每天 9:00
0 */2 * * * 每 2 小时
30 8 * * 1-5 工作日 8:30
0 0 * * 0 每周日零点
*/15 * * * * 每 15 分钟
```
---
## 常见错误
### 错误 1把一次性立即执行当成 cron
如果只是现在执行一次,通常不要创建 cron。
### 错误 2没传 --agent-id
这会导致任务落到错误的 agent / workspace。所有 cron 命令都必须显式传 `--agent-id`
### 错误 3信息没补全就创建
如果用户没说明时间、周期、目标 channel 或目标 session应先追问。
### 错误 4操作已有任务前不先查
暂停、恢复、删除前,先用:
```bash
copaw cron list --agent-id <agent_id>
```
找到正确的 `job_id`
---
## 使用建议
- 缺少参数时,先问用户再创建
- 修改/暂停/删除前,先 `copaw cron list --agent-id <agent_id>`
- 排查问题时,用 `copaw cron state <job_id> --agent-id <agent_id>`
- 给用户展示命令时,提供完整、可直接复制的版本
---
## 帮助信息
```bash
copaw cron -h
copaw cron list -h
copaw cron create -h
copaw cron get -h
copaw cron state -h
copaw cron pause -h
copaw cron resume -h
copaw cron delete -h
copaw cron run -h
```