MQTTX Copilot(测试版)
MQTTX Copilot 是一款专为 MQTT 相关问题设计的 AI 助手。它不仅能解答常见问题,还能提供最佳实践建议。
无论是测试 MQTT 连接、发布订阅主题,还是调试和开发 MQTT 应用程序和服务,MQTTX Copilot 都能大幅简化这些操作,提升您的 MQTT 使用体验。
注意:MQTTX Copilot 目前处于测试版,自 v1.9.7 版本起提供。其回答的准确性和质量取决于使用的大语言模型能力。
配置 AI 提供商
要使用 MQTTX Copilot,您需要配置一个支持的 AI 提供商。这通常涉及以下步骤:
- 获取您选择的 AI 提供商的 API 密钥。
- 在 MQTTX 的设置页面中,找到 Copilot 配置区域。
- 选择或输入 API Host(API 端点地址)。这里可以填入提供商的官方端点(如下方列表所示,部分已内置在下拉选项中),或者输入您自定义的 API 地址(例如指向自托管的服务)。
- 填入您的 API Key。
- 选择或输入 Model(模型名称)。
MQTTX 内置支持多个 AI 提供商。点击下方的提供商名称查看具体的配置信息:
DeepSeek
- 获取 API 密钥: 访问 DeepSeek API Keys。
- API Host:
https://api.deepseek.com/v1
- 示例模型:
deepseek-chat
,deepseek-reasoner
OpenAI
- 获取 API 密钥: 访问 OpenAI API Keys。
- API Host:
https://api.openai.com/v1
- 示例模型:
gpt-4o
,gpt-4o-mini
,gpt-4.1
,o1
,o3-mini
等。
Anthropic (Claude)
- 获取 API 密钥: 访问 Anthropic Console。
- API Host:
https://api.anthropic.com/v1
- 示例模型:
claude-opus-4-20250514
,claude-opus-4-20250514-thinking
,claude-sonnet-4-20250514
,claude-sonnet-4-20250514-thinking
,claude-3-7-sonnet-20250219
,claude-3-7-sonnet-20250219-thinking
,claude-3-7-sonnet-latest
等。
xAI (Grok)
- 获取 API 密钥: 访问 xAI Console (具体路径可能不同)。
- API Host:
https://api.x.ai/v1
- 示例模型:
grok-3-beta
,grok-3-fast-beta
,grok-2-1212
等。
Google (Gemini)
- 获取 API 密钥: 访问 Google AI Studio。
- API Host:
https://generativelanguage.googleapis.com/v1beta
- 示例模型:
gemini-2.5-pro
,gemini-2.5-pro-thinking
,gemini-2.5-flash
,gemini-2.5-flash-thinking
等。
Azure OpenAI
配置 Azure OpenAI 时需要特别注意以下几点,其配置方式与其他提供商有所不同,这是为了在当前 MQTTX 配置结构下兼容 Azure 的特性:
- 获取 API 密钥: 从您的 Azure Portal 获取适用于您部署的 OpenAI 服务的密钥。
- API Host:
- 您可以在此字段输入您的 Azure OpenAI 服务的 资源名称 (Resource Name)(例如
your-resource-name
) 或者完整的 终结点 URL (Endpoint URL)(可能包含路径,如/openai/deployments
)。 - 关于 API 版本: MQTTX 会使用一个默认的
api-version
(2025-01-01-preview
)。如果您需要使用不同于默认值的特定 API 版本,可以在API Host
字段的末尾手动附加?api-version=YOUR_API_VERSION
参数。请将YOUR_API_VERSION
替换为您需要指定的版本(例如2024-02-01
)。 - 示例 (使用默认版本,输入资源名称):
your-resource-name
- 示例 (使用默认版本,输入完整 URL):
https://your-resource-name.openai.azure.com
- 示例 (使用默认版本,输入带路径的完整 URL):
https://your-resource-name.openai.azure.com/openai/deployments
- 示例 (指定特定版本,使用资源名称):
your-resource-name?api-version=2024-02-01
- 示例 (指定特定版本,使用完整 URL):
https://your-resource-name.openai.azure.com?api-version=2024-02-01
- 您可以在此字段输入您的 Azure OpenAI 服务的 资源名称 (Resource Name)(例如
- Model (部署名称):
- 此字段需要填写您在 Azure 中设置的部署名称 (Deployment Name)。根据您的情况选择:
- 使用 MQTTX 内置的 Azure 选项: 如果您想使用 MQTTX 在下拉列表中提供的常用 Azure 部署选项,请选择或输入这些以
deployment-
开头的名称(例如deployment-gpt-4o
,deployment-o1-mini
)。 这个deployment-
前缀是 MQTTX 特意添加的,用于区分它们与标准的 OpenAI 模型,并非 Azure 的强制要求。 - 使用您的自定义部署名称: 如果您在 Azure 中创建部署时指定了自定义的唯一名称(例如
my-prod-gpt4
,test-deploy-001
),请在此字段中精确输入您设置的那个自定义名称。
- 使用 MQTTX 内置的 Azure 选项: 如果您想使用 MQTTX 在下拉列表中提供的常用 Azure 部署选项,请选择或输入这些以
- 重要说明:
- 选择内置
deployment-
前缀的名称,或输入您自己的自定义部署名称,取决于您如何在 Azure 中设置以及您想如何在此处引用它。 - 无论哪种方式,这里填写的都是指向您在 Azure 上的具体部署实例的名称,而不是 OpenAI 的通用基础模型名 (如
gpt-4o
)。 - 这种区分处理(特别是内置选项的
deployment-
前缀)是 MQTTX 在当前缺少独立"Provider"字段的情况下,为了同时支持 Azure 和其他提供商并避免命名冲突而采取的必要方式。未来版本的 MQTTX 计划优化数据模型,以提供更原生、更标准的 Azure 配置体验。
- 选择内置
- 此字段需要填写您在 Azure 中设置的部署名称 (Deployment Name)。根据您的情况选择:
SiliconFlow
- 获取 API 密钥: 访问 SiliconFlow 控制台。
- API Host:
https://api.siliconflow.cn/v1
- 示例模型:
deepseek-ai/DeepSeek-V3
,deepseek-ai/DeepSeek-R1
,Qwen/Qwen2.5-72B-Instruct
等。
MQTTX 在 Model 和 API Host 输入框的下拉列表中提供了上述提供商的常用选项,方便您快速选择。
自定义配置
除了上述内置支持的提供商外,MQTTX Copilot 理论上也可以支持其他遵循 OpenAI API 格式的服务。如果您有来自 Zhipu (智谱)或其他类似服务的 API 密钥和端点信息,您可以尝试在 MQTTX 设置中手动输入 API Key, API Host, 和 Model 进行配置。
- Zhipu (示例):
- API Host:
https://open.bigmodel.cn/api/paas/v4
- 可用模型:
glm-4
,glm-4-flash
等 (请查阅 Zhipu 官方文档获取最新列表)。
- API Host:
请注意,对于非内置支持的服务,其兼容性和功能表现可能无法完全保证。
使用方法
MQTTX Copilot 无缝集成到 MQTTX 桌面端,无需额外下载或安装。要访问 Copilot,请点击 MQTTX 桌面界面右上角的消息图标。目前此功能仅在连接页面可用。
要开始新的对话或清除 MQTTX Copilot 中现有的对话历史,请点击对话框中关闭选项旁的 +
按钮。此操作将重置对话。
一键错误分析
在连接或订阅时遇到错误,只需点击错误提示中的 Ask Copilot
按钮。MQTTX Copilot 会帮助您分析问题原因,指导您逐步排查和解决问题。
预设提示
在 MQTTX Copilot 中,您可以输入 /
字符来快速查看和使用一系列预设指令,这些指令可以帮助您便捷地执行多种内置操作。以下是部分常用预设指令的简介:
代码生成器:
MQTTX Copilot 提供了一键生成 MQTT 客户端代码的功能,大大简化了在多种编程语言中配置 MQTT 客户端的过程。
它预设了多种编程语言的支持,包括 JavaScript、Python、Java、Go、C、C++、C#、PHP、Swift、Kotlin、Rust、Dart 和 Erlang。尽管这些是主要的选项,MQTTX Copilot 的灵活性意味着它同样适用于其他编程语言,便于用户根据自己的需求进行 MQTT 应用程序的集成和开发。
自动生成测试数据:
快速生成 Payload,助您分析和优化 MQTT 数据。这个功能简化了各种 MQTT 场景的设置和模拟。
MQTT 常见问题解答,EMQX 教程和日志分析:
获取 MQTT 常见问题的提示,以及全面的 EMQX 安装和使用教程的逐步指导。这些资源旨在提高用户在 MQTT 和 EMQX 方面的知识和技能。此外,现在可以使用一键分析 EMQX 日志,简化了日志审查过程。
解释器:
- 连接信息深度解析:通过一键操作快速分析和解读连接信息,提供深入的 MQTT 连接洞察,帮助您更高效地管理和使用。
- 测试文档自动生成:MQTTX Copilot 自动为当前 MQTT 连接生成测试文档,提升了对连接的理解,并为 MQTT 测试场景提供全面的文档支持。
自定义提示
MQTTX Copilot 允许您根据具体需求创建个性化提示。例如,输入"如何在 MQTT 中清除保留消息?"即可获得针对性的答案。
关键词快速访问
通过关键词如 @connection
,MQTTX Copilot 支持快速获取信息,优化您的交互体验。比如输入"@connection 中的 host 是什么",即可迅速显示当前连接的主机信息。
代码快捷操作
- 复制 MQTT 客户端代码:此功能允许您快速生成和应用 MQTT 客户端代码,提高工作效率。
- 插入 MQTT 测试数据:轻松将预生成的 MQTT 测试数据插入到负载编辑器中,简化测试流程。
脚本代码生成
MQTTX Copilot 提供了强大的脚本代码生成功能,可以帮助您为 MQTTX 的脚本功能快速创建 JavaScript 函数,例如用于处理消息 Payload 或实现自定义测试逻辑。此外,它也能协助您生成相关的消息 Schema。该功能主要在 MQTTX 的 脚本 页面通过 MQTTX Copilot 图标访问和使用。
1. JavaScript 函数生成:
MQTTX Copilot 能够根据您的需求生成 JavaScript 脚本代码。这些脚本代码可用于 MQTTX 的脚本功能中,例如对消息 Payload 进行处理或实现其他自定义逻辑。
- 预设模板:
- 快速生成常用测试场景代码,例如:
- 模拟天气数据: 生成可配置范围和随机波动的真实天气指标。
- 动态命令切换: 创建根据特定条件智能切换命令状态的函数。
- 时间格式处理: 将时间戳转换为易读的日期时间字符串。
- 快速生成常用测试场景代码,例如:
- 自定义生成:
- 通过自然语言描述您需要的函数逻辑,MQTTX Copilot 将尝试生成定制代码。
- 生成的代码通常包含必要的错误处理和注释,方便理解和使用。
2. Schema 生成:
为 MQTT 消息自动生成 Protobuf 或 Avro 格式的 Schema 定义,有助于统一数据结构。
- 预设场景 Schema:
- 可为常见的物联网应用场景直接生成 Schema,例如:
- 智能家居设备状态
- 工业设备警报
- 车联网遥测数据
- 智能电表读数
- 可为常见的物联网应用场景直接生成 Schema,例如:
- 自定义 Schema:
- 用自然语言描述您的数据结构,MQTTX Copilot 将生成相应的 Schema 规范。
MCP 集成
MQTTX (v1.12.0-beta+) 通过集成模型上下文协议 (MCP) 增强了 Copilot AI 功能。此集成使 MQTTX 作为 MCP Host,允许 MQTTX Copilot 与 MQTT Broker 及本地资源交互,为物联网应用带来更多可能性。
注意:此为 Beta 功能。请从 MQTTX Releases 手动下载并安装 v1.12.0-beta.2 或更高版本。
什么是 MCP?
模型上下文协议 (MCP) 是 AI 模型与外部工具/数据源的标准接口。它允许 MQTTX Copilot:
- 访问训练数据外的上下文信息。
- 安全地与本地和远程系统交互。
- 跨 AI 提供商保持一致接口。
- 通过标准工具调用执行功能。
MCP 采用客户端-服务器架构,MQTTX 作为 MCP 客户端连接到 MCP 服务器以使用其功能。
在 MQTTX 中配置 MCP
MQTTX 支持 Stdio (标准输入/输出) 和 SSE (Server-Sent Events) 类型的 MCP 服务器。
配置步骤:
- 前往 MQTTX 设置 > Copilot。
- 确保已启用 MQTTX Copilot 并配置好 AI 模型。
- 向下滚动至 MCP 部分并启用它。
- 在 JSON 输入框中添加 MCP 服务器配置。格式如下:
{ "mcpServers": { "your-server-id-stdio": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/allowed/dir1"] // "cwd": "/optional/working/directory" }, "your-server-id-sse": { "url": "http://localhost:4000/your-sse-endpoint" } } }