小度控制
v1.0.8当用户要连接、验证、排障或控制小度智能屏 MCP 与小度 IoT MCP 时使用,包括配置 mcporter、列设备、文本播报、语音指令、拍照、资源推送,以及灯光/空调/风扇/窗帘/电视机顶盒/投影/扫地机/门锁等 IoT 控制与场景触发。
xiaodu-control
使用这套 skill 处理所有小度 MCP 相关任务。优先使用 mcporter 和本 skill 自带脚本,不要临时拼接命令,也不要把请求路由到错误的 server。
使用前确认
- 这套 skill 依赖
mcporter、python3、bash和npx。 - 这套 skill 需要一个已经可用的小度 MCP 平台
ACCESS_TOKEN。 - 默认读取
~/.mcporter/mcporter.json,并假设其中已经配置好了xiaodu和xiaodu-iot。 - 这套公开 skill 不负责 token 刷新,也不负责维护 OAuth 凭据文件;token 生命周期应由平台侧或部署方在 skill 之外处理。
快速规则
- 把
xiaodu和xiaodu-iot当作两个独立 server;它们通常共用同一个小度 MCP 平台ACCESS_TOKEN。 - 不要猜测 MCP URL。优先使用平台给出的真实地址;智能屏常见地址是
https://xiaodu.baidu.com/dueros_mcp_server/mcp/。 - 只要本 skill 已经提供了脚本封装,就优先用脚本,不要直接跳到底层 MCP 工具。
- 智能屏操作先解析设备,再执行真实调用。
- 灯、空调、窗帘、电视、插座、风扇等家电控制,优先走
xiaodu-iot,不要走control_xiaodu。 control_xiaodu只用于智能屏语音助手类请求,例如播放音乐、暂停、天气、新闻。- 排障时,用
mcporter list ... --schema和 directmcporter call对照 skill 行为。 - 不要把密钥写进 workspace 文件或聊天记录;优先写入
mcporter配置或 auth 存储。 - 执行控制前,先看 references/capability-boundaries.md;其中定义了“稳定支持”“条件支持”和“明确不支持”的能力边界。
音像与 IoT 能力速览
- 稳定支持:
- 智能屏:播报、语音指令、拍照、推送图片/视频/音频。
- IoT 基础控制:开/关、查询状态、设置温度/亮度/色温/颜色/风速/风向/档位、触发场景。
- 条件支持(依赖设备实际 schema 和属性名):
- 电视/机顶盒/投影/音箱:频道、音量、静音、信号源、模式、投屏相关操作。
- 扫地机/吸尘器:吸力、水量、区域清扫、回充、暂停/继续。
- 门锁/插座/热水器/净化器/加湿器等:定时、模式、档位与状态查询。
- 明确边界:
- 若
xiaodu-iot设备列表里没有目标设备,不执行控制。 - 若 schema 没有对应属性或动作,不脑补参数,先告知用户不支持。
- 打印、乘梯、车控、非智能家居类请求默认不在本 skill 范围内,除非设备列表中确实存在对应可控设备。
- 若
标准流程
- 先确认前提:
- 已安装
mcporter - 已拿到平台
ACCESS_TOKEN
- 已安装
- 先探测,再持久化配置:
- 智能屏:
bash scripts/probe_xiaodu.sh --url "https://real-xiaodu-mcp-url" --name xiaodu - IoT:
mcporter list --stdio npx --stdio-arg -y --stdio-arg dueros-iot-mcp --env ACCESS_TOKEN=... --name xiaodu-iot --schema
- 智能屏:
- 持久化后先读 schema:
mcporter list xiaodu --schemamcporter list xiaodu-iot --schema
- 操作前先拿设备信息:
- 智能屏:
bash scripts/list_devices.sh - IoT:
bash scripts/list_iot_devices.sh
- 智能屏:
- 执行控制;如果结果异常,再回退 direct
mcporter call
操作选择
智能屏
- 列设备:
bash scripts/list_devices.sh - 文本播报:
bash scripts/speak.sh - 语音指令:
bash scripts/control_xiaodu.sh - 拍照:
bash scripts/take_photo.sh - 推送图片/视频/音频:
bash scripts/push_resource.sh
IoT
- 查设备状态:
bash scripts/list_iot_devices.sh - 控制家电:
bash scripts/control_iot.sh - 查场景:
bash scripts/list_scenes.sh - 触发场景:
bash scripts/trigger_scene.sh
关键路由规则
- 智能屏侧除
list_user_devices外,通常都要求cuid和client_id;如果用户只给设备名,先解析设备。 IOT_CONTROL_DEVICES的applianceName是必填字段,不能只传房间不传设备名。- 若用户只说“关灯 / 开空调 / 调亮度 / 调温度”,默认按 IoT 控制理解。
- 若用户只说“播报一句话 / 拍张照 / 播放音乐”,默认按智能屏理解。
- 负向测试和参数校验优先走脚本,确保返回本地校验错误。
- 只有这几类情况可以直接用原始
mcporter call:- 读取 schema
- 用户明确要求 direct CLI
- 本 skill 没有对应脚本
- 做兜底验证,证明问题在 skill 层还是在 MCP 本身
自带脚本
发布到 ClawHub 后,脚本文件默认按普通文本落盘,不保证保留可执行位。命令示例里优先使用 bash scripts/*.sh 和 python3 scripts/*.py,不要假设可以直接 ./scripts/foo.sh。
scripts/probe_xiaodu.sh- 对真实 MCP URL 做快速连通性检查。
scripts/list_devices.sh- 直接调用
list_user_devices并输出 JSON。
- 直接调用
scripts/refresh_devices.sh- 拉取智能屏和 IoT 设备快照,输出 JSON 和 Markdown 摘要。
scripts/device_resolver.py- 按设备名解析
cuid和client_id,供其他脚本复用。
- 按设备名解析
scripts/speak.sh- 封装
xiaodu_speak,用于单次文本播报。
- 封装
scripts/control_xiaodu.sh- 封装
control_xiaodu,用于发送语音指令。
- 封装
scripts/push_resource.sh- 封装
push_resource_to_xiaodu,支持图片、图片+背景音、视频、音频。
- 封装
scripts/take_photo.sh- 封装
xiaodu_take_photo,用于指定设备拍照。
- 封装
scripts/control_iot.sh- 封装
IOT_CONTROL_DEVICES,用于按房间或设备名控制。
- 封装
scripts/list_iot_devices.sh- 封装
GET_ALL_DEVICES_WITH_STATUS,用于读取 IoT 设备和状态。
- 封装
scripts/list_scenes.sh- 封装
GET_ALL_SCENES,用于读取可用场景。
- 封装
scripts/trigger_scene.sh- 封装
TRIGGER_SCENES,用于触发指定场景。
- 封装
按需阅读引用文档
- 安装、鉴权、
mcporter配置:读 references/install-for-users.md。 - 直接给用户模板:读 references/mcporter.template.json。
- 能力分类与边界:读 references/capability-boundaries.md。
- 精确 CLI 示例:读 references/command-patterns.md。
- 中文聊天模板:读 references/prompt-templates.md。
- 功能验证:读 references/test-cases.md。
- 排障:读 references/troubleshooting.md。
Version tags
latest
Runtime requirements
📺 Clawdis
Binsmcporter, python3, bash, npx
EnvACCESS_TOKEN
