# MQTTX 1.13.3 发布：安全提升与 CLI 更新

> MQTTX 1.13.3 带来安全提升、CLI 更新命令，以及 benchmark 命令的 Bug 修复与优化。

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

MQTTX 1.13.3 主要带来安全提升、CLI 更新命令，以及 benchmark 命令的 Bug 修复与优化。桌面端遗嘱消息的 Payload 格式支持和 Agent 日常体验也有改进。

## 安全提升

本版集中加强 Desktop 与 Agent 的安全性，覆盖操作审批、脚本执行、内容处理和更新下载。

- 细化 Agent 对删除、清空和脚本变更等操作的审批。
- 加强脚本执行与回复内容处理，API Key 使用更加安全的存储方式。
- 为 CLI 下载增加校验，并加强桌面更新窗口的安全处理。

## 在终端更新 MQTTX CLI

使用独立二进制安装 CLI 的用户，以往更新时需要重新下载并替换文件。从 1.13.3 起，可以直接运行：

```bash
mqttx update
```

命令会检查新版本，并根据安装方式完成更新：独立二进制下载并替换当前程序，npm 和 Homebrew 安装则调用对应的包管理器。更新完成后，可用 `mqttx --version` 查看版本。

> `mqttx update` 从 1.13.3 开始提供，旧版用户请先通过原安装渠道升级一次。

## 更准确的压测统计与连接恢复

本版修复了 CLI 发布和订阅压测速率的计算，统计会采用实际采样时长。初次连接失败后重试成功的客户端可以正常启动任务，活动连接数也会正确更新；拆分文件回放在断线后的处理一并得到修复。

修复了发布主题模板中的 `%c` 没有使用实际 ClientId 的问题。

> 使用 `%c` 的主题可能发生变化，升级后请检查依赖原主题的订阅。

## 为遗嘱消息选择 Payload 格式

> 此功能由 [Killian0812](https://github.com/Killian0812) 贡献。

遗嘱消息用于在客户端意外断开后，由 Broker 发布预先配置的消息。设备使用二进制协议时，这条消息也需要采用接收端能识别的编码。

桌面端现在支持 **Plaintext、JSON、Base64、Hex、CBOR 和 MsgPack** 六种遗嘱 Payload 格式。在连接配置的 **Last Will and Testament** 区域，填写主题、QoS、Retain 和 Payload，再从编辑器右下角选择格式即可。

![遗嘱消息 Payload 格式选择](https://mqttx.app/images/blog/mqttx-1-13-3/mqttx-1.13.3-last-will-formats.png)

_遗嘱消息编辑器可直接选择编码格式，截图展示六种可用选项。_

例如，选择 MsgPack 后，可以输入 JSON 对象：

```json
{
  "msg": "CLOSED!"
}
```

MQTTX 会按 MsgPack 编码这条遗嘱消息，无需事先用其他工具生成二进制内容。格式会随连接保存，已有连接仍默认使用 Plaintext。

## Agent 日常操作改进

Agent 审批卡片会展示更完整的操作参数，包括定时发布的间隔，方便执行前核对。

本版还完善了回复显示、MCP 工具名称处理和桌面启动兼容性，并修正了连接历史中的遗嘱主题，以及包含制表符或换行的 Hex Payload 编码。

## 下载与反馈

前往 [MQTTX 下载页面](https://mqttx.app/zh/downloads) 选择 Desktop、CLI 或 Web。完整改动见 [v1.13.3 Release](https://github.com/emqx/MQTTX/releases/tag/v1.13.3)；使用中遇到问题，欢迎在 [GitHub](https://github.com/emqx/MQTTX/issues) 反馈。

感谢所有参与反馈、测试和贡献的社区成员，也感谢 [Killian0812](https://github.com/Killian0812) 为本版贡献遗嘱消息 Payload 格式支持。
