定时任务指南

lsbot 支持通过自然语言创建定时任务,无需手动编写 Cron 表达式。

两种任务类型

AI 智能任务 (prompt)

每次触发时运行一次完整的 AI 对话,可调用所有 MCP 工具(web_search、web_fetch、天气、日历等),每次生成全新内容

适用场景: 需要动态、变化、有创意的内容

对话示例:

用户:每小时43分发一段鸡汤激励我写代码
AI:已创建定时任务,每小时43分我会为你生成一段独特的编程激励文字!

用户:每天早上8点搜索最新AI新闻,整理3条摘要发给我
AI:已创建AI新闻摘要任务,每天早上8点自动搜索并推送。

用户:每天中午12点教我一个Go语言技巧
AI:已创建Go学习任务,每天中午推送一个不同的Go技巧。

用户:每天早上9点查天气和日历,给我一份早间简报
AI:已创建早间简报任务,每天9点自动生成天气+日程摘要。

用户:每周一早上9点搜索本周科技大事件
AI:已创建周报任务,每周一推送科技行业一周要闻。

用户:每天下午6点写一首关于编程的小诗
AI:已创建诗歌任务,每天傍晚为你创作一首编程主题小诗。

用户:每30分钟检查磁盘使用情况,超过80%就提醒我
AI:已创建磁盘监控任务,每30分钟检查一次。

底层机制:

cron_create(
  name="coding-motivation",
  schedule="43 * * * *",
  prompt="生成一条独特的编程激励鸡汤文字,鼓励用户写代码创造新产品"
)

每次 Cron 触发时:

  1. 调用 AI 进行一次完整对话(与用户聊天使用相同的 AI 引擎)
  2. AI 可以调用 web_search、web_fetch、天气等工具获取实时信息
  3. 生成响应后自动发送到用户的聊天平台

静态消息 (message)

每次触发发送完全相同的固定文本,不调用 AI,不使用工具。

适用场景: 固定提醒、打卡通知、不需要变化的文本

对话示例:

用户:每天早上9点提醒我开站会
AI:已创建站会提醒,每天9点准时通知。

用户:每小时提醒我喝水
AI:已创建喝水提醒。

用户:工作日下午6点提醒我下班
AI:已创建下班提醒。

底层机制:

cron_create(
  name="standup-reminder",
  schedule="0 9 * * 1-5",
  message="该开始今天的站会了!"
)

对比总结

AI 智能任务 (prompt)静态消息 (message)
内容每次触发生成全新内容每次发送完全相同的文本
AI 调用是,运行完整 AI 对话
工具调用可调用 web_search、天气、日历等全部 MCP 工具
资源消耗每次消耗 AI API Token零消耗
延迟数秒(AI 生成 + 可能的工具调用)毫秒级
适用场景新闻摘要、每日简报、随机鸡汤、学习提醒、系统监控固定提醒、打卡通知

Cron 表达式格式

* * * * *
│ │ │ │ │
│ │ │ │ └─ 星期 (0-6, 0=周日)
│ │ │ └─── 月份 (1-12)
│ │ └───── 日期 (1-31)
│ └─────── 小时 (0-23)
└───────── 分钟 (0-59)

常用表达式:

表达式含义
0 * * * *每小时整点
43 * * * *每小时43分
*/15 * * * *每15分钟
*/30 * * * *每30分钟
0 9 * * *每天上午9点
0 9 * * 1-5工作日上午9点
0 9,18 * * *每天9点和18点
0 0 1 * *每月1号零点
0 8 * * 1每周一早上8点

管理命令

在聊天中直接对 AI 说:

"列出所有定时任务"        → cron_list
"暂停XX任务"              → cron_pause
"恢复XX任务"              → cron_resume
"删除XX任务"              → cron_delete

持久化

任务配置保存在 ~/.lingti.db(SQLite 数据库),重启 lsbot 后自动恢复所有任务。