SOP Fan-In: AMQP
AMQP 投递可以启动 SOP 运行。当别名以 SOP 调度模式运行时,AMQP 消费者会将每个投递提升为一个 SOP 事件(routing key 变为事件主题,消息体变为有效载荷),并将其分发给引擎。
传输端(broker 连接、队列、交换器、TLS)在 AMQP channel 上配置。本页面涵盖触发器。决定投递是驱动 agent 循环、SOP 引擎,还是两者兼有的分发模式,是 channel 的
dispatch字段。
触发器
AMQP 投递。Live:由 AMQP 消费者以 SOP 派发模式投递。
| 字段 | 类型 | 默认 | 含义 |
|---|---|---|---|
condition | 字符串? | null | 针对交付正文求值的可选表达式。 |
routing_key* | 字符串 | — | 路由键过滤器(topic-exchange 语义):以 .-分隔的单词, |
加载并验证 SOP:
定义
按照 Syntax 中的说明编写 SOP,使用 amqp 触发器。上方的触发器字段是支持的键;该页面会逐一说明整个文件。
验证
zeroclaw sop validate
检查
zeroclaw sop list
zeroclaw sop show <name>
匹配
routing_key 使用 AMQP 主题交换机语义:键是用 .-分隔的单词,* 精确匹配一个单词,# 匹配零个或多个单词。传递的正文会转发到 SOP 事件负载中,供可选的触发器 condition 使用;步骤上下文接收的是经过截断、清理和封装后的形式。像 $.value > 85 这样的 JSON-path condition 要求发布者发送 JSON 正文。
启动它
将该频道的 dispatch 字段设置为 SOP 模式(sop 或 sop_and_agent_loop),加载一个 SOP,然后向交换机发布一条消息,使用触发器匹配的路由键。消费者会将投递转换为一个事件(将路由键作为主题,将正文作为载荷)并分发它。对于每个已加载且其 routing_key 模式匹配、并且其 condition(如果有)对正文成立的 SOP,都会启动一次运行。
如果没有任何内容启动,请确认 dispatch 是 SOP 模式,队列已绑定,因此路由键实际上能到达消费者,并且 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)清除或查看它们。