Control, organize, diagnose, design, personalize, and answer product knowledge questions for a Yeelight smart home, powered by the local yeelight-home runtime.
Install
# from npm (prebuilt)
dsh plugin --profile web add dsh-yeelight-smart-home
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:Yeelight/dsh-yeelight-smart-home
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README
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.
Links
More in this category
Tencent/WeKnora#dsh-weknora★ 34626
Four read-only tools over a WeKnora knowledge base: list knowledge bases, hybrid passage search, reassemble one document's chunks in order, and WeKnora's own cited RAG or ReAct-agent answer with a resumable session id.
superdesigndev/treg★ 5760
Tool catalog for agents: search ~2,600 external endpoints (SEO and SERP, backlinks, social, people and company enrichment, ad libraries, scraping) by the task you want done, read each one's parameters and per-call price, then call it with the credential injected server-side. Ships the skill plus an MCP row that stays disabled until TREG_TOKEN is set.
T-Auto/dsh-ops★ 3102
Provides bash, PowerShell 7, and high-performance Rust tools for DSH on Windows to reduce token usage.
TencentCloudBase/CloudBase-AI-Toolkit#dsh-plugin★ 1139
Tencent CloudBase backend for DeepSeek Harness — scaffold and deploy full-stack apps from chat, render query results as table cards with paging, sorting and CSV export, preview a deployment on its domain, and call the CloudBase MCP toolset (`mcp__cloudbase__*`) with device-code login.
sixtysevenlf/dsh-blender-plugin★ 599
Lets a DSH agent drive a local Blender over a direct TCP channel with 16 tools: viewport frames, custom-angle renders, Python execution, headless and job offload, transaction rollback, and a planning layer of 186 ops across 28 families.
anysearch-team/anysearch-dsh★ 537
AnySearch-powered real-time web and vertical search provider for DeepSeek Harness.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.