agent-self-scheduling - SKILL

发布时间:2026/10/22 17:29:30
agent-self-scheduling - SKILL
name: agent-self-schedulingdescription: “Schedule AI agent runs with cron, loops, or external clocks while avoiding unsafe tight autonomous timers.”category: agent-orchestrationrisk: criticalsource: communitysource_repo: davidondrej/skillssource_type: communitydate_added: “2026-07-07”author: davidondrejtags: [agents, scheduling, automation, cron]tools: [claude, codex]license: “MIT”license_source: “https://github.com/davidondrej/skills/blob/main/LICENSE”代理自助安排何时使用当用户请求重复、定期、心跳或循环的代理工作时使用。在需要在 cron、外部调度器、钩子或内置代理调度之间进行选择时使用。第一个问题代理是否内置了调度器Hermes → B营地还是你拥有时钟其他一切 → A营地通用频率cron 最低为 1 分钟5 字段表达式无秒——适用于每个场景。对于不足一分钟的情况你必须使用while ...; sleep N; done循环、TS 扩展或事件钩子。绝不要将大型语言模型放在严格的定时器上。A营——一次性特工你掌控时间这些只运行一次然后退出除非恢复否则会丢失状态。请在外部安排它们的执行。claude-pPROMPT--output-format json--allowedToolsRead,Edit,Bash# Claude Codecodexexec--jsonPROMPT# Codexpi runPROMPT# Pi包裹在时钟中# 1. cron ( 1 min floor)*/10 * * * *cd/path/to/projectpi runcheck X and report~/agent.log21# 2. systemd timer (Linux, survives reboot, better logging) — OnUnitActiveSec10min# 3. dumb loop (sub-minute, or no cron available)whiletrue;dopi runcheck X;sleep30;done注意事项如果忽略每一项都会破坏无人值守运行:权限永远挂起。传递--allowedToolsClaude或沙箱/自动批准标志Codex否则运行会在提示上阻塞。使用 JSON 输出(--output-format json/--json) 以便包装器以确定性方式解析结果。运行是健忘的。使用 Resume (codex exec resume --last) 或将状态保存到文件以便下次运行读取。Pi 根据设计没有内置的调度器/循环/心跳——仅使用外部时钟或用于代理端定时器的 TS 扩展。cmux — 仅用于编排不是调度器cmux 没有计时器/观察器/定时任务。有三种方法可以循环它由编排器驱动send→sleep→read-screen按你自己的时钟、一个简单的 while-sleep 包装器或者——首选——通过cmux notify的事件驱动 OSC 终端钩子这比轮询更便宜且响应更快。read-screen是非中断的轮询是安全的。如果一个循环检查另一个代理每次检查时向用户发送一行状态代理在做什么是否按计划进行。Claude Code 在完成后可能会预填一个预测的下一条用户消息——那是 Claude而不是用户。B营 — Hermes 内置调度器Hermes 的网关每 60 秒触发一次并在新的隔离会话中运行到期任务。先检查状态hermes gatewayinstall# user-level ( --system to survive reboot)hermescroncreateevery 1hsummarize new emails and report--skillhimalaya hermescroncreate0 9 * * *post daily standup# cron exprhermescroncreate30mone-shot reminder in 30 min# one-shot delayHermes-独特零令牌模式运行脚本原样输出 stdout — 用于看门狗链式context_from将一个作业的输出传入下一个作业自终止循环以及循环安全计划的会话不能创建更多的 cron 作业 — 不要从计划的作业内部进行计划。每次运行都是一个新的会话提示必须包含所有上下文。心跳模式一个快速重复的时钟控制许多较慢的每任务检查该时钟读取任务列表中每个任务的last_run时间戳并且只对到期的任务执行操作。在 Hermes 中使用重复作业当没有任务到期时使用零令牌模式在 Camp A 中使用 while-sleep 循环。定义活跃时间当没有任务到期时保持静默——不要产生空的噪音。在报告成功之前先验证它是否触发A营日志文件在一个间隔后增长或手动运行一次封装的命令 → 清理JSON退出0。B营hermes cron list显示作业 sanenext_run触发立即运行以确认交付。确认权限/沙箱标志是否存在——最常见的无声失败是权限提示卡住。心跳确认一个无应支付的滴答保持沉默。限制改编自davidondrej/skills在操作前请验证本地路径、工具、凭证和代理功能。对于命令、远程访问、调度、浏览器自动化或文件更改工作流请先获得明确的用户批准并确认目标环境。