# Roborock Local Server：自托管替代 Roborock 扫地机云端

> 运行一套本地 HTTPS 与 MQTT 服务来替代 Roborock 云端，使受支持的扫地机在隔离网络中无需 root 或改装硬件即可保留实时地图与控制。维护者的技术说明回顾了早期的应用与流量分析，以及后来借助 Claude Code 和 Codex、在模拟固件环境中开展的调查。兼容性由项目及其用户按型号报告。

- 类型：案例
- 目标：协议
- 类别：独立重建案例
- 关联：独立重建项目
- 来源复核于：2026-10-19
- 收录于：2026-10-27
- 原始资源：<https://github.com/Python-roborock/local_roborock_server>
- 一手来源：<https://github.com/Python-roborock/local_roborock_server/blob/c3b32845c63a4bc9d1fc9dfb205b86a33ea06bf3/docs/technical_writeup.md>
- 目录页面：<https://awesomerea.org/zh/resources/roborock-local-server-cloud-case/>
- 记录 JSON：<https://awesomerea.org/resources/roborock-local-server-cloud-case/record.json>
- 英文版：[English](https://awesomerea.org/resources/roborock-local-server-cloud-case/index.md)

## 使用条件与局限

- 审阅版本为 1.2.1（提交 c3b3284），面向大多数采用 v2 协议的 Roborock 扫地机；README 排除了入门级 Q 系列，已测型号页面列出了确认可用的型号、尚未解决的失败案例及证书链说明。文档所列限制包括固件更新和定时任务；摄像头直播仅在两款型号上验证过，中国大陆版设备在境外会拒绝执行命令。
- 部署需要用户自有并可在本地改写 DNS 的域名、有效的 TLS 证书、局域网内运行 Docker Compose 或 Home Assistant 加载项的主机，以及一台用于一次性配网的带 Wi-Fi 的电脑。官方 Roborock 应用需先完成一次拦截登录步骤，安卓端还需打补丁的 APK；也可改用 Home Assistant 或开源的 LocalRock 应用。
- 需要 Python 3.11–3.13，依赖 FastAPI、aiohttp、cryptography 和 python-roborock 4.20.0；项目发布了容器镜像，CI 在构建前运行 pytest 测试。测试覆盖配网、协议认证、MQTT 代理、证书与场景。
- 技术说明称，在早期人工尝试受阻后，长时间运行的 Claude Code（Opus 4.6）与 Codex 会话借助维护者自己已 root 的 S7、其固件、python-roborock 及反编译后的应用，帮助找到了配网中剩余的关键一步。说明致谢了 Dennis Giese 的固件研究、Valetudo 及其他社区工作。
- 采用 MIT 许可并附“按现状提供”的免责声明；项目与 Roborock 无关联。这是兼容的服务器实现，并非恢复的 Roborock 服务端代码，厂商固件或应用的变化可能使其失效。

## 一手来源

1. <https://github.com/Python-roborock/local_roborock_server/blob/c3b32845c63a4bc9d1fc9dfb205b86a33ea06bf3/docs/technical_writeup.md>
2. <https://github.com/Python-roborock/local_roborock_server/blob/c3b32845c63a4bc9d1fc9dfb205b86a33ea06bf3/README.md>
3. <https://github.com/Python-roborock/local_roborock_server/blob/c3b32845c63a4bc9d1fc9dfb205b86a33ea06bf3/docs/known_limitations.md>
4. <https://github.com/Python-roborock/local_roborock_server/blob/c3b32845c63a4bc9d1fc9dfb205b86a33ea06bf3/docs/tested_vacuums.md>
5. <https://github.com/Python-roborock/local_roborock_server/blob/c3b32845c63a4bc9d1fc9dfb205b86a33ea06bf3/docs/roborock_app.md>
6. <https://github.com/Python-roborock/local_roborock_server/blob/c3b32845c63a4bc9d1fc9dfb205b86a33ea06bf3/pyproject.toml>
7. <https://github.com/Python-roborock/local_roborock_server/blob/c3b32845c63a4bc9d1fc9dfb205b86a33ea06bf3/.github/workflows/docker-release.yml>
8. <https://github.com/Python-roborock/local_roborock_server/blob/c3b32845c63a4bc9d1fc9dfb205b86a33ea06bf3/LICENSE>

## 同分区更多条目：协议

- [pypush：Apple 推送协议的 Python 客户端](https://awesomerea.org/zh/resources/pypush-apns-protocol-case/index.md) · 案例
- [PixMob 红外逆向工程：在家控制活动手环](https://awesomerea.org/zh/resources/pixmob-ir-protocol-case/index.md) · 案例
- [OpenDrop：Apple AirDrop 的开源重新实现](https://awesomerea.org/zh/resources/opendrop-airdrop-reimplementation-case/index.md) · 案例
- [bluefluff：逆向分析 Furby Connect 的蓝牙低功耗协议](https://awesomerea.org/zh/resources/bluefluff-furby-connect-ble-case/index.md) · 案例
- [pyatv：逆向工程实现的 Apple TV 与 AirPlay 协议客户端](https://awesomerea.org/zh/resources/pyatv-apple-tv-airplay-protocols-case/index.md) · 案例
- [BudsPro-Headtracking：通过 Samsung 串口协议获取 Galaxy Buds Pro 头部追踪数据](https://awesomerea.org/zh/resources/budspro-headtracking-case/index.md) · 案例

## 关于此条目

说明已依据一手来源复核。
原创说明采用 MIT 许可；外部项目、论文与素材保留各自的权利和许可。
