帮助用户完成 SmartPi 插件安装检查、设备扫码绑定、设备列表查看、设备删除,以及 9002 / 连接失败等常见问题排查。
description 必须直接覆盖用户常见说法,例如 SmartPi 绑定、二维码、9002、连接失败、查看设备、删除设备。openclaw 命令、Gateway 配置和日志,不假设外部服务可用。当用户提出以下请求时使用本 Skill:
9002、 AI response timeout、语音请求无响应或超时。openclaw-smartpi、检查插件是否启用、修复 channels.openclaw-smartpi。openclaw-smartpi 插件无关。用户意图首选流程主要成功判定绑定/添加 SmartPi流程:绑定设备日志出现 WebSocket connected: <deviceKey>查看/列出设备流程:查看设备accounts list 返回设备列表查询设备连接状态流程:查询设备连接状态accounts status 返回设备在线/离线状态删除设备流程:删除设备删除命令成功且列表不再包含该设备安装/启用插件流程:首次安装或修复插件plugins list 显示 openclaw-smartpi: enabled9002/超时流程:9002 排查定位为连接、路由或 AI 响应链路问题
在执行会改变状态的动作前,先确认用户意图是否明确。
openclaw --helpopenclaw plugins listopenclaw smartpi accounts list生成 SmartPi 绑定二维码,让用户扫码绑定,并确认设备通过 WebSocket 上线。
bash
openclaw smartpi accounts bind
绑定ID: 后的 bindingId。bindingId 生成 smartpi_qr.png。请用微信扫一扫,绑定成功后我会继续确认设备连接状态。WebSocket connected: <deviceKey>。设备已连接,可以对着 SmartPi 说话了。优先使用当前环境已经安装的二维码工具,不要为了生成二维码自动安装依赖。
Python:
python
import qrcode
binding_id = "REPLACE_WITH_ACTUAL_BINDING_ID"
qrcode.make(binding_id).save("smartpi_qr.png")
Node.js:
bash
node -e "const id=process.argv[1]; require('qrcode').toFile('smartpi_qr.png',id,{type:'png'},e=>e&&console.error(e))" "REPLACE_WITH_ACTUAL_BINDING_ID"
WebSocket connected: <deviceKey>。openclaw smartpi accounts list 能看到新设备。bindingId:反馈绑定命令输出异常,并展示关键输出让用户确认。bash
openclaw smartpi accounts list
deviceKey、在线状态或命令输出中的关键字段。通过设备号查询指定设备的在线/离线连接状态。
openclaw smartpi accounts list 列出所有设备供用户选择。bash
openclaw smartpi accounts status <device_number>
accounts list 确认。bash
openclaw smartpi accounts list
deviceKey。bash
openclaw smartpi accounts remove <deviceKey>
accounts list 验证设备已删除。deviceKey,必须先列出设备并让用户选择。安装并启用 openclaw-smartpi 插件,确保 Gateway 能加载 SmartPi channel。
bash
openclaw plugins list
bash
openclaw plugins install openclaw-smartpi
plugins.allow 和 channels 内容,只追加 openclaw-smartpi 所需项。bash
openclaw gateway restart
plugins list 和日志。openclaw plugins list 显示 openclaw-smartpi: enabled。channels.openclaw-smartpi。cannot resolve agentId。openclaw plugins listopenclaw smartpi accounts listWebSocket connectedWebSocket disconnectedcannot resolve agentId,检查 channels.openclaw-smartpi。9002 表示 AI 未在限定时间内回复。不要直接假设是设备坏了,应按链路排查。
openclaw plugins list,确认 openclaw-smartpi: enabled。openclaw smartpi accounts list,确认存在设备。WebSocket connected,确认设备在线。cannot resolve agentId,确认 channels.openclaw-smartpi 存在。AI response timeout,判断是否由模型慢、MCP 阻塞或工具调用卡住导致。cannot resolve agentId:修复 channels.openclaw-smartpi。plugins.allow 是整体替换#config.patch 对数组是整体替换,不是追加。修改前必须先读取当前完整配置,构造包含原有插件和 openclaw-smartpi 的完整数组后再 patch。
channels 是整体替换#不要只 patch channels.openclaw-smartpi。这可能覆盖掉已有 channel,例如 discord、 telegram。必须保留所有已有 channels,再追加 openclaw-smartpi。
channel.id 必须匹配#插件内部 channel.id = "openclaw-smartpi",配置中必须是 channels.openclaw-smartpi,一字不差。否则消息无法路由,常见日志为 cannot resolve agentId。
json
{
"channels": {
"openclaw-smartpi": {
"enabled": true,
"defaultAgentId": "main"
}
}
}
命令用途风险openclaw --help检查 CLI 是否可用只读openclaw plugins list确认插件状态只读openclaw smartpi accounts list查看已绑定设备只读openclaw smartpi accounts status <device_number>查询指定设备连接状态只读openclaw smartpi accounts bind扫码绑定新设备创建绑定openclaw smartpi accounts remove <deviceKey>删除设备并解绑高风险openclaw plugins install openclaw-smartpi安装插件修改环境openclaw gateway restart重启 Gateway中断服务
关键字含义下一步WebSocket connected设备已上线验证设备列表和语音交互WebSocket disconnected设备断开检查网络、设备状态、绑定状态cannot resolve agentId缺少或错误配置 channels.openclaw-smartpi修复 channels 配置AI response timeoutAI 响应超时,可能导致 9002排查模型、MCP、Tools 响应链路
每次使用本 Skill 后,最终回复必须包含:
当用户出现以下描述时,自动进入设备无响应排查流程:
用户意图首选流程主要成功判定设备没反应流程:设备无响应排查定位到绑定、连接、路由或 AI 问题
当用户反馈设备没有任何响应时,快速判断问题位于:
不要直接假设设备损坏。
执行:
bash
openclaw smartpi accounts list
判定:
输出要求:
text
当前未发现已绑定的 SmartPi 设备,请先完成设备绑定。
查看 Gateway 日志。
重点查找:
text
WebSocket connected
或:
text
WebSocket connected: <deviceKey>
判定:
输出要求:
text
设备已绑定,但尚未连接到 Gateway,请检查网络连接或重新扫码绑定。
查看日志:
text
WebSocket disconnected
判定:
输出要求:
text
设备曾成功连接,但后续发生断线,请检查设备网络状态。
查看日志:
text
cannot resolve agentId
判定:
输出要求:
text
Gateway 无法找到目标 Agent,请检查 channels.openclaw-smartpi 配置。
查看日志:
text
AI response timeout
或者执行一次普通文本请求验证。
判定:
输出要求:
text
设备连接正常,但 AI 响应超时,请优先检查模型、MCP 或 Tool 响应情况。
现象结论accounts list 为空未绑定设备无 WebSocket connected未建立连接出现 WebSocket disconnected连接后断开cannot resolve agentId路由配置异常AI response timeoutAI 响应超时以上均正常检查设备侧日志
每次排查结束后必须返回:
当前状态:
证据来源:
下一步: