☰
让AI每个工作日9点准时上班:Kiro Crew定时任务与心跳监控从入门到精通
2026/9/26 16:19:30 网站建设 项目流程

让AI每个工作日9点准时上班:Kiro Crew定时任务与心跳监控从入门到精通

【免费下载链接】KiroCrewA persistent workspace for development work that self-improves and continues beyond one session.项目地址: https://gitcode.com/gh_mirrors/ki/KiroCrew

Kiro Crew 不只是陪你聊一次天就下班的 AI 助手——它内置了**定时任务(Cron 调度器)与心跳监控(Heartbeat)**两套机制,让你能让 AI 每个工作日 9 点准时开工、巡检代码库、推送日报,并在无人值守时自动跟进长任务。本文将带你从零配置一个"每工作日 9 点上班"的 AI 同事。

为什么 AI 需要"上班打卡"机制 💼

传统 AI 助手是"你问它答",而 Kiro Crew 定位为持续工作的开发工作区(a persistent workspace for development work)。要实现"准点上班",需要两个互补的机制:

机制触发方式适合场景
定时任务(Cron)按日程表精确触发固定节奏:日报、每 9 点巡检、夜间构建
心跳监控(Heartbeat)固定间隔"脉搏"轮询(默认 60 秒)持续跟进:盯 pipeline、追长任务、待命巡检

一句话总结:Cron 管"什么时候醒",心跳管"醒着的时候盯什么"。

快速上手:3 种方式创建定时任务 🚀

Kiro Crew 的定时任务支持三种日程类型(源码见 cron.py):

  • every—— 固定间隔(最小 60 秒),如每 10 分钟
  • at—— 一次性提醒,如"明天下午 3 点提醒我"
  • cron—— 标准 5 段 cron 表达式,如0 9 * * 1-5

方式一:CLI 一行命令

# 每周一到周五 9:00 执行 kirocrew cron add \ --name "工作日晨检" \ --cron "0 9 * * 1-5" \ --message "检查 pipeline 状态,汇总今日 open PR 和风险点,输出晨会日报" # 常用子命令 kirocrew cron list # 查看所有任务 kirocrew cron trigger <id> # 立即手动触发一次 kirocrew cron pause <id> # 暂停 / resume 恢复

CLI 还支持--every(间隔)、--agent(指定执行 agent)、--approval-mode等参数。

方式二:直接在聊天里说

打开 Kiro Crew 对话,直接用自然语言:

"帮我建一个定时任务,每个工作日早上 9 点总结昨天的提交和今天的待办"

AI 会通过内置的 MCP 工具(cron_add/cron_list/cron_trigger等)自动完成创建和验证。

方式三:Schedule 页面 + 现成模板

Dashboard 的Schedule页面提供图形化编辑器,还有按"卫生 / 质量 / 安全 / 运维 / 沟通 / 知识"分类的模板画廊(错误日报、巡检、知识沉淀等),点一下卡片即可预填任务表单。

实战:让 AI 每个工作日 9 点准点开工 ⏰

上面的 CLI 例子已经能跑,但有一个"准点"细节要注意:默认会加随机抖动(每小时任务加 0–5 分钟、每天任务加 0–59 分钟)以分摊负载。如果你要求"9 点整必须开工",在任务上设置:

strict_schedule: true # 禁用抖动,按精确时间触发

再配上两个贴心字段:

timezone: Asia/Shanghai # 每个任务独立时区,跨时区团队不慌 skip_dates: # 节假日不打卡 - "2026-10-01" - "2026-10-02"

这样,"工作日 9:00 晨检"就真正做到了秒级准点,且法定节假日自动缺席。

三种任务类型:不只是"发消息给 AI"

类型说明典型用途
agent(message)任务提示词交给 LLM agent 执行日报、代码巡检、PR 汇总
script运行~/.kiro/crew/crons/下的 Python 函数(见 cron_script.py)确定性数据处理、调用 MCP 工具
command直接跑一条 shell 命令,捕获 stdout脚本巡检、日志检查

其中script 类型最灵活:函数通过ctx.call_tool()调用 MCP 工具、ctx.notify()主动发消息,还能用raise Skip()/raise Done()精细控制"这次跳过"或"干完收工"。

心跳监控:AI 的"脉搏" 💓

心跳服务由 heartbeat.py 实现:默认每 60 秒跳一次脉搏,每次都去读取你的任务清单文件:

~/.kiro/crew/workspace/HEARTBEAT.md

写法极简,一行一个任务:

# Heartbeat Tasks - check my pipeline status - summarize open PRs - [ ] 等 CI 绿了把结果发到团队频道

长任务不丢:HEARTBEAT_KEEP 哨兵

心跳任务可能一次跑不完(比如处理 5 个文件只完成了 3 个)。AI 只需在回复中包含一个哨兵词:

Progress: 3/5 files processed. HEARTBEAT_KEEP

这样任务会保留到下一拍继续,且期间不会骚扰你(Slack 通知被抑制);去掉哨兵词,任务即视为完成并自动从清单移除。抛异常的任务也会自动保留重试。

无人值守的安全边界 🔒

心跳是"没人看着"的场景,因此 Kiro Crew 默认只允许 AI 使用只读类安全工具(读取、搜索、列目录等),写操作会被直接拒绝并记录审计日志。同时每个心跳回合有 30 分钟超时兜底——即使 AI 卡死,整个心跳子系统也不会被拖垮。

心跳的"安静"与"唤醒"

监控类心跳遵循"无信号即安静"原则:大多数 tick 只是轻量探测,零模型调用、零 token 消耗;只有当门禁条件真正触发时,才注入一个 AI 回合去处理。这让心跳 7×24 跑着的成本非常低:

结果送到哪?📬

定时任务的结果默认同时投送到Dashboard 会话槽 + Slack 私聊,可通过job.silent = true改为"静默执行、AI 自己决定何时send_message通知你"——适合每天跑几十次的巡检类任务。

心跳任务则更精细,可在任务行尾用注释指定投递目标:

- check my pipeline status <!-- deliver:slack:C123456 --> # 发到指定频道 - 汇总 open PRs <!-- deliver:silent --> # 只记日志不通知

完整投递模式表见 heartbeat.md。

可靠性细节:失败 5 次自动"下班休息" 🛡️

无人值守最怕"悄悄坏掉"。Kiro Crew 的定时任务内置了完整防线:

  • 自动暂停:连续 5 次失败后任务自动暂停(持久化,重启不丢),成功后自动恢复
  • 超时保护:每个任务独立超时(agent 任务默认 30 分钟),单个任务卡死不影响其他任务
  • 重复结果抑制:连续 N 次输出完全相同时自动降频提醒,避免刷屏
  • 手动触发防重:正在运行时再触发会返回"已在运行",不会叠跑
  • 审计留痕:每次执行、每次权限判定都写入审计日志,可追溯

组合拳:定时 + 心跳的"上班"节奏 🧠

把两套机制组合起来,就是一个完整的 AI 工作日:

  1. 09:00(cron)——strict_schedule准点触发晨检 agent,输出日报推到频道
  2. 白天(heartbeat)—— 每 60 秒脉搏巡检 pipeline 与 PR,有异常立即处理并汇报
  3. 21:00(cron)—— 汇总今日进展,未完成的长任务靠HEARTBEAT_KEEP留到明早续办

更多设计细节可阅读官方系统规格:定时任务与 Dashboard、心跳模块,网关侧的心跳接线实现见 gateway.py。

小结

想做的事用什么
固定时间做固定事(日报、巡检、提醒)Cron 定时任务 +strict_schedule
持续盯着某件事(CI、长任务、待办)Heartbeat +HEARTBEAT.md
确定性脚本自动化script 类型定时任务
无人值守安全执行默认只读工具白名单 + 审计日志

现在,去把你的 AI 同事排进班表吧——从明天早上 9 点开始,它比你先到工位。🌅

【免费下载链接】KiroCrewA persistent workspace for development work that self-improves and continues beyond one session.项目地址: https://gitcode.com/gh_mirrors/ki/KiroCrew

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询