
1. 久坐办公的提醒难题Hermes Agent 定时任务能做什么如果你每天在电脑前一坐就是三四个小时大概率经历过这种状态上午倒的一杯水到下午还是满的肩膀酸了才想起来已经两小时没动过。手机闹钟能提醒但要么被随手关掉要么和一堆通知混在一起根本形成不了习惯。Hermes Agent 的 cron 定时任务解决的正是这个问题。它不是简单弹一个系统通知而是让 Agent 在指定时间点主动执行一段任务——比如生成一条提醒、调用工具、推送消息到指定渠道。你可以把它理解成给 Agent 装了一个「闹钟」到点了它自己会动。适合谁用三类人最直接一是长期写代码、做设计、写文档的久坐人群需要喝水与起身提醒二是已经在用 Hermes 做日常自动化、想把手动触发改成定时触发的人三是想拿一个低风险场景练手 cron 表达式和 Agent 任务配置的开发者。喝水提醒这个场景足够简单出错成本低非常适合作为第一个定时任务来跑通全流程。这篇教程会覆盖三件事cron 表达式怎么写、Agent 任务配置片段怎么填、触发后怎么验证和排查。全程可复制跟着做就能落地一个属于你自己的健康提醒助手。2. TaoToken 前置准备Hermes Agent 接入与 API Key 获取Hermes Agent 要执行定时任务底层需要调用大模型来生成提醒内容或处理任务逻辑所以你得先有一个可用的模型接入点。这里用 TaoToken 来做接入它的 API 兼容主流格式配置起来不折腾。先明确三个必须项缺一个任务都跑不起来配置项作用获取位置Base URL模型请求的入口地址https://taotoken.net/apiAPI Key身份凭证控制台 API Keys 页面Model ID指定用哪个模型模型列表或文档第一步打开控制台创建 Key。访问https://taotoken.net/console登录后在 API Keys 区域新建一个密钥复制保存好。这个 Key 只显示一次丢了就得重建。第二步确认 Base URL。TaoToken 的 API 入口是https://taotoken.net/api注意这里不加任何查询参数保持干净。如果你用的是 OpenAI 兼容的客户端Base URL 通常填到/api这一层具体路径由客户端自己拼接。第三步选 Model ID。在模型对话页面可以先试跑一下确认你要用的模型能正常返回。访问https://taotoken.net/models查看可用模型记下你要用的那个 ID比如常见的对话模型 ID后面写进配置文件。如果你还没决定用哪个模型建议先去模型对话页面发一条测试消息确认账号和额度都正常。这一步花两分钟能省掉后面一堆 401 报错。注意API Key 不要直接写进会提交到 Git 的配置文件里。用环境变量或者本地未跟踪的配置文件来存后面配置片段里我会用占位符标注。准备好这三样就可以进入 Hermes 的定时任务配置了。整个链路是Hermes 到点触发任务 → 任务调用模型 API → 模型生成提醒内容 → 按 Deliver To 推送给你。3. 可复制配置Hermes cron 表达式与 Agent 任务片段这一节是核心直接给可复制的配置。Hermes 支持三种创建方式聊天窗口、命令行/cron create、Web 页面 CRON 菜单。三种方式底层是同一套调度格式我先把格式讲清楚再给具体片段。Hermes 支持的调度写法主要有这几类30m 相对时间30 分钟后执行一次 2h 2 小时后执行一次 every 30m 每 30 分钟循环执行 0 9 * * * 标准 cron每天 9 点执行 2026-02-03T14:00:00 指定绝对时间执行一次久坐提醒场景最常用的是every循环和标准 cron。喝水用每 30 分钟起身用每 3 分钟太频繁实际建议每 45 到 60 分钟一次避免打扰。先看命令行方式。在 Hermes 终端里输入/cron create every 30m 提醒我喝水语气轻松一点注意两个坑命令是create不是creat少一个 e 会报命令不存在时间格式要用every 30m或30m直接写「每30分钟」这种中文表达系统不认会提示调度格式错误。再看 Web 页面方式这是长期维护最推荐的。进入 Hermes Agent 顶部导航的 CRON 菜单上半部分是新建任务表单字段对应关系如下{ name: 喝水提醒, prompt: 提醒我喝水顺便说一句鼓励的话, schedule: */30 * * * *, deliver_to: 当前会话 }*/30 * * * *是标准五段 cron含义是每 30 分钟执行一次。五个字段依次是分钟、小时、日、月、星期。*/30表示分钟位每 30 步进一次即 0 分和 30 分。起身提醒的配置片段{ name: 站立提醒, prompt: 提醒我站起来活动 2 分钟做几个拉伸动作, schedule: 0 * * * *, deliver_to: 当前会话 }0 * * * *表示每小时整点执行一次。如果你想要每 45 分钟标准 cron 不好直接表达可以用every 45m这种相对写法。如果你用的是配置文件方式管理 Hermes可以写成一个 TOML 片段[[cron.jobs]] name 喝水提醒 schedule */30 * * * * prompt 提醒我喝水 deliver_to session [[cron.jobs]] name 站立提醒 schedule 0 * * * * prompt 提醒我站起来活动 deliver_to session模型接入部分如果你在 Hermes 的模型配置里填 TaoToken对应三件套是{ base_url: https://taotoken.net/api, api_key: sk-你的Key, model: 你的Model ID }把api_key换成你在控制台创建的那个model换成模型对话页面确认可用的 ID。这三项填对任务触发时才能正常调用模型生成提醒内容。4. 触发验证确认 Hermes 定时任务真的跑起来了配置写完不代表任务会跑。你需要验证两件事任务是否被正确注册以及到点后是否真的触发了。先验证注册。命令行方式创建后终端会返回类似信息Created job: 喝水提醒 Schedule: */30 * * * * Next run: 2026-02-03T14:30:00看到Created job和Next run就说明注册成功。如果只看到报错没有这两行回到上一节检查命令拼写和时间格式。Web 页面方式更直观。进入 CRON 菜单下半部分的任务列表你应该能看到刚创建的任务列表里会显示状态、任务内容、cron 表达式和下一次执行时间。如果列表是空的说明创建没成功检查表单是否点了 CREATE 按钮。再验证触发。最稳的办法是创建一个短周期的测试任务比如every 1m等一分钟看是否收到提醒。测试通过后再改成正式频率。/cron create every 1m 测试提醒如果你看到这条说明定时任务正常等一分钟如果当前会话收到这条消息链路就通了。收到后记得删掉这个测试任务避免一直刷屏。如果你想看任务执行日志Hermes 一般会在任务列表或日志区域记录每次执行的时间和结果。重点看两个字段last_run和next_run。如果last_run一直不更新说明任务没触发如果触发了但没收到消息问题多半在deliver_to或模型调用上。验证模型调用是否正常可以单独去模型对话页面发一条消息。如果那边正常说明 Base URL、Key、Model ID 三件套没问题问题就缩小到任务配置本身。实测下来最常见的验证失败是任务创建成功但deliver_to填错了目标导致消息发到了别的地方。确认deliver_to和你当前接收消息的会话一致。5. 常见报错排查401、调度格式错误与任务不触发这一节对照真实报错来排。我把踩过的坑按报错类型整理你对号入座。报错一401 Unauthorized这是模型调用层的问题不是 cron 本身的问题。原因通常是 API Key 无效、过期或者 Base URL 填错。检查三件套{ base_url: https://taotoken.net/api, api_key: sk-确认没有多余空格, model: 确认这个ID在模型列表里存在 }Key 复制时容易带上首尾空格粘进配置后请求会失败。重新去控制台复制一次或者直接重建一个 Key。Base URL 注意不要多加路径保持https://taotoken.net/api。报错二命令不存在 / command not found命令行里输入/cron creat会报这个因为正确拼写是create。另外/cron命令本身如果 Hermes 版本不支持也会提示不存在这时候改用 Web 页面创建。报错三调度格式错误 / invalid schedule输入/cron create 每3分钟 提醒我休息会报格式错误。Hermes 不认中文时间表达必须用3m、every 3m、*/3 * * * *这类标准写法。报错信息里通常会列出支持的格式照着改就行。报错四任务创建成功但不触发先看任务列表里的next_run时间是否合理。如果next_run是过去的时间说明调度计算有问题删掉重建。如果next_run正常但到点没动静检查 Hermes 服务本身是否在运行——定时任务依赖 Agent 进程常驻进程停了任务自然不会触发。报错五local proxy failed / 连接失败这类报错说明 Hermes 到模型 API 的网络请求没通。检查 Base URL 是否可达可以在终端里直接测curl -I https://taotoken.net/api如果返回 4xx 或 5xx说明入口本身有问题如果超时检查本机网络。注意不要使用任何非正规的网络访问方式保持直连即可。报错六reading choices 相关错误这通常是模型返回结构不符合预期多半是 Model ID 填错用了一个不兼容对话格式的模型。回到模型对话页面确认你要用的模型能正常返回对话结果再把 ID 填进配置。排查顺序建议固定下来先确认任务注册成功再确认模型三件套可用最后确认deliver_to目标正确。三步走完九成问题都能定位。6. 把提醒助手用起来从测试任务到长期习惯配置跑通之后别急着设一堆高频任务。提醒类任务最大的敌人不是技术是打扰感。频率太高你会直接忽略频率太低又起不到作用。我的建议是喝水提醒设*/30 * * * *也就是每 30 分钟一次工作时间段内够用起身提醒设0 * * * *每小时整点一次配合一个简单的拉伸动作。两个任务加起来一天触发十几次不会烦但能形成节奏。如果你想让提醒更智能可以在 prompt 里加一点变化比如让模型每次换一句不同的鼓励语避免千篇一律的「该喝水了」让人麻木。Hermes 的 prompt 字段支持自然语言描述模型会按你的要求生成内容。长期维护上Web 页面的 CRON 菜单是最省心的。所有任务的状态、表达式、下次执行时间一目了然改频率直接编辑不用记命令。命令行适合快速创建和脚本化聊天窗口适合临时加一个任务。最后提醒一点定时任务依赖 Hermes 进程常驻。如果你关掉 Agent 或者电脑休眠任务不会补执行。所以这套方案更适合工作时间电脑常开的场景。真要离开工位起身本身就是最好的提醒。需要长期跑编码或 Agent 任务的可以看看 Coding Plan把模型调用和任务调度统一管理起来。配置过程中遇到接入问题直接查接入文档或者去 API Keys 页面重新确认凭证。模型效果不确定的话先去模型对话页面试跑几条确认返回正常再写进定时任务。