dsh-yeelight-smart-home
Control, organize, diagnose, design and personalize your Yeelight smart home — right inside DeepSeek Harness.
What it does
dsh-yeelight-smart-home turns DeepSeek Harness into a full Yeelight smart-home agent. It is powered by the local yeelight-home Skill Runtime, so every request goes through the official runtime — no API keys, no cloud proxy, no home assistant required.
The model can control devices, query state, run scenes and automations, design lighting, keep preferences, and answer product questions — while you get a dedicated settings page in DSH to manage the runtime, authentication and configuration.
Features
| 🤖 Three model-facing tools | yeelight_home — one-call Skill Runtime invocation · yeelight_reference — routing docs, catalogs & schemas on demand · yeelight_product_select — offline lighting-design product picks |
| 🧠 In-memory skill | Full adapted routing rule set (absolute rules, workflow, domain references) — works in any DSH profile |
| ⚙️ Dedicated settings page | A top-level section in DSH Settings (not a buried card): runtime status, config, authentication and logs at a glance |
| 🚀 One-click runtime install | Missing yeelight-home? Pick Homebrew / npm / GitHub Release right from the settings page — the plugin installs and verifies it for you |
| 📋 Invoke log | Bounded, auto-trimmed JSONL history with per-entry detail |
| 🗂️ Persistent config | Stored at $DSH_HOME/plugins/dsh-yeelight-smart-home/config.json |
Quick start
1. Install the plugin
Requires Node.js ≥ 22.13 and DeepSeek Harness ≥ 0.1.1.
# From npm (recommended)
dsh plugin --profile web add dsh-yeelight-smart-home
# …or from source
git clone https://github.com/Yeelight/dsh-yeelight-smart-home.git
cd dsh-yeelight-smart-home
npm install && npm run build
Restart dsh web, then open Settings → Yeelight 智能家居.
2. Install the runtime (one click)
Open the plugin's settings page. If yeelight-home is missing, it shows the install channels available on your machine — click one and the plugin installs and verifies the binary for you, no terminal needed.
Prefer the terminal?
npm install -g yeelight-home # npm
brew install yeelight/yeelight-home/yeelight-home # Homebrew (macOS)
3. Authenticate
yeelight-home auth login --qr
…or copy the command from the settings page and scan the QR code in your terminal.
4. Start talking to your home
Once installed, the tools activate automatically on the next profile boot:
- Control — on/off, brightness, color temperature, color
- Query — device status, home summary, entity list
- Scenes & automations — list, activate, create, modify
- Diagnose — gateway, device, scene and automation diagnostics
- Lighting design — full-home design plan, product selection and import
- Personalize — memory (remember/recall), recommendations, operation lessons
- Reference — routing guides, product catalogs, schemas, examples
The settings page
The plugin registers its own top-level settings section (Settings → Yeelight 智能家居), alongside 通用设置, 模型, 插件, etc.:
- Status banner — connection state, version, binary path, auth state, region
- Authentication — logged-in state with token source; QR login guide when signed out
- Configuration — runtime path, region & language dropdowns, house ID, profile, request timeout, log retention, and UI toggles
- Runtime install — one-click channel install with live progress when the runtime is missing
- Invocation logs — recent history, refreshed live
Configuration
All keys are editable from the settings page. Config persists at $DSH_HOME/plugins/dsh-yeelight-smart-home/config.json.
| Key | Default | Description |
|---|---|---|
binPath |
"" (auto-detect) |
Absolute path to the yeelight-home executable |
region |
"" |
Region override (cn, us, eu, sg, in, ru, …) |
houseId |
"" |
Default house ID (--house-id) |
profile |
"" |
Runtime profile (--profile) |
locale |
zh-CN |
Request locale (zh-CN, en-US, zh-TW, ja-JP) |
dryRunDefault |
false |
Preview effects without applying them until resent with dry-run off |
requestTimeoutMs |
120000 |
Per-request timeout in milliseconds |
logRetention |
500 |
Maximum retained invoke-log entries |
logEnabled |
true |
Master switch for the invoke log |
uiStatusEnabled |
true |
Show the status banner |
uiLogsEnabled |
true |
Show the invocation-log section |
uiQuickInvokeEnabled |
true |
Show the quick-invoke box |
Development
npm install
npm run build # host bundle → lib/ · browser bundle → lib/client.js
npm run typecheck # TypeScript check
npm test # vitest suite
npm run check # all of the above
Layout: host face in src/ (tools, skill, web routes), browser face in src/client/bundle.js (the settings page), skill data in data/.
Documentation
- SKILL.md — the skill instructions DSH-adapted from upstream (SKILL.upstream.md)
- references/ — routing documents, domain rules, payload guides
- assets/ — intent catalog, schemas, lighting-design examples, product catalogs
- CHANGELOG.md — release history
License
Apache-2.0 — see LICENSE and NOTICE.
This plugin is a derivative of the yeelight-smart-home reference skill, copyright Yeelight, used under Apache-2.0.
No comments yet. Be the first to write one.