Agenda(日程)
侧栏 → Agenda Profiles(位于 Tasks 分组),再在 Agent 编辑页 → Agenda 中按 Agent 开启。
Agenda 是 sbot 的有状态提醒 / 日程系统。每个日程条目(待办、提醒、日程、周期任务或未来自动化)携带一个或多个触发器;触发器到点时,sbot 把消息投递到该条目绑定的会话或渠道。
与 Heartbeat(固定间隔的提示词循环)不同,Agenda 是 内容驱动 的:条目可以由 Agent 在对话中创建,并在配置 sync 模型后,每轮对话结束自动保持同步。
条目与触发器
一个日程条目包含内容、分类、优先级、可选的截止时间和完成模式。每个触发器按计划触发:
| 触发器类型 | expr 含义 | 示例 |
|---|---|---|
absolute | 单个 ISO 时间,触发一次 | 2026-07-01T09:00 |
interval | 两次触发间隔的毫秒数 | 86400000(每 24 小时) |
cron | 6 字段 cron(秒 分 时 日 月 周) | 0 0 9 * * 1-5(工作日 9 点) |
触发时把 message 按其 action 模式投递到绑定的会话 / 渠道,并在 trigger_fire 日志表里记一行(纯审计,不参与调度)。一次性或有限次数的日程正常耗尽后进入已完成。一次性 absolute 触发器投递失败会短暂重试;错过宽限时间或重试超期后会停用,且仅当该条目已没有其它启用触发器时,条目才进入已过期。已过期条目作为历史保留,不会自动物理删除。
配置项
Agenda Profile 是存储 + 可选自动同步。侧栏 → Agenda Profiles → 新建:
| 字段 | 说明 |
|---|---|
| 名称 | 该 Profile 的显示名称 |
| 启用 | 暂停该 Profile,而不删除配置 |
| Sync 模型 | 可选。每轮对话后从对话自动同步日程的模型(留空则关闭同步) |
| Sync 提示词 | 可选。控制同步行为的提示词文件(缺省为 agenda/sync/default.txt) |
随后在 Agent → Agenda 区块开启 Agenda 并选择 Profile。开启后会注册日程工具;配置 sync 模型后,每轮对话都会从对话内容自动校正日程条目。
AgendaSync 通常用一次模型调用读取本轮对话和全部待处理条目的完整结构。输入超过 Sync 模型预算时,系统复用同一个模型抽取最多 12 条日程变更意图,先对完整 Pending 目录做本地相关性排序,再最多用 6 个 Token 预算批次筛选紧凑卡片。各批候选携带可跨批比较的相关性分数,最终 Writer 最多读取 20 条候选的完整结构;仍超预算时,触发消息改为 60 字符预览。若本轮对话本身过长,会保留开头与结尾并截去中段。Selector 的 shouldSync 只是建议,超预算路径仍会让最终 Writer 复核;单批失败也会回退到本地候选,不会丢掉整轮。因此一次降级同步最多调用模型 8 次(分析 1 次 + 卡片 6 批 + Writer 1 次)。这里没有独立的 Selector 模型配置。
在 Agenda Profiles 页面 → 查看 可浏览已存条目、按待处理 / 已完成 / 已取消 / 已过期筛选、手动 完成 / 取消,也可以新增 / 编辑 / 停用 / 重新启用 / 删除触发器、手动触发测试,并查看每个触发器的触发历史。恢复已过期条目只会把主体改回待处理;仍需另外调整时间或启用合适的触发器。
Agent 工具
开启后,Agent 获得以下工具:
| 工具 | 用途 |
|---|---|
agenda_create | 创建带一个或多个触发器的条目 |
agenda_list | 列出当前条目(触发器的 message 截断为预览) |
agenda_get | 按 id 读单条完整信息:message 全文、已停用的触发器、时间戳,可选触发历史 |
agenda_edit | 一次原子调用改主体字段和/或触发器(add / patch / remove) |
agenda_close | 终结条目——outcome: done(做完了)或 dropped(不要了) |
agenda_wiki | 边界场景的工具内参考(多触发器、dueAt vs 触发器、action 选择等) |
Agenda vs Heartbeat
| 需求 | 使用 |
|---|---|
| 有状态的待办 / 提醒 / 日程,从对话自动同步 | Agenda |
| 一次性、间隔或 cron 触发,并保留投递审计历史 | Agenda |
| 每隔 N 秒 / 分钟对某 Agent 运行固定提示词 | Heartbeat |