SOP Fan-In:频道
代理循环频道(Telegram、Discord、Slack 以及其他对话频道)上的入站消息可以启动 SOP 运行。当已加载的 SOP 需要频道事件时,协调器会将每条入站消息提升为一个 SOP 事件(频道类型及可选别名成为事件主题,消息内容成为载荷),并将其与正常的代理轮次一起派发给引擎。
传输侧(bot token、allowed users、按 channel 的行为)是在每个 channel 上配置的。本页介绍 trigger。agent-loop channels 没有 per-channel dispatch switch:SOP 的
channeltrigger 就是 opt-in,普通 agent turn 总会与它启动的任何 SOP run 一起运行。
触发器
配置的通道上的入站消息或 forge/platform 事件(telegram、discord、slack、Git 等)。实时:当启用该通道的 SOP dispatch 时,由通道协调器投递。Git forge 生产者会设置形如 <channel>.<alias>:<event_type> 的事件主题,并将 event_type 放入载荷中,因此编写的 condition 可以按类型过滤 forge 事件,而无需第二种触发器形状。
| 字段 | 类型 | 默认 | 含义 |
|---|---|---|---|
alias | 字符串? | null | 可选的已配置实例别名;未设置时匹配每个实例。 |
channel* | 字符串 | — | ChannelKind 用 snake_case 命名的通道类型值。 |
condition | 字符串? | null | 针对消息负载求值的可选表达式。 |
加载并验证 SOP:
定义
按照 Syntax 中所述编写 SOP,并使用 channel 触发器。上面的触发器字段是受支持的键;该页面会逐一讲解整个文件。
验证
zeroclaw sop validate
检查
zeroclaw sop list
zeroclaw sop show <name>
匹配
channel 是一个 ChannelKind 的 snake_case 值(telegram、discord、slack,等等)。没有 alias 的触发器会匹配该 channel kind 的任何已配置实例;带有 alias 的触发器只匹配该实例。事件 topic 是 <kind> 或 <kind>/<alias>。消息内容会转发到 SOP 事件 payload 中,可供可选的触发器 condition 使用;step context 接收经过截断、清理和 framing 处理后的形式。像 $.text == "deploy" 这样的 JSON-path condition 要求消息正文必须是 JSON。
启动它
加载一个带有 channel 触发器的 SOP,然后向该 channel 发送一条消息。channel 触发器是一个可选订阅机制:只有当已加载的 SOP 需要 channel 事件时,编排器才会把传入消息提升为事件。它会将 channel 类型和别名放入 topic,并将内容放入 payload,然后分发它。对于每个已加载的 SOP,只要其 channel(以及如果已设置的 alias)匹配,并且其 condition(如果有)针对内容成立,就会启动一次 run。正常的 agent turn 仍会与任何已启动的 run 并行执行。
当没有已加载的 SOP 具有 channel 触发器时,会完全跳过 fan-in hop,因此没有 channel 来源 SOP 的 channel 不承担任何开销。
所有通道投递在事件构建之前,都会先进入运行时共享的 SOP 入口适配器。该适配器负责源兴趣检查、必需的引擎/审计句柄诊断、不受信任输入的上限限制、事件时间戳以及分发结果日志记录。通道代码仅提供传输层拥有的主题和载荷。Forge 事件使用相同的边界及其配置的目标 SOP,因此它们无法绕过触发器匹配或正常的安全与审计路径。
如果没有任何内容启动,请确认已加载的 SOP 具有 channel 触发器,触发器的 channel/alias 与消息到达的实例一致,并且 condition 匹配。参见 fan-in 概览故障排除表。
批准并观察
命中检查点的运行会暂停为 WaitingApproval。可使用 CLI(zeroclaw sop list、zeroclaw sop approve)或通过 gateway API 审批端点(GET /admin/sop/pending、POST /admin/sop/approve、POST /admin/sop/deny)清除或查看它们。
另见
- Channels: 概览:每个 channel 的传输侧
- 扇入概览
- 语法:SOP 文件格式