【Hermes Agent 从入门到精通】第 17 篇:Cron 进阶 — 技能驱动与上下文链
本系列定位:零基础入门,从安装配置到高级架构全覆盖。无论你是开发者、运维工程师、还是技术爱好者,本系列带你彻底掌握 Hermes Agent。
本篇你将学到
- 技能驱动的 Cron 任务(skills 参数)
context_from:任务链——A 的输出作为 B 的输入workdir:在项目目录中运行 Cron 任务- 模型/Provider 覆盖
- 综合实战案例
学完本篇,你将能构建复杂的自动化工作流——多步骤、跨项目、按技能执行。
一、技能驱动的 Cron
1.1 为什么需要技能驱动
普通 Cron 任务的 Prompt 只能依赖 Agent 的通用知识。但如果任务需要专业领域知识呢?
没有技能: Prompt: "审查 Git 提交的代码质量" Agent: 用通用知识审查,不了解你的项目规范 加载技能: Prompt: "审查 Git 提交的代码质量" Skills: requesting-code-review Agent: 按照技能中的代码审查清单和项目规范来审查1.2 配置技能驱动
hermescroncreate"0 18 * * 5"\--prompt"审查本周所有提交,重点关注安全漏洞和性能问题"\--skills"requesting-code-review,systematic-debugging"\--workdir"/home/user/my-project"\--deliver"telegram"\--name"每周代码审查"| 参数 | 作用 |
|---|---|
--skills | Cron 任务运行时预加载的技能(逗号分隔多个) |
--workdir | 在指定目录运行(加载该目录的 AGENTS.md) |
1.3 工作流程
二、任务链(context_from)
2.1 什么是任务链
一个 Cron 任务的输出作为另一个任务的输入:
任务 A(数据采集):每小时抓取服务器指标 ↓ 输出:"CPU 85%, Memory 70%, Disk 45%" 任务 B(分析决策):分析指标,判断是否告警 ↓ 输出:"CPU 偏高,建议检查进程 xxx" 任务 C(通知投递):发送告警到 Telegram2.2 配置任务链
# 任务 A:采集数据hermescroncreate"0 * * * *"\--prompt"采集服务器 CPU、内存、磁盘指标,输出 JSON 格式"\--name"metrics-collector"\--deliver"local"# 任务 B:分析数据(依赖 A 的输出)hermescroncreate"5 * * * *"\--prompt"分析服务器指标,如果有异常则生成告警"\--context_from"metrics-collector"\--name"metrics-analyzer"\--deliver"telegram"2.3 工作原理
context_from可以链式引用多个任务。A → B → C 形成完整的数据处理流水线。
三、项目目录运行(workdir)
3.1 workdir 的作用
Cron 任务默认在~/.hermes/目录运行。如果你的任务需要操作特定项目,用--workdir指定:
hermescroncreate"0 9 * * 1"\--prompt"生成本周的 Sprint 计划,基于 issues 中的待办项"\--workdir"/home/user/my-project"\--deliver"telegram"3.2 自动加载的上下文
在workdir中运行时,Hermes 会自动加载该目录下的上下文文件:
/home/user/my-project/ ├── AGENTS.md ← 项目指令(Agent 自动读取) ├── CLAUDE.md ← 备用上下文文件 ├── .cursorrules ← 备用上下文文件 └── src/ ← 项目源码Agent 会自动理解项目结构和约定,不需要在 Prompt 中解释。
四、模型覆盖
4.1 为 Cron 任务指定不同模型
日常 Cron 任务用便宜模型,复杂分析用强模型:
# 数据采集——用便宜的 DeepSeekhermescroncreate"0 * * * *"\--prompt"采集服务器指标"\--model"deepseek/deepseek-chat"\--provider"openrouter"\--name"metrics"# 复杂分析——用 Claudehermescroncreate"0 9 * * 1"\--prompt"分析本周代码质量趋势,给出改进建议"\--model"anthropic/claude-sonnet-4"\--provider"openrouter"\--name"weekly-analysis"省钱策略:80% 的定时任务用便宜模型(DeepSeek / Gemini Flash),只有需要深度分析的任务用强模型。
五、综合实战案例
5.1 每日开发简报系统
构建一个完整的自动化流水线:
下面是每日开发简报系统的整体架构图:
# 步骤一:数据采集(每天 8:55,脚本驱动,零成本)hermescroncreate"55 8 * * *"\--script"collect_git_stats.sh"\--no-agent\--name"data-collect"# 步骤二:分析报告(每天 9:00,LLM + 技能)hermescroncreate"0 9 * * *"\--prompt"基于采集的 Git 统计数据,生成今日开发简报:提交数、变更行数、活跃文件、潜在风险"\--context_from"data-collect"\--skills"requesting-code-review"\--workdir"/home/user/my-project"\--model"deepseek/deepseek-chat"\--deliver"telegram"\--name"daily-briefing"每天早上 9 点,你在 Telegram 上收到:
📊 今日开发简报(2026-07-29) 提交数:12 次(3 位开发者) 变更:+450 行 / -120 行 活跃文件:OrderService.kt, ProductRepository.kt 风险提示:OrderService.kt 有 3 处未覆盖的分支 建议:补充 OrderService 的边界测试5.2 RSS 监控 + 智能摘要
# 每 2 小时检查 RSS 源hermescroncreate"0 */2 * * *"\--prompt"检查以下 RSS 源是否有新文章:Hacker News、TechCrunch AI、Kotlin Blog。如果有新文章,用中文总结要点"\--deliver"telegram"\--name"rss-monitor"5.3 定期数据库备份验证
# 每天凌晨 3 点验证备份hermescroncreate"0 3 * * *"\--prompt"检查 PostgreSQL 最新备份文件的完整性和可恢复性。列出备份大小、时间戳,尝试验证备份能否正常还原"\--deliver"telegram"\--name"backup-verify"本篇小结
| 知识点 | 核心内容 |
|---|---|
--skills | Cron 任务预加载技能 |
--workdir | 在项目目录运行,加载 AGENTS.md |
--context_from | 任务链:引用上游任务输出 |
--model/--provider | 为 Cron 任务指定不同模型 |
--script+--no-agent | 脚本驱动(零成本数据采集) |
| 任务链模式 | 采集 → 分析 → 投递 |
| 成本策略 | 采集用脚本,分析用 LLM |
下篇预告
第 18 篇:Webhook 订阅 — 外部事件触发 Agent
GitHub PR 合并、Jenkins 构建完成……外部事件怎么自动触发 Hermes?下一篇学习 Webhook 集成。
如果本篇内容对你有帮助,欢迎点赞收藏!有任何疑问,欢迎在评论区交流。