Hermes Agent 的多 profile 机制可以轻松实现“一个 Agent 只做一件事”的专业分工。本文以域名销售周报为例,介绍如何用独立 profile + cron 定时任务,构建一个自动化的数据采集+内容发布工作流。
案例背景
需求:每周一自动采集全球域名交易平台的销售数据,生成 TOP50 排行榜,发布到 WordPress 站点。
挑战:
- 数据源多且格式不统一(HTML 表格、不同页面结构)
- 需要自动定时执行,无人值守
- 输出格式必须是发布就绪的 HTML
方案设计
1. 独立 Profile
创建一个名为 domainbroker 的独立 profile,SOUL.md 明确角色:“资深域名销售专家,精通各大域名交易平台的销售数据分析”。这样 domainbroker 有自己独立的 session、memory 和工具环境,不会与其他任务产生上下文干扰。
2. 数据采集 Skill
编写 domain-sales-report skill,包含完整工作流:
- 数据源:DNJournal(唯一可用源,无 Cloudflare 阻挡,可直接 curl 访问)
- 提取:Python 解析 HTML 表格,提取域名、成交价、交易平台
- 排序:按成交价从高到低排列 TOP50
- 报告生成:输出手机端适配的 HTML 表格(CSS media query 响应式)
技术实现亮点
纯数据驱动,拒绝 AI 编造
这是最重要的设计原则。Agent 必须从真实数据源获取数据,不能“根据知识生成”。DNJournal 页面约 4.8MB,直接用 curl 下载后用 Python 按行解析,不依赖任何第三方 API。
Cron 定时任务
通过 Hermes cron 设置每周一 9:00 自动执行,任务 profile 指定为 domainbroker:
schedule: “0 9 * * 1”
profile: domainbroker
toolsets: [“terminal”, “file”]
deliver: local
关键设计:工具集只开放 terminal 和 file,不开放 browser——因为 cron 上下文没有交互用户,浏览器自动化无法工作。所有数据采集通过 curl + Python 完成。
直接发布到 WordPress
报告生成后立即通过 REST API 发布到 namehonor.com 的 News 分类。流程:
- curl 登录 WordPress 获取 cookie
- 调用 admin-ajax.php 获取 REST nonce
- POST 到 /wp-json/wp/v2/posts 发布
这个流程和 mottobook.com 的发布方式完全一致,验证了 cookie+nonce 认证方案的通用性。
运行效果
定时任务未来每周一 9:00 自动执行:
- curl 下载 DNJournal 最新销售数据
- Python 解析 HTML,提取 50 个最高价域名
- 生成带奖牌图标的 TOP1-10 和完整 TOP11-50 表格
- 输出趋势洞察和投资建议
- 一键发布到 WordPress
经验总结
- Profile 隔离是关键:每个专业任务一个独立 profile,避免 skill 冲突和上下文污染
- Cron 上下文限制:定时任务中无交互用户,所有操作必须可脚本化。curl 替代 browser,文件暂存替代管道
- 格式约束用 skill 固化:用户对报告格式有严格要求(纯数据、不做单个域名点评、不要数据来源标注),这些约束写进 skill 后 cron 每次执行都严格遵循
- 一次调试,永久运行:初始调试时用交互 session 验证每一步,确认无误后固化到 cron,以后全自动运行

