前言¶
在 DSH 里做智能家居相关的智能体,常见做法是自行拉起 MCP 服务、手写 profile 里的端口与工具桥接,还要自己处理二进制下载、升级和进程守护。飞阳网关(FeyaGate)本身提供面向多平台的 MCP 能力,但「本机后台服务 + DSH 对话工具」之间的衔接仍需要一层托管逻辑。
下面介绍 npm 包 dsh-feyagate(仓库 toddpan/dsh-feyagate):由维护者 toddpan 发布,分类为工作流,在 DSH 宿主进程内安装插件、下载并校验闭源后台服务 miloco-mcp-server,再通过 MCP 门面把约 76 个工具(数量出自上游 FeyaGate_MCP_API.md §4)接进对话。插件本体 MIT 开源;智能家居逻辑在运行时按清单从权利人渠道下载的二进制中,不随 npm 包分发。
这是什么¶
一句话:FeyaGate 的 DSH 插件——在 DSH 里托管本机后台服务 miloco-mcp-server(自动下载 → 校验 → 安装 → 守护 → 升级 → 失败回滚),把其 MCP 工具接进 DSH,并在设置面板提供「服务 / 平台登录 / 账号 / 授权 / 设置 / 日志 / 开放接口」等管理界面。
用词与 README 一致:平台账号说「登录」,许可证说「授权」;本机进程叫「后台服务」;「飞阳网关」是产品名与设置入口名。界面里引擎展示名为「FeyaGate MCP 引擎」,miloco-mcp-server 为实现细节。
当前 npm 版本为 0.3.6(资料截断处 package.json 与 README 一致)。SkillHub 目录页:https://www.skillhub.cn/plugins/toddpan/dsh-feyagate。
架构要点¶
DSH 宿主内,浏览器侧设置页「飞阳网关」通过同源 HTTP 调用插件 Host 侧的 /dsh-feyagate/* 管理 API,负责安装、校验、守护与生成 config.yaml。@deepseek-ai/dsh-mcp-client 以 serverName: feyagate 连到本机 MCP 门面(默认相关端口写入 state.json,子进程真实 HTTP 默认 127.0.0.1:38080,占用时可在范围内漂移);门面就绪后代理对后台服务的工具调用。模型在对话里看到的工具名形如 mcp__feyagate__*(原始名含 / 时会做规范化,以运行时 tools/list 为准)。
三条实现细节 worth 知道:
- 桥连的是插件常驻门面,不是直接绑死子进程。子进程未安装时门面仍可秒回
initialize(空工具表),因此可以先启 DSH 再装服务;工具列表变更通过tools/list_changed最终一致送达,一般无需为此重启 DSH。 - 安装根目录不可随意迁移。
config.yaml位于安装根目录,设备身份与许可证锚定该目录(见仓库 ADR-0002)。 - 数据落盘在
~/.dsh/dsh-feyagate/(README 架构说明)。
后台服务经 HTTPS / P2P / MQTT 等对接小米云、涂鸦云、美的云、易微联、华为云、Home Assistant 等;局域网侧可涉及米家摄像头、小爱音箱等设备(以实际登录平台与构建能力为准)。
核心功能¶
以下均来自 README 已核实描述(截断前 MVP 与近期版本说明):
| 能力 | 说明 |
|---|---|
| 后台服务托管 | 按 manifest/server-manifest.json 解析平台资产,多源降级下载,先 sha256 校验再解压,落到 versions/<version>/,切换 current 指针 |
| 进程守护 | spawn、健康检查 /health、崩溃退避重启等 |
| MCP 接入 DSH | 约 76 个 MCP 工具经门面进入对话 |
| 设置 UI | 服务概览(安装/启动/版本)、平台登录、账号总览、授权、日志;0.3.6 起增加「开放接口」分区(MCP/HTTP 端点速查、复制 curl、文档链至 docs/api.zh.md) |
| 平台登录 | 设置页内完成米家 / 涂鸦 / 美的 / 易微联 / 华为等流程;凭据仅在本机回环交给后台服务,插件不落盘、不写日志 |
| 校验策略 | 无校验值的资产版本会被拒装(0.3.4 起强化清单校验,避免 Windows 等「默认装不上」仍进清单) |
插件要求 Node.js >= 20.16.0(package.json engines)。
安装与启用¶
1. 安装插件¶
<profile> 换成你要装入的 profile 名(例如 web)。命令会把 bundle 写入 profile 配置,无需手改 profile 文件;装完后重启 DSH 或触发配置重合成,设置左侧应出现「飞阳网关」。
dsh plugin --profile <profile> add dsh-feyagate
若需立刻锁定某一版本(例如避开 pnpm 11 默认 24 小时发布冷静期导致仍装到旧版),资料示例为带版本号安装:
dsh plugin --profile <profile> add dsh-feyagate@0.3.5
(具体版本号以你需要的 release 为准;当前包版本为 0.3.6。)
2. 安装后台服务¶
打开 设置 › 飞阳网关 › 服务 › 概览,点击 安装后台服务。向导会依次:下载 → sha256 校验(失败则删文件并中止)→ 解压到 versions/<version>/ → 写入权限(macOS 含 quarantine 处理)→ 切换 current 并启动、轮询 /health。README 明确:在用户点击之前不会偷偷下载。
macOS arm64 等场景若校验失败,需确认插件与清单版本匹配(例如历史说明中 v1.2.20 mac-arm64 重打包后须更新 sha256,应先升级插件再装/升服务)。
3. 确认 MCP 工具可用¶
安装完成后,在对话中例如询问「列出我的智能家居设备」。模型应能调用 mcp__feyagate__* 一类工具(示意名如 mcp__feyagate__device_list)。
4. 登录平台账号¶
路径:设置 › 插件 › 飞阳网关 › 平台登录。各平台卡片是否可用由当前后台服务构建上报的能力决定(例如某构建无华为工具则卡片标明不支持,升级服务后可能自动出现)。
对话里也可走同一批 MCP 工具完成授权(详见上游 API 文档)。涂鸦可在聊天内完成:向模型提供 App 内「用户代码」,模型返回二维码(插件将 token 渲染为 PNG;不支持图片时可使用工具结果中的 qr_text_url 或浏览器打开),App 扫码确认后插件侧轮询完成登录。
最短路径到控灯:装插件 → 装后台服务 → 对话中登录米家 → device/list 找灯 → 开灯。
典型用法示例¶
- 仅 DSH 内闭环:安装插件与服务后,完全在设置页完成平台登录,在对话里用自然语言让模型调
mcp__feyagate__*控制设备或查状态。 - 开放接口(0.3.6):在设置「开放接口」查看按实时端口拼出的 MCP 地址、HTTP 端点与 curl 示例,外部客户端可按
docs/api.zh.md对接(需注意服务未运行时的提示与安全边界说明)。 - 版本与重装:服务页版本卡给出本机与最新可用版本结论;「更多安装选项」内可指定版本、重装、回滚等(具体选项以界面为准)。
适用场景与注意¶
适合谁:已在用或打算用 DSH 做智能体/workflow,希望把飞阳网关的多平台家居能力以 MCP 工具形式接进对话,并愿意在本机跑闭源后台服务二进制。
权限与合规:插件在当前 DSH 进程权限下运行,会下载并执行第三方二进制、写 ~/.dsh/dsh-feyagate/。安装前应阅读 GitHub 仓库 源码、 NOTICE 与 MIT 许可证;闭源部分归属与分发方式以 NOTICE 为准。
生态说明:DSH 社区插件目录(如 SkillHub)为独立站点,与 DeepSeek / 幻方无官方从属关系;本文安装命令以 README 为准,请勿自行拼接未在资料出现的 github:owner/repo 安装形式。
其他:Windows 用户应使用清单中已通过校验的默认 win-x64 版本(0.3.4 修复过无 sha256 导致必失败的问题)。问题反馈可通过设置顶栏或日志页链至 GitHub Issues。
结尾¶
dsh-feyagate 把「本机 FeyaGate MCP 引擎的生命周期」和「DSH 里的工具与设置 UI」收成一条路径:一条 dsh plugin add 装插件,再在设置里安装后台服务,即可在对话中调用大规模家居 MCP 工具,并在同一面板管理登录与授权。