定时任务
用自然语言描述创建周期性任务。Myrm Cron 支持三种调度模式、任务链、态势报告与 10 层防噪 — 远超基础 Cron。创建任务
对话(自然语言)
在任意对话中自然描述:「每天早上 9 点抓取竞品价格并邮件发对比报告」Agent 自动识别定时意图并弹出审批卡片——你确认后即刻创建。创建成功后聊天流内直接展示结构化任务卡片(名称、调度时间、下次运行、绑定模型),点击可跳转管理面板。Agent 还会自动匹配最合适的内置蓝图模板以提升任务质量。周期性计划需显式确认以防误创建。
Cron 工具模式(智能体配置)
默认情况下,定时任务管理为可发现加载——不占用 Turn1 工具 schema(约 0 cron token)。在对话中描述调度时,Myrm 按需加载cron_manage_tool。
在 智能体配置 → 内置工具 → 定时任务 (Cron) 中开关。云沙箱未开通 cron 权益时,开关禁用并显示升级链接——GUI、REST API、Agent 路径规则一致。
可发现(默认)与 eager 两种模式均已通过自动化测试与真实模型 WebUI 端到端验证。
GUI
进入 设置 > 定时任务,点 创建 使用可视化对话框(计划选择器、模型、投递选项)。可从 14 种蓝图模板(每日简报、每周回顾、知识库晨间摘要、稍后读内化等)一键创建——与 Agent 通过 API 使用的模板完全一致。GET /cron/blueprints API 返回 en/zh/ja/de/ko 五语系的 title、description、prompt_template;目录仅从 API 加载(失败可重试),slot 标签使用前端 locale。
任务类型
纯脚本模式(零 LLM 成本)
创建任务时选择 纯脚本 (Python) 即可运行 Python 代码,无需 LLM 调用。脚本在隔离子进程中执行,超时 60 秒。- 标准输出即结果 — 非空输出推送到配置的渠道,空输出静默跳过
- 跳过信号:打印
[SKIP]或{"action": "skip"}可优雅中止任务 - 云端安全:与 Shell 不同,Python 脚本在所有部署模式下均可用(本地、桌面端、云托管)
- 适用场景:API 健康检查、数据监控、RSS 过滤、数据库审计
三种调度模式
会话模式
控制 Agent 在多次执行间如何处理对话上下文:Daily 模式工作方式
选择 Daily 模式后:- Agent 按时间顺序看到同日历次输出(最多 5 条,每条截断至 500 字符)
- 新的一天首次执行时,会包含昨日最后一次输出的摘要
- 这让 Agent 能识别趋势变化——例如”CPU 过去 3 小时从 45% → 72% → 90%”
任务链(context_from)
将任务串联,前一任务输出喂给下一任务:「任务 A 收集日销售数据,任务 B 分析并生成报告」设置
context_from 将引用任务最近成功输出注入下一任务提示词。
心跳监控
内置周期性自检(__heartbeat__)+ 态势报告注入 — 每次 tick 前 Agent 回顾记忆变更、待办提醒、到期的跟进承诺(智能跟进追踪)与系统健康,将盲目检查变为智能驱动动作。到期的承诺投递后自动标记为已发送,避免重复通知。
智能体绑定
在 设置 → 系统 → 心跳巡检 中将任意智能体绑定到心跳。心跳将继承所绑定智能体的模型、系统提示词、技能和工具配置,无需单独配置。- 一键绑定:从内置或自定义智能体中选择。
- 模型继承:UI 显示将使用的模型(如「使用模型:openai/gpt-4o-mini」)。
- 解绑:切换回「默认智能体」清除绑定 — 心跳恢复使用全局默认模型。
- Agent Profile SSOT:更新智能体模型一次,所有绑定的心跳在下次执行时自动使用新模型。
调度器存活面板
定时任务面板顶部实时展示调度器健康状态:
组件每 30 秒轮询
GET /api/v1/cron/scheduler/health。当浏览器标签页隐藏时自动暂停请求,切回时立即刷新 — 多标签页工作场景下零浪费。
悬浮可查看精确的最后 tick 时间和错误计数。
智能投递
脚本投递(内联渠道选择)
创建 脚本 (Python) 任务时,对话框展示内联投递目标选择器:- 聊天(默认)— 输出保留在任务历史中
- 已连接 IM 渠道 — 自动从已配置的集成中发现(仅显示已连接的渠道)
- 目标字段 — 根据选择的渠道指定 Chat ID、频道名或 Webhook URL
交付保障(可选事后复核)
针对 Agent 定时任务(非纯脚本任务),可按智能体开启可选的交付复核:- 打开 设置 → 智能体 → [你的智能体] → 能力
- 在 交付保障 下开启 定时任务交付复核
- 保存 — 默认关闭,按智能体持久化
适用场景: 无人值守夜间任务「说完成了但交付错了」— 早上看 Cron 历史即可发现,无需翻完整日志。竞品多为交互式 turn-end guard 或 Goal rubric,缺少 Cron 运行史结构化复核 + WebUI 徽章。
成本控制: 默认关闭;只读任务自动跳过;不影响交互式聊天(无额外 Turn1 工具)。
验收标准(结构化输出验证)
为每个定时任务定义可量化的质量检查条件,每次运行后自动验证输出质量。与交付保障(LLM 复核)不同,验收标准是确定性的 —— shell 命令或语义检查直接判定成功/失败。添加验收标准
创建或编辑任务时,在 GUI 中展开 验收标准 区域(仅 agent 类型任务):- 点击 添加条件
- 选择类型:
- Shell — 必须成功执行(退出码 0)或匹配期望输出的 shell 命令
- Semantic — LLM 裁判评估输出是否满足自然语言描述的条件
- 填写描述(如 “输出 JSON 至少包含 3 个条目” 或 “报告必须提到所有 5 个竞品”)
工作原理
两条路径使用同一个 Harness 框架的
VerificationGatekeeper —— 无论执行模式如何,验收标准的评估方式完全一致。
失败行为
- 任何一条标准失败 → 运行状态标记为 FAIL
- 触发失败投递(已配置的告警渠道)
- 不会自动重试(与普通失败处理一致)
示例
每日竞品价格爬虫配合验收标准:
如果爬虫因网站变更仅获取了 3 家竞品中的 2 家数据,shell 检查立即失败 —— 你会即时收到告警,而非数天后才发现数据缺失。
API 支持
POST /cron/jobs 和 PATCH /cron/jobs/:id 接口支持 acceptance_criteria 数组:
10 层防噪
增量监控
启用智能增量检测,仅在有真正新内容时通知:
启用后,系统计算当前输出与存储基线之间的差异。若无新内容则静默跳过投递(exit_code=0)。仅真正的新信息触发通知(exit_code=1),且只投递增量部分。
基线在 TTL 过期后自动重置,防止长期运行的监控累积陈旧状态。
完整性验证(Merkle 链)
每次执行通过 SHA-256 链接到前一次,形成防篡改审计链:- 通过
POST /api/v1/cron/{job_id}/verify-integrity验证链完整性 - 检测缺口(丢失执行)、篡改(修改输出)或重排序
- 企业合规:定时任务按预期运行的加密证明
事件驱动触发
除定时调度外,任务可被外部事件触发:
触发上下文(匹配的消息、事件载荷、Webhook body、流数据或轮询内容)会注入 Agent 提示词,让它知道为什么被触发。
IM 消息 → 事件触发(架构)
已连接渠道(飞书、Telegram、Slack 等)的入站消息可自动触发事件型 Cron 任务:- 连接渠道 — Settings 中长连接或 Webhook Ingress
- 创建任务 — 触发类型选 Event,设置渠道过滤与正则模式
- 消息流经 Router —
/stop、/new、表情反应、待审批消息自动跳过;匹配消息仅 dispatch 一次
远程节点事件(移动端 / IoT 自动化)
外部系统可通过 HTTP 上报结构化事件到你的 Agent — 无需保持长连接,无需 SDK:
认证方式: 需要有效的
pair_token(hub_list 范围,通过扫码配对签发),或活跃的 WebUI 会话。
配置步骤:
- 在设置 → 远程访问 → 二维码中配对移动设备
- 创建定时任务,触发类型选 系统事件 — 设置 source 和 event_type 过滤条件
- 在 iOS Shortcuts / Android Tasker / Home Assistant 中配置 POST 请求到该端点
崩溃恢复
Myrm 调度器在意外重启后三阶段自动恢复:- 僵尸任务恢复 — 检测标记为”运行中”但从未完成的任务(进程崩溃),重新调度
- 漏执行回放 — 识别宕机期间遗漏的 Cron 槽位并回放执行
- 宽限窗口 — 在 misfire 宽限窗口内的任务立即执行;过期则跳到下一周期
安全
- Fail-closed 默认安全:未声明
required_capabilities的任务,shell/代码执行/MCP 调用等危险操作一律拒绝并提供清晰引导 - Per-job 能力围栏:每个任务独立声明所需权限(
shell_exec、file_write、mcp_invoke等),已声明能力自动预批准,未声明一律拒绝 - BLOCK 级绝对拦截:
rm -rf /、sudo、DROP DATABASE等破坏性命令即使在已批准能力范围内也始终拒绝 - 每次执行前提示词注入扫描(12 种模式)
- ContextVar 自调度防护防无限任务链(Cron 不能创建新 Cron)
- 预算强制超日预算则阻断执行
- ReDoS 防护事件触发正则模式安全检查
- SSRF 防护 Webhook 投递 URL 安全检查
桌面电源管理
Tauri 桌面端定时任务自动获取 PowerLock 防系统休眠:- macOS:
caffeinate子进程 - Linux:
systemd-inhibit - Windows:
SetThreadExecutionState
蓝图模板(一键创建)
通过预置模板 3 次点击即可创建常用自动化任务。进入 定时任务 > 新建 > 从模板 浏览可用蓝图。
第二大脑快速开始(设置 → Wiki): 一键应用预设智能体并创建 两条 定时任务(06:00 稍后读 + 07:00 晨间摘要),无需手工选蓝图。若早期只应用过单 cron 版本,点「重新应用预设」即可幂等补齐。
使用浏览器自动化的品牌监控 —— 适用于没有公开 API 的平台(小红书、微博、Twitter/X、LinkedIn、抖音)。
设置: 选择社媒舆情监控模板 → 填入品牌名和目标平台 → 关键词为选填(仅按品牌名监控即可)→ 选择投递渠道 → 完成。
每次执行流程:
- 通过浏览器自动化导航目标平台
- 使用配置的关键词搜索品牌提及
- 分类情感倾向(正面/中性/负面)
- 生成结构化情报报告
- 标记强负面帖子以便立即关注
- 通过配置的 IM 渠道投递(无重要信息时静默跳过)