# MQTTX 1.13.2 发布：MQTTX Agent 与 Dashboard

> MQTTX 1.13.2 通过 MQTTX Agent 自动执行 MQTT 测试、比对消息并排查问题，Dashboard 独立展示设备指标与趋势。

> Language: zh-CN · Published: 2026-10-26 · Category: 版本发布 · Version: 1.13.2 · Canonical: https://mqttx.app/zh/blog/mqttx-1-13-2-released · Translation: [English](https://mqttx.app/blog/mqttx-1-13-2-released.md)

MQTTX 1.13.2 现已正式发布。桌面内置 Copilot 升级为 **MQTTX Agent**，可根据自然语言请求执行 MQTT 测试、比对结果和排查问题；**Dashboard** 首次开放，便于在测试过程中观察设备指标与变化趋势。本版还新增 GZIP 消息解压，并改进连接管理和日常调试体验。

> [下载 MQTTX 1.13.2](https://github.com/emqx/MQTTX/releases/tag/v1.13.2) · [官方下载页面](https://mqttx.app/zh/downloads)

## MQTTX Agent：自动执行 MQTT 测试与验证 🤖

MQTTX Agent 是内置于桌面客户端的 AI Agent。说明测试目标和预期结果后，它可以自动拆解任务，调用连接、订阅、发布、消息查询和日志等工具，执行测试、比对实际结果并汇总结论。测试过程中需要的操作会按权限模式请求批准。Agent 还可以生成测试数据、客户端示例、Schema 和数据处理脚本。

### 自动验证连接与消息收发

例如，给 Agent 一个 Pub/Sub 测试目标，它可以检查连接、订阅测试主题、发布消息，等待或查询接收记录，再比对 Topic 和 Payload，报告实际 QoS 与各步骤的结果：

> 验证当前连接的消息收发：使用 `mqttx-test/` 下的唯一主题，以 QoS 1 发送一条包含唯一测试标识和时间戳的 JSON 消息。预期收到相同的主题和测试数据。请完成验证并汇总各步骤的结果；如果失败或没有收到匹配消息，查看日志并说明失败环节。

Agent 根据工具返回的连接状态、收发记录和日志给出结论；缺少匹配的接收记录时，结果仍需确认。Ask 模式会在连接、订阅和发布等操作前请求批准。

### 验证设备指令与状态反馈

设备接入测试还需要核对指令是否正确执行。向 Agent 提供设备的命令主题、Payload 格式、状态上报主题和预期状态后，它可以发送指令、等待新的回报并自动比对结果。例如：

> 按我提供的设备协议，验证书房风扇的二档控制：发送调速指令，等待新的状态上报，比对 `power` 和 `speed` 是否符合预期，并报告验证结论及对应回报。没有新回报时，说明结果未确认。

测试结果以新的设备状态或指令执行回报为准。Ask 模式会在发布控制消息等操作前请求批准。

### 适配测试任务的工具与工作区

通过 `@` 引用连接，Agent 可以围绕对应的配置、订阅和消息继续分析。输入 `/` 选择 Skill，获得客户端代码、测试数据、Schema、自定义函数、诊断或 Zero EMQX 等任务的支持。提供代表性输入和预期输出后，Agent 可运行转换函数或 Schema 测试，自动比对输出并报告结果。脚本测试在任意权限模式下都需要批准；转换函数会影响所有连接，应用前需核对作用范围。

MQTTX CLI Skill 提供连接检查、消息收发验证、数据模拟和压测的 CLI 命令，可复制到终端运行。已配置的 MCP 服务也可提供外部工具，配合 MQTTX 操作使用。

![Agent Skills 选择菜单](https://mqttx.app/images/blog/mqttx-1-13-2/agent-skills.png)

Agent 支持全屏视图和可移动、可调整大小的浮窗，`Cmd/Ctrl + J` 可快速打开，便于同时查看消息与对话。工具步骤与结果清晰展示，回复中的段落、列表、代码和表格也更易阅读。

![MQTTX Agent 浮动窗口示例](https://mqttx.app/images/blog/mqttx-1-13-2/mqttx-1.13.2-agent-floating.png)

本版加入上下文用量与自动压缩，并支持在模型具备相应能力时选择推理强度。同时完善模型参数兼容、重载后的连接上下文和 `@` 菜单，修复订阅数量统计。

## Dashboard：集中查看设备指标与变化趋势 📊

Dashboard 将消息字段转换为数值、仪表盘和趋势图，便于在测试过程中观察温度、湿度、压力等指标，并比较测试前后的变化。基于已有连接即可手动配置，无需先使用 Agent。

在 **Viewer → Dashboard** 中，为组件选择连接、Topic Filter 和 Payload 字段：

- **Big Number**：突出当前温度、压力或计数器读数。
- **Gauge**：显示湿度、负载百分比等指标在设定范围中的位置。
- **Line**：按消息接收时间展示变化趋势，比较测试前后的数据。

每个组件独立选择数据源，支持拖动与调整大小。同一面板可展示多个字段，也可组合不同连接和主题的数据。

![工厂遥测 Dashboard 示例](https://mqttx.app/images/blog/mqttx-1-13-2/case-dashboard.png)

组件随新消息更新，也可按时间范围回看本机已接收并保存的消息。实时更新与历史查询均支持 MQTT `+`、`#` Topic Filter。本版同时完善数据加载、历史匹配、菜单、组件编辑器和 Gauge 样式。

## 更多功能与使用改进

### GZIP 消息解压

Desktop 和 Web 新增可选的“自动解压 GZIP 消息”设置，便于直接检查压缩 Payload 中的内容。Desktop 为已解压消息显示标记；未压缩消息保留原始内容。

![GZIP 自动解压设置](https://mqttx.app/images/blog/mqttx-1-13-2/gzip-settings.png)

### 大型 Topic Tree 浏览

Desktop 改善大型 Unified Namespace 的浏览和更新，限制一次展示的子主题数量，并在展开大型主题树前请求确认。可调整大小的信息面板显示直接子主题、数量与深度，便于查看主题层级。

### 各连接独立保留发布内容

Desktop 为每个连接独立保留发布 Topic、Payload 和发布历史。切换连接时，发布区会恢复当前连接的内容。Desktop 和 Web 均支持删除单条发布 Topic 历史。

### 连接分组与 JSON 备份

Desktop 创建或编辑连接时可选择分组，保留分组折叠状态，并显示新建连接。JSON 备份与恢复包含分组名称及成员关系，保留已有连接组织方式。

### 离线订阅与 MQTT 5.0 调试

Desktop 和 Web 支持在 Clean Session 场景下离线删除或禁用订阅，并更新重连缓存，便于处理无效订阅引起的反复断连。持久会话仍需连接 Broker 后处理其保存的订阅。

Desktop 展示 Broker 返回的 Response Information，CLI 在请求并收到该信息时也会输出，便于检查 MQTT 5.0 请求与响应流程。

### 常用操作入口

Desktop 和 Web 在连接空页面增加快速连接入口，打开连接时展开隐藏的连接列表，并将清空历史移至工具栏。Desktop 增加清空前确认，以及连接、分组的可见 `⋯` 行菜单，统一行高与布局。

Desktop 和 Web 的 About 页面以消息流介绍 EMQ 产品，CLI 根帮助补充相关工具与服务链接。

## 修复与兼容性改进 🛠

- **消息过滤与历史**：Desktop 和 Web 正确处理 MQTT 通配符、系统主题、共享订阅及大小写，显示可清除的过滤条件。Desktop 搜索保留订阅过滤，历史翻页避免遗漏边界消息。
- **订阅编辑**：Desktop 和 Web 修复确认按钮持续加载的问题。
- **MQTT 5.0 属性**：Desktop 和 Web 不再发送已清空的数值属性，修复空字符串造成的连接失败。
- **连接配置**：Desktop 立即应用编辑后的设置，停止旧客户端按过期配置重连。
- **解码与导入**：Desktop 修复嵌套 Protobuf 的闭括号缩进；不可读 Excel 文件显示错误并清理失效路径。
- **界面一致性**：Desktop 和 Web 改善浅色、深色、夜间主题的 Topic 颜色，并避免滚动条导致 QoS 标签换行。Desktop 补齐本地化文案，统一菜单、Payload Inspector 消息头、图表缩放、面板拖动及页面切换样式。
- **平台兼容**：Desktop 主窗口 `Ctrl+W` / `Cmd+W` 不再直接退出应用；Apple Silicon 安装 CLI 时使用正确原生架构。Web 的 Node.js 版本约束调整为 `>=18`。

此外，本版更新三端 README 和桌面功能文档，修复 lint 并增加对应 CI，清理失效、重复代码及测试准备，完善 CLI 发布流程和 npm provenance 元数据。

## 组合案例：自动验证遥测消息并展示结果

把一轮遥测消息验证交给 Agent：创建测试连接，发布 12 条样本，读取实际收到的消息，自动比对数量、Topic 与字段值，并汇总验证结果。独立的 Dashboard 用于展示同一连接收到的指标与趋势。

配置支持工具调用的模型后，在 Agent 中发送一条请求：

> 创建一个 Zero EMQX 临时 Broker，将连接命名为 Factory Demo 并连接，订阅 `factory/+/telemetry`。向 `factory/line-01/telemetry` 逐条发送 12 条包含 `deviceId`、`temperature`、`humidity`、`pressure` 且数值有变化的 JSON 消息。自动核对实际接收的消息数量、Topic 和字段值，报告验证结果。再创建名为 Factory Overview 的 Dashboard，显示温度、湿度、压力和温度趋势，检查组件的连接、Topic Filter 和字段绑定，最后打开面板。

Agent 分步骤执行，Ask 模式下按提示批准操作。[Zero EMQX](https://zero.emqx.io/) 提供免费的临时测试 Broker，实例有效期及回收规则以创建结果为准。

单条样本结构如下：

```json
{
  "deviceId": "line-01",
  "temperature": 24.8,
  "humidity": 56,
  "pressure": 1.02
}
```

![12 条本地样本的消息列表](https://mqttx.app/images/blog/mqttx-1-13-2/case-telemetry-messages.png)

四个组件绑定同一连接和 `factory/+/telemetry`：温度、压力使用 Big Number，湿度使用 0–100% 的 Gauge，温度趋势使用 Line。它们读取对应字段，数值单位分别为 `°C`、`%`、`bar`；趋势图的单位写在标题中。Agent 也可继续调整组件位置与大小。

![组件数据源与 JSON 字段绑定](https://mqttx.app/images/blog/mqttx-1-13-2/case-widget-editor.png)

Agent 可以根据接收记录和组件配置汇总测试结果，指出未收到的消息或不符合预期的字段绑定。Dashboard 则展示消息中的最新读数与趋势。本例仅发送 12 条有限样本；后续设备或其它客户端继续向匹配主题发布时，保持连接与订阅，面板即可随新消息更新。

## 下载与文档

感谢所有贡献者，以及首次参与本轮版本贡献的 @DanInSpace104、@sourabhburse、@XuKing 和 @T3rm1。

- [下载 MQTTX](https://mqttx.app/zh/downloads)
- [查看 MQTTX 文档](https://mqttx.app/zh/docs)
- [查看 1.13.2 完整更新与贡献者](https://github.com/emqx/MQTTX/releases/tag/v1.13.2)
