定时自动化
定时自动化由常驻 Gateway 在指定时间触发。一个 Job 可以运行 Agent Prompt、Skill、脚本,或发送固定通知。
在 Dashboard 创建 Prompt Job
进入 Dashboard → Cron → Add job:
| 字段 | 用途 |
|---|---|
| Name | 稳定名称,例如 daily-brief |
| Schedule | 单次延时/时间、固定间隔或五段 Cron |
| Prompt | 每次运行时交给 Anyy 的完整任务 |
| Execution mode | 等待授权的 approval,或无人值守的 yolo |
| Notify via | Dashboard/TUI Gateway、已连接 Channel 或不通知 |
| Role | 可选,指定执行身份 |
| Workspace | 可选,默认 default |
Dashboard 创建的是 agent Job。到时间后,它会启动一个 Background Session,让 Anyy 根据当时的最新状态使用工具、作出判断并生成新结果。
Schedule 写法
Schedule 只能选择下面一种形式:
| 形式 | 示例 | 含义 |
|---|---|---|
| 单次延时 | 30m、2h、1d | 经过指定时长后执行一次 |
| 单次时间 | 2026-08-20T09:00:00+08:00 | 在 RFC 3339 时间执行一次 |
| 固定间隔 | every 2h、every 1d | 按间隔重复 |
| 五段 Cron | 0 9 * * 1-5 | 工作日 09:00 运行 |
五段顺序为分钟、小时、日、月、星期。不能添加秒,也不能填写“明天早上”之类自然语言。
Cron 按 Job 解析出的时区运行,Dashboard 也会使用该时区显示时间。依赖固定时刻前,应先核对时区。
从 CLI 创建
anyy cron create \
--name morning-brief \
--kind agent \
--schedule "0 8 * * 1-5" \
--prompt "汇总今天尚未完成的任务,并发送简短晨报。" \
--delivery-target current_user_default \
--delivery-channel telegram
默认模式是 approval。使用 --role 或 --workspace 后,Job 会绑定对应 Scope。
触发时不会继承创建 Job 的对话。把目标、输入、允许使用的工具、输出格式和投递要求都写进 Prompt。
其他 Job 类型
CLI 还支持:
skill:运行指定 Skill,通过--skills提供名称;script:运行 Profile Scripts 目录中的脚本,--script选择无 Agent 执行;notify:发布固定通知。
使用 --toolsets 明确能力边界;脚本需要工作目录时用 --workdir。完整字段以 anyy cron create --help 为准。
结果投递
Dashboard 可以选择:
- Panel / TUI:投递到当前 Profile 的 Gateway 目的地;
- 一个 Healthy 或 Degraded 的已配置 Channel;
- No notification:只保留 Run History。
CLI 暴露的 Target:
| Target | 含义 |
|---|---|
gateway | 发布到 Resident Gateway |
origin | 返回与本次 Run 关联的可信 Channel 来源 |
current_user_default | 解析用户默认绑定,可搭配 --delivery-channel |
none | 只运行,不向用户投递 |
进入 Anyy Delivery Pipeline 只能证明已经分发,不能单独证明外部平台最终收到。重要通知应先真实测试 Channel。
Approval 与 yolo
- approval:遇到受保护操作会暂停并等待授权;
- yolo:可审批操作可以无人值守继续,但绝对灾难操作的硬拦截仍然存在。
anyy cron update --id JOB_ID --execution-mode yolo
约束 Prompt、Role、Workspace、Toolsets、Workdir、外部系统和 Delivery Target。至少先在 Approval Mode 下检查数次实际 Run。
管理 Job 与历史
Dashboard 列表会显示 Enabled、Schedule、Next Run、Last Run 与最近状态。打开详情可以:
- 查看 Prompt、Role、Workspace、Delivery、Timezone 和 Source;
- 检查最近 20 次运行及耗时;
- 启用或暂停;
- 修改 Schedule、Prompt 或 Execution Mode;
- 删除 Job。
编辑不能改名,也不能更换 Role/Workspace。身份字段需要变化时,应创建替代 Job。
CLI 管理:
anyy cron list --include-disabled
anyy cron update --id JOB_ID --disable
anyy cron update --id JOB_ID --enable --schedule "every 12h"
anyy cron delete --id JOB_ID
Job 不是 Profile 全局范围时,配合 --role、--workspace 或 --all-scopes。
定时 Agent Run 会显示在 Dashboard → Chat → Background,详见对话与会话。
使用建议
- Prompt 中明确期望输出与投递方式。
- “每隔多久”使用 Interval,“每天几点”使用 Cron。
- 同时核对 Timezone 与 Channel Health。
- 没收到通知时先查 Run History,不要直接认定 Job 没运行。
- 定期复查无人值守 Job 的权限范围。
常见问题
| 现象 | 处理方法 |
|---|---|
| Schedule 被拒绝 | 使用正数 Duration、RFC 3339、every DURATION 或五段 Cron |
| 没收到通知 | 检查 Delivery 和 Channel;Run History 可能已经存在 |
| Job 一直等待 | 打开对应 Background Session 或 Approvals |
| Next Run 不符合预期 | 核对解析时区和五个 Cron 字段 |
| 想更换 Role/Workspace | 创建绑定新身份的替代 Job |