skillby aster110

scheduler

定时任务系统。内置在 mycc 后端,自动执行定时任务。触发词:"/scheduler"、"定时任务"、"启动定时"、"查看定时"

Installs: 0
Used in: 1 repos
Updated: 3w ago
$npx ai-builder add skill aster110/scheduler

Installs to .claude/skills/scheduler/

# 定时任务系统

定时任务功能**内置在 mycc 后端**,启动后端后自动生效。

## 触发词

- "/scheduler"
- "定时任务"
- "启动定时"
- "查看定时任务"
- "设置定时任务"

---

## 工作原理

```
mycc 后端启动
    ↓
scheduler 模块自动启动
    ↓
每分钟检查 tasks.md
    ↓
匹配时间 → 调用 Claude 执行任务
    ↓
执行完成 → 记录到 history.md + 发通知
```

**关键点**:
- 定时任务是 mycc 后端的一部分
- 后端运行 = 定时任务运行
- 后端停止 = 定时任务停止
- `history.md` 会自动创建,无需手动

---

## 任务配置

位置:`.claude/skills/scheduler/tasks.md`

### 时间格式

| 类型 | 格式 | 示例 |
|------|------|------|
| 每日 | `HH:MM` | `08:00`、`22:30` |
| 每周 | `周X HH:MM` | `周一 09:00`、`周日 20:00` |
| 一次性 | `YYYY-MM-DD HH:MM` | `2026-02-01 10:00` |
| 间隔 | `每X分钟` / `每X小时` | `每30分钟`、`每2小时` |

### 表格格式

```markdown
| 时间 | 任务 | Skill | 说明 |
|------|------|-------|------|
| 08:00 | 每日初始化 | /morning | 更新日期 |
| 每2小时 | 健康提醒 | /tell-me | 喝水活动 |
| 23:40 | 清理任务 | - | 删除过期一次性任务 |
```

### 注意事项

- **Skill 列**:填 skill 名称(如 `/tell-me`),无特定 skill 填 `-`
- **说明列**:传给 AI 的任务描述,可以写详细需求
- **时间误差**:允许 ±2 分钟
- **间隔任务**:对齐到整点/整分钟(如 每2小时 = 0/2/4/6/8/10/12/14/16/18/20/22 点)

---

## 用户操作

| 用户说 | AI 执行 |
|--------|----------|
| "启动定时任务" | 执行 `/mycc` 启动后端 |
| "停止定时任务" | 停止后端 |
| "查看定时任务" | 读取并显示 tasks.md |
| "添加定时任务 xxx" | 编辑 tasks.md 添加一行 |
| "每天 9 点提醒我 xxx" | 添加 `\| 09:00 \| xxx \| /tell-me \| ... \|` |

---

## 执行历史

位置:`.claude/skills/scheduler/history.md`(自动创建)

自动记录每次任务执行:
- 开始时间
- 任务名称
- 执行状态(成功/失败)

---

## 依赖

| Skill | 用途 | 必须? |
|-------|------|--------|
| `/tell-me` | 发送飞书通知 | 推荐 |
| `/mycc` | 启动后端 | 必须 |

如果没有 `/tell-me` skill,任务仍可执行,但不会发通知。

---

## 常见问题

**Q: 定时任务没有执行?**
1. 检查后端是否在运行:`lsof -i :18080`
2. 检查 tasks.md 时间格式是否正确
3. 查看 history.md 确认是否有执行记录

**Q: 收不到飞书通知?**
1. 检查 `/tell-me` skill 是否配置正确
2. 检查飞书 webhook 是否有效

**Q: 后端重启后任务会重新执行吗?**
不会。每个时间点只执行一次,重启后不会补执行已过的任务。

---

## 安装/升级

详见 [SOP.md](./SOP.md)

Quick Install

$npx ai-builder add skill aster110/scheduler

Details

Type
skill
Author
aster110
Slug
aster110/scheduler
Created
3w ago

More by aster110