11. 定时任务

定时任务是一段保存好的 prompt,智能体会在你指定的时间自动执行。每日 standup digest、每周 retro、“周五提醒我去开发票” —— 这些你本来得自己想起来去问的事,都可以交给智能体按它的钟自己做。


11.1 两种定时任务

Cron —— 重复型。“工作日每天 09:00”、“每月第一个周一 14:00”。使用标准 cron 表达式。

一次性 —— 在一个绝对时间执行一次,然后自删除。适合提醒和有日期的任务。

两种都带一个 prompt —— 就是智能体收到的那段文字,跟你自己输入一样。任务触发时,网关开一个新会话,把这段 prompt 提交进去。


11.2 hermit schedules 命令

# 创建一个重复型任务。
hermit schedules create \
  --type cron \
  --cron "0 9 * * 1-5" \
  --prompt "Generate the daily standup digest and post it to #standup." \
  --agent main

# 创建一次性任务。
hermit schedules create \
  --type once \
  --run-at "2026-05-20T09:00:00Z" \
  --prompt "Remind me to file the quarterly report." \
  --agent main

# 列出某个智能体上的任务。
hermit schedules list --agent main

# 按 ID 删除。
hermit schedules delete <id> --agent main

任务按智能体存储。智能体以完整工具集执行那段保存的 prompt,所以 prompt 里可以让它读文件、调用 MCP 工具、发消息 —— 任何你能在交互式对话里做的事。


11.3 输出去哪儿

一次定时执行就是一个普通会话。它的消息会和其他会话一样出现在 Web UI 的 Observe 选项卡里,智能体也可以被指示把结果发到某处(”……然后用 Telegram 发给我”、”……然后写到 digest.md”)。

如果你不告诉智能体把输出送到哪里,它会生成一个谁都看不到的回复。在 prompt 里一定把闭环写完整。


11.4 Web 管理界面

Manage → Schedules 选项卡列出已有任务,并提供新建表单。底层数据和 CLI 一样。


11.5 角色差异

OwnerUserGuest
新建 / 编辑 / 删除任务
在 Observe 中看任务运行✓(自己的会话)

任务由 owner 控制。User 可以让智能体记一条提醒,但那写进记忆,不进调度器。


11.6 How-to 配方

11.6.1 工作日 09:00 的 Telegram 每日摘要

hermit schedules create \
  --type cron \
  --cron "0 9 * * 1-5" \
  --prompt "Summarise yesterday's GitHub activity for org/repo and send the summary to me on Telegram." \
  --agent main

前置 —— 启用了带 token 的 mcp_github,并且 Telegram 通道已绑定到你的身份。

验证 —— 等到下一个工作日 09:00,或者临时把 cron 改成一分钟之后,看着 Observe 选项卡。


11.6.2 一次性提醒

hermit schedules create \
  --type once \
  --run-at "2026-05-15T14:00:00Z" \
  --prompt "Send me a Telegram message: 'Time to renew the domain.'" \
  --agent main

验证 —— hermit schedules list --agent main 显示该条目,直到它触发。


11.6.3 取消一个重复型任务

hermit schedules list --agent main          # 找到 ID
hermit schedules delete <id> --agent main

11.7 FAQ

cron 用什么时区? 默认 UTC。需要本地时间就自己换算,或者在 cron 表达式的文档里写清时区偏移;网关按 UTC 评估表达式。

如果到点时网关挂了怎么办? 这一次就错过了;网关重启不会回补。关键提醒优先用临近事件时间的一次性任务,加上通道通知。

一次定时执行能再触发另一个定时任务吗? 不能 —— 任务由人通过 CLI/UI 创建,不能由智能体自己创建。

任务能编辑吗? 删了重建。没有原地编辑。


11.8 指引