MQTTX Copilot(测试版)

MQTTX Copilot 是一款专为 MQTT 相关问题设计的 AI 助手。它不仅能解答常见问题,还能提供最佳实践建议。

无论是测试 MQTT 连接、发布订阅主题,还是调试和开发 MQTT 应用程序和服务,MQTTX Copilot 都能大幅简化这些操作,提升您的 MQTT 使用体验。

注意:MQTTX Copilot 目前处于测试版,自 v1.9.7 版本起提供。其回答的准确性和质量取决于使用的大语言模型能力。

配置 AI 提供商

要使用 MQTTX Copilot,您需要配置一个支持的 AI 提供商。这通常涉及以下步骤:

  1. 获取您选择的 AI 提供商的 API 密钥
  2. 在 MQTTX 的设置页面中,找到 Copilot 配置区域。
  3. 选择或输入 API Host(API 端点地址)。这里可以填入提供商的官方端点(如下方列表所示,部分已内置在下拉选项中),或者输入您自定义的 API 地址(例如指向自托管的服务)。
  4. 填入您的 API Key
  5. 选择或输入 Model(模型名称)。

MQTTX Copilot

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
  • Model (部署名称):
    • 此字段需要填写您在 Azure 中设置的部署名称 (Deployment Name)。根据您的情况选择:
      1. 使用 MQTTX 内置的 Azure 选项: 如果您想使用 MQTTX 在下拉列表中提供的常用 Azure 部署选项,请选择或输入这些deployment- 开头的名称(例如 deployment-gpt-4o, deployment-o1-mini)。 这个 deployment- 前缀是 MQTTX 特意添加的,用于区分它们与标准的 OpenAI 模型,并非 Azure 的强制要求。
      2. 使用您的自定义部署名称: 如果您在 Azure 中创建部署时指定了自定义的唯一名称(例如 my-prod-gpt4, test-deploy-001),请在此字段中精确输入您设置的那个自定义名称
    • 重要说明:
      • 选择内置 deployment- 前缀的名称,或输入您自己的自定义部署名称,取决于您如何在 Azure 中设置以及您想如何在此处引用它。
      • 无论哪种方式,这里填写的都是指向您在 Azure 上的具体部署实例的名称,而不是 OpenAI 的通用基础模型名 (如 gpt-4o)。
      • 这种区分处理(特别是内置选项的 deployment- 前缀)是 MQTTX 在当前缺少独立"Provider"字段的情况下,为了同时支持 Azure 和其他提供商并避免命名冲突而采取的必要方式。未来版本的 MQTTX 计划优化数据模型,以提供更原生、更标准的 Azure 配置体验。

SiliconFlow

  • 获取 API 密钥: 访问 SiliconFlow 控制台
  • API Host: https://api.siliconflow.cn/v1
  • 示例模型: deepseek-ai/DeepSeek-V3, deepseek-ai/DeepSeek-R1, Qwen/Qwen2.5-72B-Instruct 等。

MQTTX 在 ModelAPI 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 官方文档获取最新列表)。

请注意,对于非内置支持的服务,其兼容性和功能表现可能无法完全保证。

使用方法

MQTTX Copilot 无缝集成到 MQTTX 桌面端,无需额外下载或安装。要访问 Copilot,请点击 MQTTX 桌面界面右上角的消息图标。目前此功能仅在连接页面可用。

MQTTX Copilot

要开始新的对话或清除 MQTTX Copilot 中现有的对话历史,请点击对话框中关闭选项旁的 + 按钮。此操作将重置对话。

MQTTX Copilot

一键错误分析

在连接或订阅时遇到错误,只需点击错误提示中的 Ask Copilot 按钮。MQTTX Copilot 会帮助您分析问题原因,指导您逐步排查和解决问题。

MQTTX 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 应用程序的集成和开发。

MQTTX Copilot

自动生成测试数据

快速生成 Payload,助您分析和优化 MQTT 数据。这个功能简化了各种 MQTT 场景的设置和模拟。

MQTTX Copilot

MQTT 常见问题解答,EMQX 教程和日志分析

获取 MQTT 常见问题的提示,以及全面的 EMQX 安装和使用教程的逐步指导。这些资源旨在提高用户在 MQTT 和 EMQX 方面的知识和技能。此外,现在可以使用一键分析 EMQX 日志,简化了日志审查过程。

MQTTX Copilot

解释器

  • 连接信息深度解析:通过一键操作快速分析和解读连接信息,提供深入的 MQTT 连接洞察,帮助您更高效地管理和使用。
  • 测试文档自动生成:MQTTX Copilot 自动为当前 MQTT 连接生成测试文档,提升了对连接的理解,并为 MQTT 测试场景提供全面的文档支持。

MQTTX Copilot

自定义提示

MQTTX Copilot 允许您根据具体需求创建个性化提示。例如,输入"如何在 MQTT 中清除保留消息?"即可获得针对性的答案。

MQTTX Copilot

关键词快速访问

通过关键词如 @connection,MQTTX Copilot 支持快速获取信息,优化您的交互体验。比如输入"@connection 中的 host 是什么",即可迅速显示当前连接的主机信息。

MQTTX Copilot

代码快捷操作

  • 复制 MQTT 客户端代码:此功能允许您快速生成和应用 MQTT 客户端代码,提高工作效率。
  • 插入 MQTT 测试数据:轻松将预生成的 MQTT 测试数据插入到负载编辑器中,简化测试流程。

MQTTX Copilot

脚本代码生成

MQTTX Copilot 提供了强大的脚本代码生成功能,可以帮助您为 MQTTX 的脚本功能快速创建 JavaScript 函数,例如用于处理消息 Payload 或实现自定义测试逻辑。此外,它也能协助您生成相关的消息 Schema。该功能主要在 MQTTX 的 脚本 页面通过 MQTTX Copilot 图标访问和使用。

1. JavaScript 函数生成

MQTTX Copilot 能够根据您的需求生成 JavaScript 脚本代码。这些脚本代码可用于 MQTTX 的脚本功能中,例如对消息 Payload 进行处理或实现其他自定义逻辑。

  • 预设模板:
    • 快速生成常用测试场景代码,例如:
      • 模拟天气数据: 生成可配置范围和随机波动的真实天气指标。
      • 动态命令切换: 创建根据特定条件智能切换命令状态的函数。
      • 时间格式处理: 将时间戳转换为易读的日期时间字符串。
  • 自定义生成:
    • 通过自然语言描述您需要的函数逻辑,MQTTX Copilot 将尝试生成定制代码。
    • 生成的代码通常包含必要的错误处理和注释,方便理解和使用。

MQTTX Copilot

2. Schema 生成

为 MQTT 消息自动生成 Protobuf 或 Avro 格式的 Schema 定义,有助于统一数据结构。

  • 预设场景 Schema:
    • 可为常见的物联网应用场景直接生成 Schema,例如:
      • 智能家居设备状态
      • 工业设备警报
      • 车联网遥测数据
      • 智能电表读数
  • 自定义 Schema:
    • 用自然语言描述您的数据结构,MQTTX Copilot 将生成相应的 Schema 规范。

MQTTX Copilot

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 服务器。

配置步骤

  1. 前往 MQTTX 设置 > Copilot
  2. 确保已启用 MQTTX Copilot 并配置好 AI 模型。
  3. 向下滚动至 MCP 部分并启用它。
  4. 在 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"
        }
      }
    }