Superset Automate 的用途是把“我每天早上都要做 X”或“有人提交新 PR 时应该有人看一下”这类重复性事务,转成由智能体执行的自动化:前者按计划触发,后者按事件触发。
主要能力围绕自动化创建流程展开:梳理事务的目标结果、执行频率、读取的输入以及“完成”的判定标准,然后以“零上下文的智能体”为前提起草自动化提示词。若任务包含会演进的规则(如分诊标准、格式),资料建议将其放入自动化运行时读取的文档,以便修改规则时无需改动提示词。对于产出为摘要、报告或评分卡的任务,提示词末尾可把报告写入 .html 文件并发布,用户打开一个链接即可查看,而不必翻查运行日志,示例命令为:superset pages publish digest.html --title "Nightly triage" --label "what changed today"。页面由工作区加路径标识,因此目标类型会影响历史是否累积:项目目标每次运行创建新工作区,意味着每次生成新页面而非同一页面的新版本;需要累积历史的报告应使用工作区目标,或在首次运行后取得页面 id,并在提示词中传入 --page <id>。
使用方式分为几步。首先确定运行目标:superset projects list 对应项目目标(每次运行新建工作区,适合大多数任务);superset workspaces list --local 对应工作区目标(每次复用同一工作区,适合有状态任务)。其次确定触发方式:时钟或事件。“每天早上”是计划,“每当有人做 X”是事件触发。事件触发需先解析 id,因为 scope 存储的是提供方 id 而非名称,直接把频道名或仓库标题写入配置不会匹配任何内容,可用 superset automations trigger-options --group slack 查询;分组包括 slack、github、linear、sentry、notion、microsoftTeams、google(Gmail 标签与人员)。查询结果为空存在歧义:组织未连接该分组、令牌被撤销或提供方查询失败,应请用户到设置中检查连接,而不是直接告知未连接。随后把过滤器写成文件,每个过滤器是一个 scope:{"mode":"any"} 匹配全部,{"mode":"list","ids":[...]} 匹配指定 id,{"mode":"me"} 解析为自动化所有者在对应提供方的账号。
创建前必须确认:名称、触发方式(RRULE 或事件及用自然语言描述的 scope)、智能体、目标以及将要执行的确切命令;资料明确要求未经明确确认不得创建。创建命令示例:superset automations create --name "Daily issue triage" --rrule "FREQ=DAILY;BYHOUR=9;BYMINUTE=0" --timezone America/Los_Angeles --project <id> --agent claude --prompt-file /tmp/automation-prompt.md。事件触发则用 --triggers-file 替代 --rrule 与 --timezone;用 --workspace <id> 表示复用模式,--host <id> 指定在其他机器运行,多行提示词优先使用 --prompt-file。一个自动化可同时包含两类触发:把计划放入触发集即可。之后用 superset automations run <id> 立即触发首次运行,与用户一起查看 superset automations logs <id>,并通过 superset automations prompt set <id> 优化提示词,直到一次真实运行结果符合预期;若提示词会发布页面,审查时应打开已发布页面,而不只看运行日志。
限制与注意事项:后续修改触发器会替换整个集合,superset automations update <id> --triggers-file 会删除未包含的触发器;应先用 superset automations get <id> 读取当前集合,再把保留项连同其 id 一并回传,以便原地更新而非重建;重建会轮换 webhook 签名密钥并重置计划的下次运行时间。写入后必须用 superset automations get <id> 检查 triggers 数组,确认触发器确实生效,不能仅凭命令退出码为 0 就报告已设置成功。资料未提供收费、价格、平台范围等信息。