Hermes Agent CronJob集成需五步:一、定义自然语言调度模板并生成唯一ID;二、绑定数据源与指标口径;三、启用NLU解析并提交指令生成CRON表达式;四、验证任务注册状态与执行结果;五、支持CLI直接注册原始CRON任务。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您希望 Hermes Agent 自动执行日报、周报、数据备份或系统审计等周期性任务,但尚未配置其内置 Cron 调度功能,则可能是由于自然语言指令未被正确解析为合法调度规则,或 Cron 任务未成功注册进执行队列。以下是完成 Hermes Agent CronJob 集成的具体步骤:
一、定义自然语言调度模板
该步骤旨在将用户日常表达(如“每天上午9点生成销售部昨日日报”)结构化为 Hermes Agent 可识别的语义模板,确保时间范围、数据源、输出格式与分发对象等要素被准确提取并映射为内部参数。
1、在 Hermes Agent 管理后台进入“调度模板”模块。
2、点击“新建模板”,输入典型中文调度语句:“每周一早8点汇总市场部上周全部推广渠道ROI数据,生成周报Excel,存入企业网盘/Reports/Weekly”。
3、系统调用 NLU 引擎自动识别出触发周期、指标关键词、输出格式及目标路径,并生成唯一模板 ID,例如 WEEKLY_MARKETING_REPORT_CN。
4、确认字段映射无误后保存模板,该模板即刻可用于后续自然语言指令触发。
二、绑定数据源与指标口径
自然语言中提及的数据项(如“ROI数据”“推广渠道”)必须与实际数据库表、API 接口或已注册指标建立显式关联,否则解析后的任务将因取数失败而中断执行。
1、进入“数据源映射”页面,筛选模板 ID WEEKLY_MARKETING_REPORT_CN。
2、将“推广渠道”手动绑定至数据库表 marketing_campaigns.channel_name。
3、将“ROI数据”关联至指标服务接口 /v1/metrics/roi?granularity=weekly&source=utm。
4、为“上周”时间范围配置动态计算逻辑:使用 date_trunc('week', current_date - interval '7 days') 作为起始时间戳。
三、启用NLU解析并提交调度指令
此步骤激活 Hermes Agent 的自然语言理解引擎,使其能实时将用户输入的非结构化文本转换为标准 CRON 表达式与任务元数据,并注入底层调度器(如 Airflow 或 APScheduler)。
1、在“智能调度中心”开启 NLU 解析开关,并加载已训练的中文定时意图识别模型。
2、在命令行或 Web 控制台提交调度指令:“每月1号凌晨2点执行全库备份,压缩为tar.gz,上传至S3://backup-hermes/monthly”。
3、系统返回解析结果:CRON 表达式为 0 0 2 1 * *,执行动作绑定工具 backup:full-archive,目标存储为 S3://backup-hermes/monthly。
4、点击“确认创建”,该任务立即注册进本地 APScheduler 实例并开始首次预检。
四、验证 Cron 任务注册状态
该步骤用于确认任务是否真实写入调度系统,避免因权限缺失、路径错误或模型未加载导致的静默失败。
1、执行终端命令:hermes cron list,查看当前所有已注册任务及其状态。
2、检查输出中是否存在对应模板 ID 的条目,且状态字段显示为 ACTIVE 而非 PENDING 或 FAILED。
3、手动触发一次测试执行:hermes cron run --id WEEKLY_MARKETING_REPORT_CN,观察日志输出是否完成数据拉取、内容生成与投递全流程。
4、检查目标路径 SMB-SharePoint://Reports/Weekly 是否出现新生成的 Excel 文件,文件名含日期后缀。
五、通过 CLI 直接注册原始 CRON 任务
当自然语言解析不可用或需绕过 NLU 层进行精确控制时,可跳过语义模板,直接使用 Hermes Agent 提供的底层 CRON 注册接口部署任务。
1、编写 JSON 格式任务定义文件 backup_monthly.json,包含字段 cron、command、output_path 和 timeout_sec。
2、执行注册命令:hermes cron register -f backup_monthly.json。
3、系统返回任务 UUID,例如 crn-7a3f9b2e-1c4d-4e8f-9a01-555d6c7b8a9f,表示已写入 ~/.hermes/cron/ 目录。
4、运行 hermes cron status --uuid crn-7a3f9b2e-1c4d-4e8f-9a01-555d6c7b8a9f,确认调度器已加载该实例。











