{
  "schemaVersion": "1.0",
  "item": {
    "slug": "xiaoai-bridge",
    "name": "xiaoai-bridge",
    "source": "tencent",
    "type": "skill",
    "category": "通讯协作",
    "sourceUrl": "https://clawhub.ai/Warm-winter/xiaoai-bridge",
    "canonicalUrl": "https://clawhub.ai/Warm-winter/xiaoai-bridge",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/xiaoai-bridge",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=xiaoai-bridge",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "scripts/xiaoai-listen.js",
      "scripts/package.json",
      "scripts/package-lock.json",
      "scripts/.mi.json",
      "scripts/test-fetch.js"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/xiaoai-bridge"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/xiaoai-bridge",
    "agentPageUrl": "https://openagent3.xyz/skills/xiaoai-bridge/agent",
    "manifestUrl": "https://openagent3.xyz/skills/xiaoai-bridge/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/xiaoai-bridge/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "小爱音箱语音桥接 Skill",
        "body": "通过小米小爱音箱实现 OpenClaw 的语音交互能力。"
      },
      {
        "title": "功能特性",
        "body": "✅ 语音指令监听 - 实时轮询小爱音箱的语音消息（小米云端语音识别）\n✅ 智能触发过滤 - 支持触发词前缀（默认\"请\"），避免误触发\n✅ TTS 语音回复 - 将 AI 处理结果通过小爱音箱播报\n✅ 消息去重机制 - 自动跟踪时间戳，避免重复处理\n✅ 后台持续运行 - 支持长期监听，稳定可靠\n✅ 多设备支持 - 支持所有小米 IoT 生态的小爱音箱设备"
      },
      {
        "title": "工作原理",
        "body": "监听 - 轮询小爱音箱获取语音消息（小米云端语音转文字）\n处理 - 将语音消息转换为 AI 助手指令\n回复 - 通过小爱音箱 TTS 播报处理结果"
      },
      {
        "title": "1. 安装依赖",
        "body": "cd skills/xiaoai-bridge/scripts\nnpm install"
      },
      {
        "title": "2. 配置环境变量",
        "body": "复制 .env.example 并填写配置：\n\ncp .env.example .env\n\n编辑 .env 文件：\n\nMI_USER_ID=1234567890              # 小米账号 ID（纯数字）\nMI_PASS_TOKEN=your_pass_token      # 推荐：使用 passToken\n# MI_PASSWORD=your_password        # 备选：密码（可能触发安全验证）\nMI_DEVICE_ID=小爱音箱Pro            # 设备名称、miotDID 或 MAC 地址\nTRIGGER_PREFIX=请                   # 触发词前缀（默认\"请\"）\nPOLL_INTERVAL=1000                 # 轮询间隔（毫秒，默认 1000）\n\n获取 passToken：参考 https://github.com/idootop/migpt-next/issues/4\n\n查找设备 ID：运行 DEBUG=true node scripts/xiaoai-listen.js test 查看所有设备列表。"
      },
      {
        "title": "3. 测试连接",
        "body": "node scripts/xiaoai-listen.js test\n\n预期输出：\n\n🔌 正在连接小爱音箱...\n✅ 连接成功"
      },
      {
        "title": "4. 启动监听",
        "body": "后台运行监听服务：\n\nnode scripts/xiaoai-listen.js > xiaoai.log 2>&1 &\n\n或���用 OpenClaw 进程管理（推荐）。"
      },
      {
        "title": "示例 1：后台监听 + 消息处理",
        "body": "启动监听进程并解析 JSON 输出：\n\nconst { exec } = require('child_process');\nconst listener = exec('node skills/xiaoai-bridge/scripts/xiaoai-listen.js');\n\nlistener.stdout.on('data', (data) => {\n  const lines = data.toString().split('\\n');\n  for (const line of lines) {\n    if (!line.trim()) continue;\n    \n    try {\n      const msg = JSON.parse(line);\n      if (msg.type === 'message') {\n        // 处理语音指令\n        handleVoiceCommand(msg.text);\n      }\n    } catch (e) {\n      // 非 JSON 的状态日志\n      console.log(line);\n    }\n  }\n});\n\nasync function handleVoiceCommand(text) {\n  // 你的指令处理逻辑\n  const response = await processCommand(text);\n  \n  // 通过 TTS 回复\n  await exec(`node skills/xiaoai-bridge/scripts/xiaoai-listen.js speak \"${response}\"`);\n}"
      },
      {
        "title": "示例 2：直接 TTS 播报",
        "body": "发送文本到小爱音箱：\n\nnode scripts/xiaoai-listen.js speak \"任务已完成\"\n\n代码调用：\n\nconst { exec } = require('child_process');\n\nfunction speakViaXiaoAi(text) {\n  return new Promise((resolve, reject) => {\n    exec(`node skills/xiaoai-bridge/scripts/xiaoai-listen.js speak \"${text}\"`, \n      (error, stdout, stderr) => {\n        if (error) reject(error);\n        else resolve();\n      }\n    );\n  });\n}\n\n// 使用\nawait speakViaXiaoAi(\"你好，任务已完成\");"
      },
      {
        "title": "示例 3：触发词过滤",
        "body": "Skill 自动过滤触发词前缀（默认\"请\"），只处理符合条件的消息：\n\n// 用户说：\"请帮我查天气\" → 处理，text = \"帮我查天气\"\n// 用户说：\"今天天气怎么样\" → 忽略（无触发词）\n\nlistener.stdout.on('data', (data) => {\n  const lines = data.toString().split('\\n');\n  for (const line of lines) {\n    try {\n      const msg = JSON.parse(line);\n      if (msg.type === 'message') {\n        // msg.text 已自动去除触发词前缀\n        console.log(`处理指令: ${msg.text}`);\n        handleVoiceCommand(msg.text);\n      }\n    } catch (e) {}\n  }\n});\n\n自定义触发词（在 .env 中配置）：\n\nTRIGGER_PREFIX=请      # 默认\n# TRIGGER_PREFIX=小助手  # 自定义唤醒词\n# TRIGGER_PREFIX=       # 空值 = 处理所有消息"
      },
      {
        "title": "消息格式",
        "body": "监听器输出 JSON 格式消息（仅处理符合触发词的消息）：\n\n{\n  \"type\": \"message\",\n  \"text\": \"查一下天气\",\n  \"originalText\": \"请查一下天气\",\n  \"timestamp\": 1708070400000\n}\n\n注意：text 字段已自动去除触发词前缀。如需完整消息，使用 originalText。"
      },
      {
        "title": "API 参考",
        "body": "完整 MiGPT-Next API 文档见 references/migpt-api.md。"
      },
      {
        "title": "脚本命令",
        "body": "# 启动监听（默认）\nnode scripts/xiaoai-listen.js\n\n# TTS 播报文本\nnode scripts/xiaoai-listen.js speak \"要说的话\"\n\n# 测试连接\nnode scripts/xiaoai-listen.js test"
      },
      {
        "title": "环境变量",
        "body": "变量必需说明MI_USER_ID是小米账号 ID（纯数字）MI_PASS_TOKEN是*passToken（推荐）MI_PASSWORD是*密码（可能触发安全验证）MI_DEVICE_ID是设备名称、miotDID 或 MACTRIGGER_PREFIX否触发词前缀（默认\"请\"）POLL_INTERVAL否轮询间隔（毫秒，默认 1000）DEBUG否调试模式（true/false）\n\n*MI_PASS_TOKEN 或 MI_PASSWORD 二选一。"
      },
      {
        "title": "登录失败",
        "body": "症状：❌ 连接失败: 登录失败\n\n解决方案：\n\n使用 passToken 替代密码（推荐）\n检查 MI_USER_ID 是否为纯数字（不是手机号或邮箱）\n开启 DEBUG=true 查看详细错误信息"
      },
      {
        "title": "找不到设备",
        "body": "症状：❌ 找不到设备\n\n解决方案：运行以下命令查看所有设备：\n\nDEBUG=true node scripts/xiaoai-listen.js test\n\n使用设备的 name、miotDID 或 mac 作为 MI_DEVICE_ID。"
      },
      {
        "title": "收不到消息",
        "body": "可能原因：\n\n消息同步延迟（1-2 秒正常）\n设备离线或无响应\n自上次轮询后无新消息"
      },
      {
        "title": "需要验证码",
        "body": "症状：❌ 本次登录需要验证码\n\n解决方案：必须使用 passToken 登录。参考 https://github.com/idootop/migpt-next/issues/4"
      },
      {
        "title": "最佳实践",
        "body": "使用 passToken - 比密码更稳定，避免安全验证\n轮询间隔 - 1-2 秒最佳（平衡响应速度和 API 负载）\n消息去重 - 跟踪已处理的时间戳，避免重复处理\n错误处理 - 实现重试逻辑应对网络故障\n长文本分段 - 将长回复分句播报，提升 TTS 体验"
      },
      {
        "title": "完整集成示例",
        "body": "与 OpenClaw 助手的完整集成：\n\nconst { exec } = require('child_process');\nconst path = require('path');\n\nclass XiaoAiBridge {\n  constructor() {\n    this.listener = null;\n    this.lastTimestamp = Date.now();\n  }\n\n  start(onMessage) {\n    const scriptPath = path.join(__dirname, 'skills/xiaoai-bridge/scripts/xiaoai-listen.js');\n    this.listener = exec(`node ${scriptPath}`);\n\n    this.listener.stdout.on('data', (data) => {\n      const lines = data.toString().split('\\n');\n      for (const line of lines) {\n        if (!line.trim()) continue;\n        \n        try {\n          const msg = JSON.parse(line);\n          if (msg.type === 'message' && msg.timestamp > this.lastTimestamp) {\n            this.lastTimestamp = msg.timestamp;\n            onMessage(msg.text);\n          }\n        } catch (e) {\n          console.log(line); // 状态日志\n        }\n      }\n    });\n\n    this.listener.stderr.on('data', (data) => {\n      console.error('XiaoAi Error:', data.toString());\n    });\n  }\n\n  async speak(text) {\n    const scriptPath = path.join(__dirname, 'skills/xiaoai-bridge/scripts/xiaoai-listen.js');\n    return new Promise((resolve, reject) => {\n      exec(`node ${scriptPath} speak \"${text}\"`, (error) => {\n        if (error) reject(error);\n        else resolve();\n      });\n    });\n  }\n\n  stop() {\n    if (this.listener) {\n      this.listener.kill();\n    }\n  }\n}\n\n// 使用示例\nconst bridge = new XiaoAiBridge();\n\nbridge.start(async (voiceCommand) => {\n  console.log(`收到语音指令: ${voiceCommand}`);\n  \n  // 用你的 AI 助手处理指令\n  const response = await yourAgentProcess(voiceCommand);\n  \n  // 通过小爱音箱回复\n  await bridge.speak(response);\n});"
      },
      {
        "title": "相关资源",
        "body": "MiGPT-Next 项目：https://github.com/idootop/migpt-next\npassToken 获取教程：https://github.com/idootop/migpt-next/issues/4\nAPI 完整文档：references/migpt-api.md"
      },
      {
        "title": "许可证",
        "body": "MIT License"
      },
      {
        "title": "贡献",
        "body": "欢迎提交 Issue 和 Pull Request！"
      }
    ],
    "body": "小爱音箱语音桥接 Skill\n\n通过小米小爱音箱实现 OpenClaw 的语音交互能力。\n\n功能特性\n\n✅ 语音指令监听 - 实时轮询小爱音箱的语音消息（小米云端语音识别）\n✅ 智能触发过滤 - 支持触发词前缀（默认\"请\"），避免误触发\n✅ TTS 语音回复 - 将 AI 处理结果通过小爱音箱播报\n✅ 消息去重机制 - 自动跟踪时间戳，避免重复处理\n✅ 后台持续运行 - 支持长期监听，稳定可靠\n✅ 多设备支持 - 支持所有小米 IoT 生态的小爱音箱设备\n\n工作原理\n监听 - 轮询小爱音箱获取语音消息（小米云端语音转文字）\n处理 - 将语音消息转换为 AI 助手指令\n回复 - 通过小爱音箱 TTS 播报处理结果\n快速开始\n1. 安装依赖\ncd skills/xiaoai-bridge/scripts\nnpm install\n\n2. 配置环境变量\n\n复制 .env.example 并填写配置：\n\ncp .env.example .env\n\n\n编辑 .env 文件：\n\nMI_USER_ID=1234567890              # 小米账号 ID（纯数字）\nMI_PASS_TOKEN=your_pass_token      # 推荐：使用 passToken\n# MI_PASSWORD=your_password        # 备选：密码（可能触发安全验证）\nMI_DEVICE_ID=小爱音箱Pro            # 设备名称、miotDID 或 MAC 地址\nTRIGGER_PREFIX=请                   # 触发词前缀（默认\"请\"）\nPOLL_INTERVAL=1000                 # 轮询间隔（毫秒，默认 1000）\n\n\n获取 passToken：参考 https://github.com/idootop/migpt-next/issues/4\n\n查找设备 ID：运行 DEBUG=true node scripts/xiaoai-listen.js test 查看所有设备列表。\n\n3. 测试连接\nnode scripts/xiaoai-listen.js test\n\n\n预期输出：\n\n🔌 正在连接小爱音箱...\n✅ 连接成功\n\n4. 启动监听\n\n后台运行监听服务：\n\nnode scripts/xiaoai-listen.js > xiaoai.log 2>&1 &\n\n\n或���用 OpenClaw 进程管理（推荐）。\n\n使用示例\n示例 1：后台监听 + 消息处理\n\n启动监听进程并解析 JSON 输出：\n\nconst { exec } = require('child_process');\nconst listener = exec('node skills/xiaoai-bridge/scripts/xiaoai-listen.js');\n\nlistener.stdout.on('data', (data) => {\n  const lines = data.toString().split('\\n');\n  for (const line of lines) {\n    if (!line.trim()) continue;\n    \n    try {\n      const msg = JSON.parse(line);\n      if (msg.type === 'message') {\n        // 处理语音指令\n        handleVoiceCommand(msg.text);\n      }\n    } catch (e) {\n      // 非 JSON 的状态日志\n      console.log(line);\n    }\n  }\n});\n\nasync function handleVoiceCommand(text) {\n  // 你的指令处理逻辑\n  const response = await processCommand(text);\n  \n  // 通过 TTS 回复\n  await exec(`node skills/xiaoai-bridge/scripts/xiaoai-listen.js speak \"${response}\"`);\n}\n\n示例 2：直接 TTS 播报\n\n发送文本到小爱音箱：\n\nnode scripts/xiaoai-listen.js speak \"任务已完成\"\n\n\n代码调用：\n\nconst { exec } = require('child_process');\n\nfunction speakViaXiaoAi(text) {\n  return new Promise((resolve, reject) => {\n    exec(`node skills/xiaoai-bridge/scripts/xiaoai-listen.js speak \"${text}\"`, \n      (error, stdout, stderr) => {\n        if (error) reject(error);\n        else resolve();\n      }\n    );\n  });\n}\n\n// 使用\nawait speakViaXiaoAi(\"你好，任务已完成\");\n\n示例 3：触发词过滤\n\nSkill 自动过滤触发词前缀（默认\"请\"），只处理符合条件的消息：\n\n// 用户说：\"请帮我查天气\" → 处理，text = \"帮我查天气\"\n// 用户说：\"今天天气怎么样\" → 忽略（无触发词）\n\nlistener.stdout.on('data', (data) => {\n  const lines = data.toString().split('\\n');\n  for (const line of lines) {\n    try {\n      const msg = JSON.parse(line);\n      if (msg.type === 'message') {\n        // msg.text 已自动去除触发词前缀\n        console.log(`处理指令: ${msg.text}`);\n        handleVoiceCommand(msg.text);\n      }\n    } catch (e) {}\n  }\n});\n\n\n自定义触发词（在 .env 中配置）：\n\nTRIGGER_PREFIX=请      # 默认\n# TRIGGER_PREFIX=小助手  # 自定义唤醒词\n# TRIGGER_PREFIX=       # 空值 = 处理所有消息\n\n消息格式\n\n监听器输出 JSON 格式消息（仅处理符合触发词的消息）：\n\n{\n  \"type\": \"message\",\n  \"text\": \"查一下天气\",\n  \"originalText\": \"请查一下天气\",\n  \"timestamp\": 1708070400000\n}\n\n\n注意：text 字段已自动去除触发词前缀。如需完整消息，使用 originalText。\n\nAPI 参考\n\n完整 MiGPT-Next API 文档见 references/migpt-api.md。\n\n脚本命令\n# 启动监听（默认）\nnode scripts/xiaoai-listen.js\n\n# TTS 播报文本\nnode scripts/xiaoai-listen.js speak \"要说的话\"\n\n# 测试连接\nnode scripts/xiaoai-listen.js test\n\n环境变量\n变量\t必需\t说明\nMI_USER_ID\t是\t小米账号 ID（纯数字）\nMI_PASS_TOKEN\t是*\tpassToken（推荐）\nMI_PASSWORD\t是*\t密码（可能触发安全验证）\nMI_DEVICE_ID\t是\t设备名称、miotDID 或 MAC\nTRIGGER_PREFIX\t否\t触发词前缀（默认\"请\"）\nPOLL_INTERVAL\t否\t轮询间隔（毫秒，默认 1000）\nDEBUG\t否\t调试模式（true/false）\n\n*MI_PASS_TOKEN 或 MI_PASSWORD 二选一。\n\n故障排查\n登录失败\n\n症状：❌ 连接失败: 登录失败\n\n解决方案：\n\n使用 passToken 替代密码（推荐）\n检查 MI_USER_ID 是否为纯数字（不是手机号或邮箱）\n开启 DEBUG=true 查看详细错误信息\n找不到设备\n\n症状：❌ 找不到设备\n\n解决方案：运行以下命令查看所有设备：\n\nDEBUG=true node scripts/xiaoai-listen.js test\n\n\n使用设备的 name、miotDID 或 mac 作为 MI_DEVICE_ID。\n\n收不到消息\n\n可能原因：\n\n消息同步延迟（1-2 秒正常）\n设备离线或无响应\n自上次轮询后无新消息\n需要验证码\n\n症状：❌ 本次登录需要验证码\n\n解决方案：必须使用 passToken 登录。参考 https://github.com/idootop/migpt-next/issues/4\n\n最佳实践\n使用 passToken - 比密码更稳定，避免安全验证\n轮询间隔 - 1-2 秒最佳（平衡响应速度和 API 负载）\n消息去重 - 跟踪已处理的时间戳，避免重复处理\n错误处理 - 实现重试逻辑应对网络故障\n长文本分段 - 将长回复分句播报，提升 TTS 体验\n完整集成示例\n\n与 OpenClaw 助手的完整集成：\n\nconst { exec } = require('child_process');\nconst path = require('path');\n\nclass XiaoAiBridge {\n  constructor() {\n    this.listener = null;\n    this.lastTimestamp = Date.now();\n  }\n\n  start(onMessage) {\n    const scriptPath = path.join(__dirname, 'skills/xiaoai-bridge/scripts/xiaoai-listen.js');\n    this.listener = exec(`node ${scriptPath}`);\n\n    this.listener.stdout.on('data', (data) => {\n      const lines = data.toString().split('\\n');\n      for (const line of lines) {\n        if (!line.trim()) continue;\n        \n        try {\n          const msg = JSON.parse(line);\n          if (msg.type === 'message' && msg.timestamp > this.lastTimestamp) {\n            this.lastTimestamp = msg.timestamp;\n            onMessage(msg.text);\n          }\n        } catch (e) {\n          console.log(line); // 状态日志\n        }\n      }\n    });\n\n    this.listener.stderr.on('data', (data) => {\n      console.error('XiaoAi Error:', data.toString());\n    });\n  }\n\n  async speak(text) {\n    const scriptPath = path.join(__dirname, 'skills/xiaoai-bridge/scripts/xiaoai-listen.js');\n    return new Promise((resolve, reject) => {\n      exec(`node ${scriptPath} speak \"${text}\"`, (error) => {\n        if (error) reject(error);\n        else resolve();\n      });\n    });\n  }\n\n  stop() {\n    if (this.listener) {\n      this.listener.kill();\n    }\n  }\n}\n\n// 使用示例\nconst bridge = new XiaoAiBridge();\n\nbridge.start(async (voiceCommand) => {\n  console.log(`收到语音指令: ${voiceCommand}`);\n  \n  // 用你的 AI 助手处理指令\n  const response = await yourAgentProcess(voiceCommand);\n  \n  // 通过小爱音箱回复\n  await bridge.speak(response);\n});\n\n相关资源\nMiGPT-Next 项目：https://github.com/idootop/migpt-next\npassToken 获取教程：https://github.com/idootop/migpt-next/issues/4\nAPI 完整文档：references/migpt-api.md\n许可证\n\nMIT License\n\n贡献\n\n欢迎提交 Issue 和 Pull Request！"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/Warm-winter/xiaoai-bridge",
    "publisherUrl": "https://clawhub.ai/Warm-winter/xiaoai-bridge",
    "owner": "Warm-winter",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/xiaoai-bridge",
    "downloadUrl": "https://openagent3.xyz/downloads/xiaoai-bridge",
    "agentUrl": "https://openagent3.xyz/skills/xiaoai-bridge/agent",
    "manifestUrl": "https://openagent3.xyz/skills/xiaoai-bridge/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/xiaoai-bridge/agent.md"
  }
}