词元之母TOK.MOM - 平台充值汇率 1:1 即 1 人民币充值到账 1 美元,支持一个 Key 调用近 600+ 海内外模型,限时特价模型低至 1 折,欢迎上岸!
┌──────────────────┐ ┌──────────────────┐
│ scheduler tick │ every │ run script │
│ (every N minutes)│ ──────▶ │ (bash or python) │
└──────────────────┘ └──────────────────┘
│
│ stdout
▼
┌──────────────────┐
│ delivery router │
│ (telegram/disc…) │
└──────────────────┘.sh / .bash 文件在 /bin/bash 下运行;其他扩展名在当前 Python 解释器下运行。~/.hermes/scripts/ 中的任何文件均可接受。cronjob 中——暂停、恢复、列出、日志和投递目标的操作方式完全相同。你: 每 5 分钟检查一次,如果内存超过 85% 就在 telegram 通知我 Hermes: (写入 ~/.hermes/scripts/memory-watchdog.sh,然后以no_agent=true调用cronjob(...))已设置。每 5 分钟运行一次,仅在内存超过 85% 时告警 Telegram。脚本: memory-watchdog.sh。任务 ID:abc123。
cronjob 工具描述会指示它在消息内容完全由脚本决定时使用 no_agent=True。当请求需要推理时("总结新 issue"、"挑选最有趣的头条"、"起草一条友好提醒"),则回退到普通的 LLM 驱动路径。--no-agent。只需描述你想要的行为即可。你: 今晚先停掉内存看门狗 Hermes: (调用 cronjob(action='pause', job_id='abc123'))已暂停。说"重新开启"或执行 hermes cron resume abc123可恢复。
你: 改成每 15 分钟一次 Hermes: (调用 cronjob(action='update', job_id='abc123', schedule='every 15m'))
| 脚本行为 | 结果 |
|---|---|
| 退出码 0,stdout 非空 | stdout 原样投递 |
| 退出码 0,stdout 为空 | 静默执行——不投递 |
退出码 0,stdout 最后一行包含 {"wakeAgent": false} | 静默执行(与 LLM 任务共用的门控) |
| 非零退出码 | 投递错误告警(确保损坏的看门狗不会静默失败) |
| 脚本超时 | 投递错误告警 |
~/.hermes/scripts/。这在任务创建时和运行时均会强制检查——绝对路径、~/ 展开以及路径穿越模式(../)均会被拒绝。该目录与 LLM 任务使用的预检脚本门控共享。| 扩展名 | 解释器 |
|---|---|
.sh、.bash | /bin/bash |
| 其他任意扩展名 | sys.executable(当前 Python) |
#!/... shebang——保持解释器集合明确且精简,可减少调度器信任的攻击面。