跳转到主内容
websoft网络软件专家 - 深耕网络技术,打造实用软件!

定时任务神器:用CronJob让HermesAgent每天自动汇报工作【自动化】

需通过CronJob实现HermesAgent每日自动发送工作汇报,包括编写YAML配置、用ConfigMap注入模板、配置ServiceAccount与RBAC权限、启用SMTP邮件通知,并验证调度与日志。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜如果您希望 HermesAgent 每日自动生成并发送工作汇报,例如系统运行状态、关键指标摘要或任务完成情况,则需通过 CronJob 机制实现自动化调度。以下是具体配置路径:

一、编写 CronJob YAML 清单

该方法通过 Kubernetes 声明式资源定义定时触发的 Job,由 HermesAgent 容器执行汇报逻辑。需确保集群启用 batch/v1 API 且 HermesAgent 镜像支持无参启动或接受环境变量控制行为。

1、创建名为 hermes-daily-report.yaml 的文件。

2、在文件中设置 apiVersion 为 batch/v1。

3、指定 kind 为 CronJob,并将 metadata.name 设为 hermes-daily-report。

4、在 spec.schedule 字段填入"0 9 * * *",表示每天上午 9 点整触发。

5、在 spec.jobTemplate.spec.template.spec.containers[0].image 中填入 HermesAgent 镜像地址,例如registry.example.com/hermesagent:v2.3.0。

6、在容器 env 中添加 REPORT_TYPE 环境变量,值设为"daily",用于标识汇报类型。

二、使用 ConfigMap 注入汇报模板路径

该方法将汇报模板内容与 CronJob 解耦,便于独立更新模板而不需重建 CronJob 资源。HermesAgent 启动时从挂载路径读取模板文件生成汇报。

1、执行

kubectl create configmap hermes-report-template --from-file=template.md=./templates/daily.md创建配置映射。

2、在 CronJob 的 volumes 字段中添加名称为report-template的卷,引用该 ConfigMap。

3、在容器 volumeMounts 中挂载该卷至路径/app/templates。

4、通过环境变量 TEMPLATE_PATH 设置为/app/templates/template.md,供 HermesAgent 加载。

三、配置 ServiceAccount 与 RBAC 权限

该方法确保 HermesAgent 在执行汇报任务时具备访问必要 Kubernetes 资源的权限,例如读取 Pod 日志、查询 Deployment 状态等,以支撑汇报数据采集。

HermesAgent(v2026.4.8) Hermes Agent (v0.8.0) 是由 Nous Research 开发的开源自进化 AI 智能体,被誉为“与你共同成长的 Agent”。其核心优势在于内置学习闭环,能从任务中自动提炼技能、持久记忆用户偏好,越用越懂你。该版本聚焦“智能”升级,支持后台任务自动通知、模型实时切换及 MCP OAuth 2.1。它兼容 200+ 主流大模型,支持微信、Telegram 等多平台接入,仅需 5 美元 VPS 即可部署,是提升个人与企业生产力的理想选择。

下载

1、创建名为

hermes-agent-sa的 ServiceAccount。

2、定义 ClusterRole,包含对pods、deployments、namespaces的 get、list 权限。

3、通过 ClusterRoleBinding 将该 ClusterRole 绑定至hermes-agent-sa。

四、启用 SMTP 邮件通知

该方法使 HermesAgent 在生成汇报后,通过标准邮件协议自动投递至指定收件人,无需人工干预或额外集成。

1、在 CronJob 的容器 env 中添加 SMTP_HOST、SMTP_PORT、SMTP_USER、SMTP_PASSWORD 等环境变量。

2、设置 MAIL_TO 环境变量为"manager@company.com,ops@company.com"。

3、确保 HermesAgent 镜像内已预装 sendmail 或配置了 Python smtplib 可用依赖。

4、在 task 字段中调用命令时显式包含--notify-via=smtp参数。

五、验证调度状态与日志

该步骤用于确认 CronJob 已被 Kubernetes 正确接纳、定时器已激活,且 HermesAgent 容器成功执行汇报逻辑并输出可追踪日志。

1、执行

kubectl get cronjob hermes-daily-report检查 AGE 与 LAST SCHEDULE 列是否更新。

2、运行

kubectl get jobs -l job-name=hermes-daily-report查看最近一次 Job 是否处于 Complete 状态。

3、获取对应 Pod 名称后,执行kubectl logs -l job-name=hermes-daily-report --tail=50查看最后 50 行日志。

4、检查日志中是否存在

"Report generation completed successfully"或类似成功标识行。

相关文章