Repository navigation
Release Note 🎉
🤖 MQTTX Agent · Dashboard 📊 · GZIP Decompression
MQTTX 1.13.2 introduces MQTTX Agent and makes Dashboard available for the first time.
MQTTX Agent 🤖
MQTTX Agent is an AI Agent for operating MQTTX through natural language, covering connections, messaging, troubleshooting, and device interaction.
- Less repetitive setup: Describe a multi-step task to configure connections, manage subscriptions, and publish messages.
- Device interaction: Query device state, send commands, and check feedback using the device's existing MQTT protocol.
- Help with troubleshooting: Analyze connection details, messages, and logs to investigate communication problems.
- Simpler integration setup: Generate client code, test data, schemas, and message transformation scripts.
Ask mode requires approval for changes. See the Agent guide for setup and usage.
Dashboard 📊
Dashboard is available for the first time and can be configured independently.
- Inspect device state: Display temperature, humidity, pressure, and other fields as live readings, gauges, and trend charts.
- Compare metrics together: Observe data from different connections, topics, and fields in one dashboard.
- Review changes over time: Query messages saved locally within a time range. Live updates and history queries both support MQTT
+and#topic filters.
Connect to the broker and subscribe to source topics before configuring Viewer → Dashboard. See the Dashboard guide.
Other improvements 🌈
Desktop and Web:
- Optional GZIP decompression displays compressed messages directly.
- Individual publish-topic history entries can be deleted.
- Clean-session connections support deleting or disabling subscriptions offline. Persistent sessions still require a connection to change broker subscriptions.
- The empty page adds quick connection actions and easier access to the connection list.
- The About page adds EMQ product and learning links.
Desktop:
- Each connection keeps its own publish topic, payload draft, and publish history.
- The connection form supports group selection; JSON backups preserve group membership.
- Large Topic Trees are easier to browse and update. The resizable information panel shows direct sub-topics, counts, and depth; expanding a large tree requires confirmation.
- MQTT 5.0 Response Information returned by the broker is displayed.
- Decompressed messages show a GZIP indicator.
- Connection and group rows add menu buttons.
CLI:
- MQTT 5.0 Response Information is displayed when requested and returned by the broker.
- Root help adds EMQ product and learning links.
Fixes 🛠
Desktop and Web:
- Corrected topic-filter matching for wildcards, system topics, shared subscriptions, and case sensitivity.
- The active topic filter remains visible and can be cleared directly.
- Fixed the Confirm button staying in a loading state after subscription edits.
- Clearing optional MQTT 5 numeric properties, including Will Delay Interval, no longer passes empty strings.
- Fixed topic-color readability and scrollbar-induced QoS label wrapping.
Desktop:
- Topic searches preserve subscription filters; history paging retains records near page boundaries.
- Edited connection settings take effect immediately, and stale clients stop reconnecting.
- Collapsed group state survives navigation, and newly created connections appear correctly.
- Clearing connection history requires confirmation;
Ctrl+W/Cmd+Win the main window no longer quits the app. - Apple Silicon installs the native CLI architecture.
- Corrected nested Protobuf indentation; unreadable Excel files show an import error.
- Corrected Agent subscription counts, connection context and the
@menu after reload, and reasoning-setting transmission. - Improved Agent reply spacing, menus, translations, lists, layouts, and chart resizing.
Web:
- Fixed the connection list remaining collapsed when opened from the empty page.
- Web builds accept Node.js versions matching
>=18.
The release also updates READMEs and feature docs, adds lint checks, removes unused code, and improves npm publishing and provenance metadata.
Combined example: prepare data with the Agent and view it in Dashboard 🧩
Create a temporary Zero EMQX broker, save its connection as Factory Demo, and connect. Subscribe to
factory/+/telemetry. Publish 12 JSON messages with varying temperature, humidity, and pressure values tofactory/line-01/telemetry, one at a time. Create a Factory Overview dashboard with the current readings and a temperature trend, then open it.
Ask mode requires approval for the relevant actions. The dashboard displays the received samples and updates as further messages arrive. Zero EMQX provides a free temporary broker; its lifetime follows the creation result.
简体中文
🤖 MQTTX Agent · Dashboard 📊 · GZIP 消息解压
MQTTX 1.13.2 带来 MQTTX Agent 与首次开放的 Dashboard。
MQTTX Agent 🤖
MQTTX Agent 是用自然语言操作 MQTTX 的 AI Agent,覆盖连接管理、消息收发、问题排查和设备交互。
- 减少重复操作:用自然语言完成连接配置、订阅和消息发布等多步任务。
- 与设备交互:按设备已有的 MQTT 协议查询状态、发送指令并检查反馈。
- 辅助排查通信问题:结合连接信息、消息和日志分析异常。
- 简化接入准备:生成客户端代码、测试数据、Schema 和消息转换脚本。
Ask 模式下,变更操作需批准。配置与用法见 Agent 文档。
Dashboard 📊
Dashboard 首次开放,可独立配置设备数据看板。
- 查看设备状态:用数值、仪表盘和趋势图展示温度、湿度、压力等字段。
- 集中比较指标:在同一看板观察不同连接、主题和字段的数据。
- 回看数据变化:按时间范围查询本机已保存的消息;实时与历史查询均支持 MQTT
+、#主题过滤。
先连接 Broker 并订阅数据源,再进入 Viewer → Dashboard 配置。步骤见 Dashboard 文档。
其他改进 🌈
Desktop 和 Web:
- 支持可选的 GZIP 消息解压,直接查看压缩消息。
- 支持删除单条发布主题历史。
- Clean Session 连接支持离线删除或禁用订阅;持久会话仍需连接后修改 Broker 订阅。
- 连接空页面提供快速连接入口,改善连接列表访问。
- About 页面增加 EMQ 产品与学习资源链接。
Desktop:
- 各连接独立保存发布主题、Payload 草稿和发布历史。
- 连接表单支持选择分组,JSON 备份保留分组归属。
- 改善大型 Topic Tree 浏览与更新;可调整大小的信息面板展示直接子主题、数量和深度,展开大型主题树前请求确认。
- 显示 Broker 返回的 MQTT 5.0 Response Information。
- 已解压消息显示 GZIP 标记。
- 连接与分组行增加菜单按钮。
CLI:
- 在请求且 Broker 返回时,输出 MQTT 5.0 Response Information。
- 根帮助增加 EMQ 产品与学习资源链接。
修复 🛠
Desktop 和 Web:
- 修正主题过滤的通配符、系统主题、共享订阅和大小写匹配。
- 当前主题过滤条件保持可见,支持直接清除。
- 修复编辑订阅后确定按钮持续加载的问题。
- 清空 Will Delay Interval 等可选 MQTT 5 数值属性后,不再传入空字符串。
- 修复主题颜色可读性及滚动条导致 QoS 标签换行的问题。
Desktop:
- 搜索主题时保留订阅过滤条件,翻阅历史时保留页边界附近的记录。
- 修改连接配置后立即生效,旧客户端停止重连。
- 分组收起状态在页面切换后保留,新建连接正确显示。
- 清空连接历史前请求确认;主窗口中的
Ctrl+W/Cmd+W不再退出应用。 - Apple Silicon 安装原生架构的 CLI。
- 修正 Protobuf 嵌套解码缩进;无法读取的 Excel 文件显示导入错误。
- 修正 Agent 订阅数量、重载后的连接上下文和
@菜单,以及推理设置传递。 - 改善 Agent 回复间距,以及菜单、翻译、列表、布局和图表缩放。
Web:
- 修复从空页面打开连接列表时未展开的问题。
- Web 构建允许符合
>=18的 Node.js 版本。
另更新 README 与功能文档,加入 lint 验证,清理未使用代码,完善 npm 发布与 provenance 元数据。
组合示例:用 Agent 准备数据,用 Dashboard 查看结果 🧩
创建临时 Zero EMQX Broker,将连接保存为 Factory Demo 并连接。订阅
factory/+/telemetry,向factory/line-01/telemetry逐条发布 12 条包含不同温度、湿度和压力值的 JSON 消息。创建 Factory Overview 看板,展示当前读数和温度趋势,然后打开它。
Ask 模式下需批准相应操作。看板展示收到的样本,并在后续消息到达时更新。Zero EMQX 为免费临时 Broker,有效期以创建结果为准。
What's Changed
- fix: make topic colors legible across dark, night, and light themes by @deviationist in #2050
- feat(connections): move Clear History button from menu to hotbar by @DanInSpace104 in #2052
- fix: align web topic text constant and hoist topicTextColor invariants by @ysfscream in #2069
- refactor(connections): remove unreachable clearHistory command dispatch by @ysfscream in #2070
- chore(lint): repair eslint config, resolve errors, apply prettier + eslint --fix by @ysfscream in #2071
- ci: add lint check workflow for desktop app by @ysfscream in #2072
- fix(desktop): reset subscription dialog loading on all edit paths by @ysfscream in #2074
- fix(mqtt): drop empty-string MQTT 5 properties from cleared number inputs by @ysfscream in #2073
- fix(web): reset subscription dialog loading on all edit paths by @ysfscream in #2076
- fix(web): relax engines.node constraint to >=18 by @ysfscream in #2075
- fix(connections): keep QoS on the same line when scrollbar appears by @ysfscream in #2079
- fix(desktop): align closing braces in protobuf decoded output by @ysfscream in #2081
- feat(publish): support deleting individual publish topic history by @ysfscream in #2082
- fix(connections): select groups in the connection form by @ysfscream in #2088
- feat(cli): display requested MQTT 5 response information by @ysfscream in #2085
- feat(desktop): display CONNACK response information by @ysfscream in #2090
- fix(desktop): install native CLI on Apple Silicon by @ysfscream in #2093
- feat(desktop): preserve connection groups in JSON backups by @ysfscream in #2091
- fix(desktop): preserve subscription filter during topic search by @ysfscream in #2083
- fix(desktop): preserve nearest messages when paging older history by @ysfscream in #2086
- fix(desktop,web): align MQTT topic filtering by @ysfscream in #2084
- fix(desktop): apply topic patterns to live dashboard messages by @ysfscream in #2094
- feat(connections): allow deleting and disabling subscriptions when disconnected by @sourabhburse in #2064
- fix(desktop): keep Ctrl+W/Cmd+W from quitting via the main window by @ysfscream in #2096
- refactor(desktop): remove unused payload history update method by @ysfscream in #2098
- fix(connections): preserve collapsed groups across navigation by @ysfscream in #2089
- feat: promote Device Agent in About pages and CLI help by @ysfscream in #2099
- fix(desktop,web): show and clear the active topic filter by @ysfscream in #2087
- feat(desktop): keep publish area and history per connection by @ysfscream in #2092
- fix(desktop): show the hidden connection list from the empty page by @ysfscream in #2101
- fix(desktop): ensure updated connection config takes effect immediately by @XuKing in #2095
- fix(desktop): confirm before clearing connection history by @ysfscream in #2105
- feat(desktop): redesign the connections empty page by @ysfscream in #2109
- feat(web): bring the redesigned empty page to MQTTX Web by @ysfscream in #2110
- fix(web): show the hidden connection list from the empty page by @ysfscream in #2111
- feat(desktop): polish the dashboard, fix its data loading and show its tab again by @ysfscream in #2107
- feat(desktop): turn Copilot into MQTTX Agent on the latest AI SDK by @ysfscream in #2097
- perf(desktop): keep the Topic Tree responsive with large topic sets by @ysfscream in #2106
- feat: add support for GZIP decompression by @T3rm1 in #2051
- feat(web): decompress gzip messages from a settings switch by @ysfscream in #2102
- feat(desktop): mark GZIP-decompressed messages by @ysfscream in #2113
- fix(desktop): keep the Agent from changing its own reasoning strength by @ysfscream in #2112
- fix(desktop): list the connections in the Agent @ menu after a reload by @ysfscream in #2115
- feat(desktop): let the Agent create and use a free Zero EMQX broker by @ysfscream in #2114
- refactor(desktop): simplify MQTTX Agent internals by @ysfscream in #2116
- style(desktop): align the dashboard menus, gauge and widget editor by @ysfscream in #2117
- style(desktop): share one ⋯ trigger and one menu surface by @ysfscream in #2118
- fix(desktop): translate the remaining hard-coded English by @ysfscream in #2119
- refactor(desktop): stop styles from depending on which page loaded first by @ysfscream in #2120
- refactor(desktop): build the Payload Inspector message header once by @ysfscream in #2121
- refactor(desktop): share the chart resize observer by @ysfscream in #2125
- refactor(desktop): share the view height and the pane drag by @ysfscream in #2123
- fix(desktop): scope the styles of four views by @ysfscream in #2122
- feat(desktop): add a row menu button to connections and groups by @ysfscream in #2124
- fix(desktop): align connection list rows with the other lists by @ysfscream in #2126
- docs: refresh READMEs and desktop docs for v1.13.2 by @ysfscream in #2103
- fix(desktop): improve Agent reply readability by @ysfscream in #2127
- fix(desktop): match MQTT topic filters in Viewer history by @ysfscream in #2129
- fix(desktop): count persisted subscriptions in Agent connection lists by @ysfscream in #2130
- fix(ci): separate CLI build and npm publish runtimes by @ysfscream in #2131
- 1.13.2 by @ysfscream in #2132
- fix(cli): declare repository metadata for npm provenance by @ysfscream in #2133
- refactor: simplify release preparation code and tests by @ysfscream in #2134
New Contributors
- @DanInSpace104 made their first contribution in #2052
- @sourabhburse made their first contribution in #2064
- @XuKing made their first contribution in #2095
- @T3rm1 made their first contribution in #2051
Full Changelog: v1.13.1...v1.13.2

