github XiaoMi/xiaomi-miloco v2026.7.17

4 hours ago

miloco v2026.7.17

Since v2026.7.3: 117 commits, 43 PRs, 321 files changed (+35,996 / −3,526).

🎯 New Features

  • Hermes Agent compatibility layer (@n0tssss): establishes the plugins/<runtime>/ convention so miloco can host pluggable agent runtimes.
  • Dual-camera multi-channel dual-stream perception (@Ada-xia): each channel of a multi-lens camera is promoted to an independent first-class camera, with its own dual-stream perception per channel.
  • Omni provider adapter + multi-model support (@Molly-3000): a protocol adapter layer lets omni target multiple model providers, selectable from a new settings UI; adds a native Gemini adapter with media_resolution control and thinking-mode off.
  • Runtime omni_fps hot-reload (@Molly-3000): change perception FPS live without rebuilding the engine, reloading models, or losing tracks; window_size-only changes also skip model reload.
  • Tasks promoted to a dedicated tab (@idootop): full task CRUD, a detail drawer, description editing, and an agent-guidance dialog, backed by new task-detail / description-edit APIs.
  • Auto-managed scheduled-tasks toggle (@idootop): opt in/out of miloco's scheduler from both CLI and Web, backed by a shared scheduler.enabled config contract and an admin scheduler-config endpoint.
  • Multiple IM notification channels for OpenClaw (@gao19970120): fan notifications out across several IM channels.
  • Per-camera microphone toggle (@LeonJoeeee): hard mic-off semantics, per camera.
  • Camera availability as tri-state metrics (@Ada-xia): availability split into three explicit states, with in_use = the active set.

🧠 Perception / Omni Stability

  • omni "can't recognize a registered member" fixed: registration now writes the real name into meta.json, and orphan / storage-path drift is made observable to help diagnose the "no registered members" symptom (@ExWang).
  • When the identity gallery is empty, member matching is skipped and repeat recognition is slowed to save pointless omni spend (@ExWang).
  • The perception "rest" toggle now persists across restart / re-auth instead of silently resetting (@ExWang).
  • omni circuit breaker (@Zirconi); persistent event loop + async ONNX inference, fixing a thread leak (@HCl8).
  • Perception logs narrowed to the cameras that actually triggered the event (@Molly-3000).

📷 Camera

  • Unperceived devices gain a manual-refresh action, a reason bubble when a toggle can't be enabled, and the room label moved next to the device name (@ExWang).
  • Manual-refresh spinner fixes: it reflects only the current refresh (no longer borrowed by other list reloads), persists until the list actually updates, and its reason is announced to screen-reader / keyboard focus (@ExWang).

⚙️ Improvements: CLI / Install / Web / Version

  • Device spec output grouped by service and annotated with each service's description (@HCl8).
  • CLI treats only negative MIoT result codes as device-control failure; positive codes no longer misreport (@LeonJoeeee).
  • Install: perception-model extraction moved earlier, and missing / corrupt models now hard-fail instead of degrading silently (@Zirconi); proxy-environment install failure fixed (@zivyuan).
  • Schedule migration (@Zirconi).
  • CoreML temp-model-file leak fixed — unbounded $TMPDIR growth replaced with a bounded reuse cache (@ExWang).
  • Version numbers unified across all modules — front/back-end share one source, real base + retained commit (@yangbaofu007).
  • Timezone: added to the config-set whitelist with a UTC-deploy warning; all agent-visible times anchored to the home deploy timezone (@LeonJoeeee).
  • Stale queued messages expire by TTL before sending; today's perception log injected into agent context; miloco agent sessions reset on home switch (@idootop).

🔒 CI / Supply Chain

  • OpenGrep install avoids GitHub API anonymous rate limiting, dedups the install step, and asserts architecture (@ExWang).

📚 Docs

  • Knowledge base realigned with post-2.0-open-source code and converged to spec (@hlccd).
  • Perceive-logs usage and auth info corrected in the user guide (@feng183043996); timezone configuration chapter added, host-timezone-first (@LeonJoeeee); README header consolidated into a centered div with line-folded badges (@idootop).

🙏 Acknowledgements

Special thanks to @n0tssss for landing the Hermes Agent compatibility layer — the biggest change in this release.

Thanks as well to everyone else who contributed: @Ada-xia, @Molly-3000, @idootop, @LeonJoeeee, @ExWang, @HCl8, @Zirconi, @gao19970120, @yangbaofu007, @zivyuan, @hlccd, @feng183043996

Don't miss a new xiaomi-miloco release

NewReleases is sending notifications on new releases.