大多数 AI 助手的根本局限在于它们是被动的。它们闲置着直到你发送消息,处理你的请求,回复,然后继续休眠。它们是精密的答录机——能力强,但被动。它们从不主动发起,从不检查事情,从不说"嘿,我注意到一件你应该知道的事。"
仔细想想,这是一个奇怪的局限。最有用的人类助手不只是回答问题——他们主动管理任务、跟进截止日期、监控情况,并在你开口之前就呈现信息。一个只在被问到时才回应的助手是有用的;一个能预判需求的助手是不可或缺的。
NanoClaw 的定时任务系统弥补了这个差距。它是内置在宿主进程中的类 cron 调度器,在指定时间启动 agent 容器,带有指定的指令,并将结果发送到指定的 WhatsApp 群组。agent 不等你开口——它按你定义的时间表行动,使用与正常对话中相同的工具和能力。
定时任务如何运作
机制很简单。你用自然语言告诉 NanoClaw 助手你想让它做什么以及什么时候做。"每天早上 8 点,检查 Hacker News 上关于 AI agent 的文章并给我发一份摘要。""每周五下午 5 点,提醒我提交工时表。""每天检查飞东京的机票价格,如果降到 800 美元以下就告诉我。"
NanoClaw 的宿主进程解析时间表,存储在 SQLite 中,并运行一个定时器循环来检查到期的任务。当任务到期时,宿主启动一个容器——与正常对话使用的容器完全相同——将任务指令作为初始消息。agent 运行,执行任务所需的任何操作(网页浏览、文件访问、API 调用),并将结果发回指定的 WhatsApp 群组。
任务在与任何其他 agent 交互相同的隔离容器环境中运行。它有相同的工具、相同的安全边界、相同的 CLAUDE.md 记忆用于上下文。唯一的区别是触发器是定时器而非用户消息。
真正有效的模式
用户觉得最有价值的定时任务模式往往分为几类,而且比简单的提醒更有意思。
第一类是监控。"每小时检查这个网站,如果有变化就告诉我。"这出奇地强大,因为 agent 不只是检查变化——它理解变化。一个价格监控任务不只是报告"价格从 899 美元变成了 749 美元",而是报告"飞东京的机票一夜之间降了 17%——这是我追踪三周以来的最低价。要我继续观察还是这个价格可以下手了?"
第二类是摘要生成。"每天早上,从这三个新闻源中总结与我在 AI 基础设施方面的工作相关的头条新闻。"agent 浏览网站,阅读文章,根据它对你兴趣的了解(来自 CLAUDE.md 记忆)过滤相关性,并提供个性化简报。这用 2 分钟的阅读替代了你花 30 分钟刷新闻流,而且已经为你过滤了重要内容。 第三类是周期性管理任务。"每周一早上,检查我项目的 GitHub issues,总结新增的、停滞的和需要关注的。"agent 使用网页浏览(或者如果你配置了 GitHub MCP server 就用 MCP)来拉取数据,分析它,并提供可操作的摘要。这种任务人工需要 15 分钟在 GitHub UI 中点来点去,而 agent 只需 30 秒的 API 调用。
第四类是截止日期管理。"我的报税截止日期是 4 月 15 日。从 3 月 1 日开始每周提醒我,从 4 月 1 日开始每天提醒我。"agent 不只是发送提醒——它发送带上下文的提醒。"你的报税截止日期还有 8 天。上次我们聊这个的时候,你提到还在等自由职业客户的 W-2 表格。收到了吗?"
背后的架构
定时任务系统刻意保持简单——在 NanoClaw 核心中大约 50 行代码。它在 SQLite 表中存储任务,包含 cron 表达式、指令文本、目标群组和上次运行时间等列。一个 setInterval 循环每分钟检查到期的任务,并为匹配的任务启动容器。
这种简单是刻意的。定时任务的复杂性不在于调度——而在于执行。"每天早上检查 Hacker News"的难点不是在早上 8 点运行代码,而是浏览网站、阅读文章、评估相关性并写出连贯的摘要。这个难点由容器内的 Claude 处理,使用与处理正常对话相同的 Agent SDK 和工具。
另一种选择——构建一个带有重试逻辑、依赖管理和工作流图的复杂任务执行引擎——会增加数千行代码来解决 AI 本身能更好处理的问题。Claude 已经知道如何重试失败的网络请求,如何处理暂时宕机的网站,以及如何在某些数据源不可用时仍然产出有用的结果。调度器只需要在正确的时间触发它。
通过对话管理任务
任务管理通过与其他一切相同的 WhatsApp 界面进行。"显示我的定时任务"列出它们。"取消机票价格检查"删除它。"把新闻摘要改到早上 7 点而不是 8 点"更新时间表。"暂停所有任务直到周一"临时挂起它们。
对话式界面意味着你不需要学习任务管理 UI 或记住 cron 语法。你用自然语言描述你想要什么,agent 将其转化为定时任务。如果时间表模糊——"每隔几天提醒我"——agent 会要求澄清而不是猜测。
任务按 WhatsApp 群组划分,这意味着你工作群组的任务不会出现在家庭群组中,反之亦然。管理频道(你与助手的私聊)可以查看和管理所有群组的所有任务,但群组成员只能看到属于自己群组的任务。
从被动到主动的转变
定时任务系统改变了你与 AI 助手之间的关系,这种改变在你使用几周之前很难体会。助手不再是你有问题时才去找的东西,而是变成了有值得知道的事情时主动来找你的东西。
你的早晨从个性化新闻简报开始,而不是刷社交媒体。你的项目保持正轨,因为助手在停滞的 issue 变成问题之前就把它们呈现出来。你的旅行计划受益于手动操作会很繁琐的持续价格监控。你的截止日期由一个记得上下文并适当升级的东西来管理。
技术实现很简单——一个定时器循环和一张 SQLite 表。但它带来的行为转变是深远的。被动的助手是你使用的工具。主动的助手是与你并肩工作的伙伴,处理那些重要但容易忘记的监控和维护任务。两者之间的区别是五十行调度代码和一个足够强大、无需被告知具体怎么做就能完成有用工作的 AI。