心跳监控
传统 AI 助手只会等待你的指令。DesireCore 的心跳(Heartbeat)让智能体可以定期"睁开眼睛看一看":按你配置的频率检查邮箱、代码仓库、日历、系统事件或其他连接器,判断是否有需要你关注的变化。没有变化时保持静默,有值得关注的事项时通知你。
心跳由独立的调度器管理,不需要你手动创建定时任务。你可以在智能体详情页的心跳区域单独启用、配置和查看历史。
编写检查清单
心跳的检查内容定义在智能体的 HEARTBEAT.md 文件中:
~/.desirecore/agents/<agent_id>/heartbeat/HEARTBEAT.md
你可以在智能体详情页的心跳设置中直接编辑。HEARTBEAT.md 支持两种写法:
清单模式
直接列出要检查的内容,智能体每次心跳时逐项检查:
# 心跳检查
## 数据源
- 邮箱:检查来自客户、CEO 或项目关键人的未读邮件
- GitHub:检查被 @、PR 审查请求和失败的 CI
- 日历:检查 24 小时内新增或冲突的会议
## 判断标准
- 没有新增重要事项时保持安静
- 有需要我阅读的信息时通知我
- 需要外部操作时只提出建议,不直接执行
任务模式
如果你希望不同检查项有不同的检查频率,可以用 tasks: 块定义子任务:
tasks:
- name: inbox-triage
interval: 30m
prompt: "检查 VIP 联系人的紧急邮件"
- name: calendar-check
interval: 1h
prompt: "检查未来两周内新增或冲突的会议"
- name: ci-monitor
interval: 15m
prompt: "检查 CI 管线是否有失败的构建"
# 补充说明
- 没有变化时保持静默
- 通知时附带来源链接
任务模式下,每次心跳只执行到期的子任务,未到期的会被跳过,节省不必要的检查。
如果 HEARTBEAT.md 为空或只有注释,心跳不会发起实际检查。
心跳结果
智能体完成检查后会自主判断:这次有没有需要打扰你的事情。
静默——所有检查项都正常,没有需要你关注的变化。结果会写入历史记录,但不会推送通知。对话流中显示为绿色可折叠 pill,点击可查看详情。
通知——有值得你了解的变化、异常、风险或建议。通知卡片会出现在对话流中,通常包含:
- 数据源的变化摘要和明细
- 智能体的总结论和后续建议
- 稍后提醒菜单
通知卡片只负责提醒。如果后续需要发送邮件、改文件或执行命令等操作,系统会另外弹出审批卡片,不会因为心跳触发而绕过确认。
重复内容会在 24 小时窗口内去重,避免同一事项反复打扰。
配置心跳
在智能体详情页的心跳区域点击设置按钮,打开心跳设置面板。

基本设置
| 设置项 | 说明 |
|---|---|
| 启用心跳 | 开启或关闭该智能体的心跳调度 |
| 检查间隔 | 支持 15 分钟、30 分钟、1 小时等常用间隔 |
| 编辑检查内容 | 跳转编辑 HEARTBEAT.md,修改巡检任务 |
如果没有任何智能体显式开启心跳,系统会为默认智能体自动开启 30 分钟间隔。
安静时段
安静时段设定一个"免打扰"窗口,默认 23:00 到 08:00,支持跨午夜。处于安静时段时,心跳不会执行检查,只写入抑制记录。
安静时段结束后的首次心跳会自动进入合并汇报模式,智能体会综合检查静音期间可能积累的变化,而不是只看最近增量。
抑制策略
| 策略 | 效果 |
|---|---|
| 专注模式 | 完全暂停心跳检查,只记录不执行、不通知 |
| 安静时段 | 同上,到时自动恢复并汇总补报 |
| 忙碌信号 | 你正在对话时照常检查,但通知会被延后 |
手动触发心跳时会跳过所有抑制策略,因为这代表你明确想立即查看结果。
查看巡检结果
心跳启用后,智能体详情页会显示状态卡片和历史卡片。
状态卡片

- 运行状态:活跃、专注模式、安静时段等
- 上次 / 下次检查:最近一次和下一次心跳的时间
- 今日统计:当天检查次数和静默/通知分布
- 待配置提示:如果
HEARTBEAT.md没有实质检查项,会提示你去编辑
历史记录
历史卡片列出最近的心跳回执,默认显示 5 条,展开后最多 50 条。可按全部、静默、通知筛选。每条回执包含执行时间、结果类型、结论摘要、抑制状态等信息。
即使被抑制,系统也会记录原因和时间,保证审计链完整。

检查不生效?
如果心跳没有按预期工作,优先确认:
- 心跳是否启用:在设置面板中确认开关已打开
- HEARTBEAT.md 是否有内容:空文件不会触发检查
- 数据源是否可用:对应的工具、MCP 服务或账户连接是否正常
- 是否被抑制:检查是否处于专注模式、安静时段或 Snooze 状态
瞬态错误处理
心跳遇到网络超时、限流或服务暂不可用等临时错误时会自动重试,最多 4 次,退避间隔依次为 3 秒、8 秒、20 秒和 60 秒。周期性心跳不会因为单次失败而停止。
与定时任务的区别
| 能力 | 适合做什么 | 结果呈现 |
|---|---|---|
| 心跳 | 持续巡检"是否有变化需要关注" | 没事静默,有事通知 |
| 定时任务 | 到点执行一段明确 Prompt | 执行结果进入任务记录 |
| Sleep | 等待几秒后继续当前任务链 | 仍在当前会话中继续 |
如果你想"每 30 分钟看看有没有重要邮件,没事别打扰我",使用心跳。如果你想"每天 9 点生成一份日报",使用定时任务。