Keyboard shortcuts

Press or to navigate between chapters

Press ? to show this help

Press Esc to hide this help

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 模式(sopsop_and_agent_loop),加载一个 SOP,然后向交换机发布一条消息,使用触发器匹配的路由键。消费者会将投递转换为一个事件(将路由键作为主题,将正文作为载荷)并分发它。对于每个已加载且其 routing_key 模式匹配、并且其 condition(如果有)对正文成立的 SOP,都会启动一次运行。

如果没有任何内容启动,请确认 dispatch 是 SOP 模式,队列已绑定,因此路由键实际上能到达消费者,并且 condition 匹配。请参阅 fan-in 概览故障排查表

批准并观察

命中检查点的运行会暂停为 WaitingApproval。可使用 CLI(zeroclaw sop listzeroclaw sop approve)或通过 gateway API 审批端点(GET /admin/sop/pendingPOST /admin/sop/approvePOST /admin/sop/deny)清除或查看它们。

另见