Skip to main content

Roborock 扫地机 CLI 控制工具

Project description

roborock-cli

Roborock 扫地机 CLI 控制工具,也可作为 MCP 服务器使用。

功能

提供 15 个 CLI 命令,支持多设备(通过设备名称模糊匹配选择目标设备)。

查询命令(5 个)

命令 说明
roborock-cli devices 列出所有设备(名称、型号、DUID、固件版本)
roborock-cli status 设备精简状态(电量、清洁进度、耗材、房间列表等)
roborock-cli map 获取地图元数据和图片
roborock-cli routines 列出智能场景
roborock-cli auth 交互式认证(需要 TTY)

控制命令(10 个)

命令 说明
roborock-cli start-clean 开始清洁(全屋或指定房间)
roborock-cli stop-clean 停止清洁
roborock-cli pause-clean 暂停清洁
roborock-cli resume-clean 恢复清洁
roborock-cli go-home 回充电座
roborock-cli find-robot 寻找机器人(发出声音)
roborock-cli dock-action 基座操作(集尘/洗拖布)
roborock-cli set-volume 设置音量(0-100)
roborock-cli set-dnd 设置勿扰模式
roborock-cli execute-routine 执行智能场景

安装使用

前置:安装 uv

本项目通过 uvx 运行,需要先安装 uv

macOS / Linux

curl -LsSf https://astral.sh/uv/install.sh | sh

Windows

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

安装后终端输入 uvx --version 验证。

通过 uvx(推荐)

1. 首次认证

uvx roborock-cli auth

按提示输入 Roborock 账户邮箱和验证码,认证信息保存在 ~/.cache/roborock-cli/

2. 使用 CLI

# 列出设备
uvx roborock-cli devices

# 查看状态
uvx roborock-cli status

# 开始全屋清洁
uvx roborock-cli start-clean

# 开始房间清洁(房间 ID 通过 status 命令获取)
uvx roborock-cli start-clean -s 1 2 3

# 回充电座
uvx roborock-cli go-home

3. 更新版本

uvx --upgrade roborock-cli -V

作为 MCP 服务器使用

roborock-cli 也可以作为 MCP 服务器运行,供 Claude Desktop/Code 等客户端使用:

roborock-cli mcp

配置 Claude Code

在项目目录创建 .mcp.json

{
  "mcpServers": {
    "roborock": {
      "command": "uvx",
      "args": ["roborock-cli@latest", "mcp"]
    }
  }
}

开发模式

# 需要先 clone python-roborock 到 ./python-roborock/
uv venv --python 3.12
source .venv/bin/activate
uv pip install -e .

roborock-cli --help          # CLI 帮助
roborock-cli auth            # 认证
roborock-cli mcp             # 启动 MCP server

输出格式

CLI 命令默认输出 JSON 格式,便于程序解析:

{
  "count": 2,
  "devices": [
    {"name": "客厅扫地机", "duid": "abc123", "model": "roborock.vacuum.a75", "firmware": "02.00.01"},
    {"name": "卧室扫地机", "duid": "def456", "model": "roborock.vacuum.s8", "firmware": "02.00.02"}
  ]
}

错误退出码

退出码 含义
0 成功
1 通用业务错误
2 认证错误(需重新运行 roborock-cli auth
3 设备错误
4 参数无效
5 内部错误

要求

  • Python >= 3.12
  • Roborock 账户(国际版,邮箱注册)

许可证

GPL-3.0-only(由于 vendoring 了 python-roborock

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

roborock_cli-0.1.3.tar.gz (148.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

roborock_cli-0.1.3-py3-none-any.whl (197.0 kB view details)

Uploaded Python 3

File details

Details for the file roborock_cli-0.1.3.tar.gz.

File metadata

  • Download URL: roborock_cli-0.1.3.tar.gz
  • Upload date:
  • Size: 148.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.11

File hashes

Hashes for roborock_cli-0.1.3.tar.gz
Algorithm Hash digest
SHA256 76a86f8795f6146796f9492014857d3773ecad2467d62d72d9e39ed57e5a591f
MD5 e02dae4b450ce0038a0f02b320854512
BLAKE2b-256 39f9a1e369585e132220fab15d798a7fc9bf7b559fb3a9e02fadbf4c384a5b63

See more details on using hashes here.

File details

Details for the file roborock_cli-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: roborock_cli-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 197.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.11

File hashes

Hashes for roborock_cli-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 809a55f808cac62fc96c391034f1dace32e4d8d44a1e161aae172cb44b02a341
MD5 ba58861e2c2864f13dd9ba0c41296598
BLAKE2b-256 5ccbab5cb9ca6f9b352a1a7943e3ed20e04bf9ca77f3a216241fc41c0c33d5a6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page