Keyboard shortcuts

Press or to navigate between chapters

Press ? to show this help

Press Esc to hide this help

MQTT

mqtt 通道订阅 MQTT broker 上的主题,并将每条消息输入到 agent loop 或 SOP 引擎中。它受 channel-mqtt 构建特性控制。

这是一个 SOP 事件源。 关于触发器语法和主题匹配,请参阅 SOP Fan-In: MQTT。本页涵盖代理连接。

配置

来自实时 schema 派生的完整字段列表。对于基本订阅者,您设置 broker_urltopics

broker_url* string · default

MQTT broker URL(例如 mqtt://localhost:1883mqtts://broker.example.com:8883)。普通连接使用 mqtt://,TLS 使用 mqtts://

将它放置在任何表面上:

网关仪表板

打开 /config/channels/mqtt 并设置 channels.mqtt.<alias>.broker_url 字段。

zerocode

Config 窗格中,设置 channels.mqtt.<alias>.broker_url 字段。

zeroclaw config

zeroclaw config set channels.mqtt.<alias>.broker_url <value>

环境变量

导出此覆盖配置(POSIX shell;可放入 ~/.bashrc~/.zshrc.env 或 Dockerfile 中)。将 <alias> 替换为实际的别名:

export ZEROCLAW_channels__mqtt__<alias>__broker_url=
client_id* string · default

MQTT 客户端 ID(在每个 broker 中必须唯一)。

将它放置在任何表面上:

网关仪表板

打开 /config/channels/mqtt 并设置 channels.mqtt.<alias>.client_id 字段。

zerocode

Config 面板中,设置 channels.mqtt.<alias>.client_id 字段。

zeroclaw config

zeroclaw config set channels.mqtt.<alias>.client_id <value>

环境变量

导出此覆盖配置(POSIX shell;可放入 ~/.bashrc~/.zshrc.env 或 Dockerfile 中)。将 <alias> 替换为实际的别名:

export ZEROCLAW_channels__mqtt__<alias>__client_id=
excluded_tools string[] · default []

从此通道的工具规范中排除的工具。设置后,通过此通道响应时不会向模型公开这些工具。

将它放置在任何表面上:

网关仪表板

打开 /config/channels/mqtt 并设置 channels.mqtt.<alias>.excluded_tools 字段。

zerocode

Config 窗格中,设置 channels.mqtt.<alias>.excluded_tools 字段。

zeroclaw config

zeroclaw config set channels.mqtt.<alias>.excluded_tools <value>

环境变量

导出此覆盖配置(POSIX shell;可放入 ~/.bashrc~/.zshrc.env 或 Dockerfile 中)。将 <alias> 替换为实际的别名:

export ZEROCLAW_channels__mqtt__<alias>__excluded_tools=
keep_alive_secs integer · default 30

保活间隔(秒)(默认:30)。防止代理在空闲时断开连接。

将它放置在任何表面上:

网关仪表板

打开 /config/channels/mqtt 并设置 channels.mqtt.<alias>.keep_alive_secs 字段。

zerocode

Config 面板中,设置 channels.mqtt.<alias>.keep_alive_secs 字段。

zeroclaw config

zeroclaw config set channels.mqtt.<alias>.keep_alive_secs <value>

环境变量

导出此覆盖配置(POSIX shell;可放入 ~/.bashrc~/.zshrc.env 或 Dockerfile 中)。将 <alias> 替换为实际的别名:

export ZEROCLAW_channels__mqtt__<alias>__keep_alive_secs=
password 🔑 secret · default

用于身份验证的密码(可选)。

将它放置在任何表面上:

网关仪表板

打开 /config/channels/mqtt,并设置 channels.mqtt.<alias>.password 字段。

zerocode

Config 面板中,设置 channels.mqtt.<alias>.password 字段。

zeroclaw config

zeroclaw config set channels.mqtt.<alias>.password    # 掩码输入,加密存储

环境变量

导出此覆盖配置(POSIX shell;可放入 ~/.bashrc~/.zshrc.env 或 Dockerfile 中)。将 <alias> 替换为实际的别名:

export ZEROCLAW_channels__mqtt__<alias>__password=
qos integer · default 1

MQTT QoS 级别(0 = 至多一次,1 = 至少一次,2 = 恰好一次)。默认值:1。

将它放置在任何表面上:

网关仪表板

打开 /config/channels/mqtt 并设置 channels.mqtt.<alias>.qos 字段。

zerocode

Config 窗格中,设置 channels.mqtt.<alias>.qos 字段。

zeroclaw config

zeroclaw config set channels.mqtt.<alias>.qos <value>

环境变量

导出此覆盖配置(POSIX shell;可放入 ~/.bashrc~/.zshrc.env 或 Dockerfile 中)。将 <alias> 替换为实际的别名:

export ZEROCLAW_channels__mqtt__<alias>__qos=
topics string[] · default []

要订阅的主题(例如,sensors/#alerts/+/critical)。至少需要一个主题。

将它放置在任何表面上:

网关仪表板

打开 /config/channels/mqtt 并设置 channels.mqtt.<alias>.topics 字段。

zerocode

Config 面板中,设置 channels.mqtt.<alias>.topics 字段。

zeroclaw config

zeroclaw config set channels.mqtt.<alias>.topics <value>

环境变量

导出此覆盖配置(POSIX shell;可放入 ~/.bashrc~/.zshrc.env 或 Dockerfile 中)。将 <alias> 替换为实际的别名:

export ZEROCLAW_channels__mqtt__<alias>__topics=
use_tls bool · default false

启用 TLS 加密。必须与 broker_url 方案匹配:- mqtt://use_tls: false - mqtts://use_tls: true

将它放置在任何表面上:

网关仪表板

打开 /config/channels/mqtt 并设置 channels.mqtt.<alias>.use_tls 字段。

zerocode

Config 面板中,设置 channels.mqtt.<alias>.use_tls 字段。

zeroclaw config

zeroclaw config set channels.mqtt.<alias>.use_tls <value>

环境变量

导出此覆盖配置(POSIX shell;可放入 ~/.bashrc~/.zshrc.env 或 Dockerfile 中)。将 <alias> 替换为实际的别名:

export ZEROCLAW_channels__mqtt__<alias>__use_tls=
username string? · default

用于身份验证的用户名(可选)。

将它放置在任何表面上:

网关仪表板

打开 /config/channels/mqtt 并设置 channels.mqtt.<alias>.username 字段。

zerocode

Config 窗格中,设置 channels.mqtt.<alias>.username 字段。

zeroclaw config

zeroclaw config set channels.mqtt.<alias>.username <value>

环境变量

导出此覆盖配置(POSIX shell;可放入 ~/.bashrc~/.zshrc.env 或 Dockerfile 中)。将 <alias> 替换为实际的别名:

export ZEROCLAW_channels__mqtt__<alias>__username=

完整字段参考:配置参考

TLS

use_tls 设置为与 broker_url 的方案一致:mqtts:// 对应 use_tls = truemqtt:// 对应 use_tls = false。不匹配是最常见的连接失败原因。

故障排除

症状可能的原因修复
启动时连接错误broker URL 和 TLS 标志不一致将 scheme 与 use_tls 配对(mqtt:// 对应 falsemqtts:// 对应 true
已订阅但没有消息主题过滤器不匹配已发布的主题验证 topics 和通配符是否与发布者发出的内容一致
SOP 未启动主题不匹配或失败的 condition根据负载检查 trigger 主题和条件

另见