dsh-mihome
Manifest valid★ 3Mi Home (Mi Jia) control for DeepSeek Harness agents — list homes/devices, read props, control devices behind a human approval gate.
dsh-mihome
Mi Home (米家) control for DeepSeek Harness agents.
List homes/devices · read props · control devices — every state-changing call stops behind a human approval gate.
中文 ·
·
Features
mi_health— connection check (account, region, home/device counts)mi_list_homes— homes and roomsmi_list_devices— devices with category/online status, filterablemi_get_state— one device's common props (power, brightness, temperature, humidity, …)mi_turn—set_poweron/off (approval-gated)mi_control— anymiIO/raw_command(set_bright, set_properties/MIoT, …) (approval-gated)mi_wait_for_state— poll a property until it reaches/leaves a statemi_dashboard— full-home snapshot rendered as a live dashboard card in the Web UI (grouped by category, rooms, recent changes)
All state-changing calls go through the harness approval seam (requireApproval defaults to true) plus an optional category allowlist (allowedCategories). When the category cannot be resolved, the call is denied (least privilege).
Install
Requires dsh ≥ 0.1.0-rc.7 (verified against 0.1.1-rc.2).
dsh plugin --profile web add dsh-mihome # from npm (recommended)
# or: dsh plugin --profile web add github:<owner>/dsh-mihome
Restart dsh --profile web afterwards. Manage it in Settings → Plugins.
No Xiaomi account? Demo mode
git clone https://github.com/<owner>/dsh-mihome
cd dsh-mihome && pnpm install && pnpm demo:mi # fake Mi Home Cloud on http://127.0.0.1:8125
- id: mihome
config:
mode: demo
baseUrl: http://127.0.0.1:8125
Then in DSH: "check Mi Home and list all devices", "turn the bedroom light to 60 brightness" (an approval popup appears; after approving, mi_get_state confirms brightness: 60). Open docs/demo.html to see the full UI without starting dsh at all — simulation chat, approval dialog and a live console connected to the emulator.
Paste-ready configs (demo / real cloud / no approval) are in examples/cordis.patch.yml.
Real Mi Home (cloud)
MIHOME_USERNAME=<mi-account> MIHOME_PASSWORD=<mi-password> dsh --profile web
- id: mihome
config:
mode: cloud
region: cn # cn / de / ru / us / tw / sg / in …
usernameEnv: MIHOME_USERNAME
passwordEnv: MIHOME_PASSWORD
requireApproval: true
allowedCategories: [light, outlet, climate] # optional allowlist
Credentials resolve through the harness credentials seam on every request (process env → .env fallback), so rotating them takes effect on the next call.
How it connects
The cloud adapter implements the community-documented Xiaomi Mi Home app API:
- Login via
account.xiaomi.com/pass/serviceLogin→serviceLoginAuth2(sid=xiaomiio,md5(password)uppercased) → STS redirect setsserviceToken/ssecurity. - Calls to
https://api.io.mi.com/app/<method>with nonce/signed-nonce (sha256(ssecurity + nonce)), RC4-encrypted params + sha1 signature forv2/*, and hmac-sha256 signature formiIO/raw_command.
This is a non-official protocol (see Xiaomi-cloud-tokens-extractor / python-miio for the community-proven flow) and may change if Xiaomi updates the app. Accounts requiring captcha/2FA at login are reported with a clear error instead of an obscure failure.
Development
pnpm install
pnpm typecheck && pnpm build && pnpm test # signatures/crypto + demo-server e2e
Zero runtime dependencies on the host side: Node built-in crypto/fetch only.
License
MIT
Compatibility
Versions
| Latest version | Published | Size |
|---|---|---|
| 0.1.0 | — | — |
| 0.1.1 | — | — |
| 0.1.2 | — | — |
| 0.1.3 | — | — |
Comments
Loading…
Similar plugins
by YLifeOnlyOnce
Home Assistant control for DeepSeek Harness agents — approval-gated lights, switches, climate. 给 DeepSeek Harness agent 的 Home Assistant 控制插件,一键接入智能家居,一键接入智能生活。
★ 6
↓ 26/wk
MIT
TypeScript
Aug 19, 2026
dsh plugin --profile web add dsh-smarthomeby omdsh-plugins
Remote control for the DeepSeek Harness: a second front door on its own port, behind device pairing and a tiered method allowlist, so a phone on your tailnet can watch a session, approve what it asks
★ 0
MIT
TypeScript
Sep 3, 2026
dsh plugin --profile web add @omdsh-plugins/omdsh-remctrlby aa2246740
Codex-aligned Auto-review and Approve for me mode for DeepSeek Harness
★ 0
MIT
TypeScript
Oct 17, 2026
dsh plugin --profile web add dsh-approve-for-meby bailinghub
Let a local DeepSeek Harness Agent use BailingHub to query data, update records, and run permitted actions in an online store, SaaS, or other admin system.
★ 2
↓ 305/wk
MIT
JavaScript
Oct 22, 2026
dsh plugin --profile web add dsh-bailinghubby StyxNether
Auto-Approval: a middle permission tier for DeepSeek Harness between workspace-write and danger-full-access, auto-approving harmless commands and trusted-area targets
★ 4
↓ 35/wk
MIT
JavaScript
Sep 6, 2026
dsh plugin --profile web add dsh-auto-approval-pluginManage MCP servers and skills in DeepSeek Harness, and control which tools enter the next prompt.
★ 2
MIT
JavaScript
dsh plugin --profile web add @jidekaixin2dian/dsh-toolgate