ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

一行命令让 AI 接管全屋智能:FeyaGate Skill 保姆级接入教程,小米/涂鸦/美的/易微联全搞定|TaoToken 统一 Key 通道

一行命令让 AI 接管全屋智能:FeyaGate Skill 保姆级接入教程,小米/涂鸦/美的/易微联全搞定|TaoToken 统一 Key 通道 1. 为什么 AI Agent 控制智能家居总卡在最后一公里如果你正在用 Claude Code、OpenClaw 或者自己写的 Agent 框架做自动化大概率碰到过这个尴尬Agent 能帮你重构代码、能查文档、能跑测试但你让它把客厅灯调暗一点它只能回你一句我无法直接控制物理设备。这不是模型能力不够而是协议层没打通。智能家居这个领域碎片化了很多年小米走 MIOT 私有协议涂鸦开发者平台版本割裂美的靠封闭云服务易微联用 CoolKit 那一套。你想让 Agent 调用设备得分别啃四套 SDK 文档为每个平台写适配层再处理 OAuth 刷新、设备轮询、异常重试。等这些全搞完你发现自己写的适配代码比业务逻辑还多。FeyaGate Skill 想解决的就是这件事。它是一个跑在桌面端的智能家居 MCP 网关原生支持 MCPModel Context Protocol通过 HTTP JSON-RPC 2.0 把小米、涂鸦、美的、易微联四个平台的设备统一抽象成一套工具集。你只需要在 MCP 客户端里配一个 URLAgent 就能像调本地 API 一样操控全屋设备。这篇文章我会带你从零跑通整条链路安装 FeyaGate Skill、配置 TaoToken 统一 Key 通道、逐品牌授权、用一行命令启动服务然后逐个验证设备发现和开关控制。目标是一次跑通多品牌全屋智能接管而不是停留在装好了但不知道怎么用的状态。适合谁看正在用 Claude Code 或自建 Agent 做自动化的开发者、想把智能家居接进 AI 工作流的折腾党、以及被四套 SDK 折磨过的物联网工程师。前置要求很简单一台 macOS / Linux / Windows 桌面机Python 3.8以及至少一个小米账号免费版就能覆盖米家全生态。2. TaoToken 统一 Key 通道前置准备在正式接 FeyaGate Skill 之前先把模型通道这块理清楚。因为 FeyaGate Skill 本身只负责设备控制它不提供大模型推理能力。当你的 Agent 需要理解把客厅灯调成暖色这种自然语言指令、或者对摄像头抓拍做视觉分析时背后得有一个稳定的模型 API 通道。我试过在多个项目里分别维护 OpenAI、Anthropic、国内各家模型的 Key管理起来很烦。TaoToken 的思路是提供一个统一的 Key 通道兼容 OpenAI 和 Anthropic 两种协议格式你只需要一个 Base URL 和一个 API Key就能在 Claude Code、Cline、Codex 这些客户端里切换模型。2.1 获取 API Key 与确认 Endpoint先到 TaoToken 控制台创建一个 API Key。地址是 https://taotoken.net/console 登录后在 API Keys 页面点创建复制出来的 Key 形如sk-xxxxxxxx只显示一次记得存好。统一通道的 Base URL 是https://taotoken.net/api注意这个地址不带任何查询参数直接作为 OpenAI 兼容协议的 base_url 使用。如果你用的是 Anthropic 协议比如 Claude CodeBase URL 同样填这个客户端会自动走对应的路径。模型 ID 这块TaoToken 支持主流模型映射你在请求里填claude-sonnet-4-20250514、gpt-4o这类标准 ID 即可网关会路由到对应后端。具体可用列表可以在模型对话页面测试 https://taotoken.net/models2.2 三件套Base URL Key Model ID不管你用哪个客户端接入任何模型通道都离不开这三件套。我把它整理成一张对照表后面配置 FeyaGate Skill 的视觉分析管道时会直接复用配置项值说明Base URLhttps://taotoken.net/apiOpenAI / Anthropic 兼容API Keysk-你的Key控制台创建仅显示一次Model IDclaude-sonnet-4-20250514等按需选择如果你打算长期跑编码类 Agent 或者做复杂的多步自动化可以了解一下 Coding Plan它在长会话场景下额度更划算 https://taotoken.net/coding-plan2.3 为什么要在 FeyaGate 场景下先配好模型通道FeyaGate Skill 的摄像头 P2P 抓拍会返回 base64 编码的 JPEG这个数据本身没有意义得喂给多模态模型才能做画面里有没有人门口有没有快递这类判断。同样触发引擎里的vision_ai_detects_person条件底层也是调用视觉模型。所以正确的顺序是先把 TaoToken 的 Key 和 Base URL 配好确认模型能正常对话再去接 FeyaGate。这样后面调试视觉分析管道时你能快速区分是设备侧问题还是模型侧问题。验证模型通道是否通最直接的方式是打开模型对话页面发一条测试消息 https://taotoken.net/models 。能正常返回就说明 Key 和 Base URL 没问题可以进入下一步。3. FeyaGate Skill 安装与可复制配置片段这一节是全文的核心操作部分。我会给出完整的安装命令、MCP 客户端配置片段、以及 TaoToken 通道在 FeyaGate 里的填写位置。所有片段都可以直接复制路径和字段名保持和实际一致。3.1 一行命令安装macOS / Linux 用户curl -fsSL https://www.feyagate.com/install.sh | bashWindows PowerShell 用户iwr -useb https://www.feyagate.com/install.ps1 | iex脚本会自动完成几件事从 OTA 服务拉取最新版本信息、克隆 feyagate-skill 仓库含脚本和配置模板、下载对应平台的二进制包并校验 MD5、解压到bin/lib/webui/目录、生成默认配置文件。如果你想指定安装路径可以加参数curl -fsSL https://www.feyagate.com/install.sh | bash -s -- --dir ~/my-skill安装完成后进入目录启动服务cd feyagate-skill bash scripts/start.sh bash scripts/health_check.shhealth_check.sh输出OK就说明服务起来了。默认监听http://localhost:38080/mcp/http端口冲突的话可以用--port指定其他端口。3.2 MCP 客户端配置片段Claude Code / Cline 通用FeyaGate Skill 暴露的是标准 MCP over HTTP 接口所以任何支持 MCP 的客户端都能接。下面给出 Claude Code 的settings.json配置片段路径是~/.claude/settings.json{ mcpServers: { feyagate: { type: http, url: http://localhost:38080/mcp/http, env: { TAOTOKEN_BASE_URL: https://taotoken.net/api, TAOTOKEN_API_KEY: sk-你的Key, TAOTOKEN_MODEL_ID: claude-sonnet-4-20250514 } } } }如果你用的是 Cline配置写在cline_mcp_settings.json里结构基本一致{ mcpServers: { feyagate: { type: http, url: http://localhost:38080/mcp/http, env: { TAOTOKEN_BASE_URL: https://taotoken.net/api, TAOTOKEN_API_KEY: sk-你的Key, TAOTOKEN_MODEL_ID: claude-sonnet-4-20250514 } } } }注意env里的三个变量是给 FeyaGate 的视觉分析管道用的不是给 MCP 连接本身用的。MCP 连接只认url字段。三件套Base URL Key Model ID必须写全缺一个视觉分析就会报鉴权错误。3.3 Codex 的 auth.json 配置如果你用 Codex配置写在~/.codex/auth.json{ base_url: https://taotoken.net/api, api_key: sk-你的Key, model: claude-sonnet-4-20250514 }Codex 走的是 OpenAI 兼容协议base_url填 TaoToken 的统一地址即可。这里同样体现三件套原则Base URL、Key、Model ID 一个都不能少。3.4 FeyaGate 自身的模型通道配置除了 MCP 客户端的 envFeyaGate Skill 内部也有一份配置文件config/model.yaml用于视觉分析和 TTS 文本生成model: provider: openai-compatible base_url: https://taotoken.net/api api_key: sk-你的Key model_id: claude-sonnet-4-20250514 timeout: 30 max_retries: 3这份配置和 MCP 客户端的 env 是两套东西但值保持一致最省心。改完配置后重启服务生效bash scripts/restart.sh到这里安装和配置就完成了。下一步是逐品牌授权把设备真正接进来。4. 逐品牌授权与设备发现验证配置写好了不代表设备就能用还得完成各平台的 OAuth 授权。这一节我按小米、涂鸦、美的、易微联的顺序走一遍每个平台给出授权命令和验证方法。4.1 米家账号授权免费版核心小米是免费版唯一完整支持的平台也是国内覆盖率最高的。授权脚本python3 scripts/auth.py控制台会输出一个 OAuth 授权链接复制到浏览器打开登录小米账号。登录成功后页面会跳转到https://127.0.0.1/?codexxxxxx把完整 URL 复制粘贴回终端回车完成授权。验证授权状态调用xiaomi/auth_status工具curl -X POST http://localhost:38080/mcp/http \ -H Content-Type: application/json \ -d { jsonrpc: 2.0, id: 1, method: tools/call, params: { name: xiaomi/auth_status, arguments: {} } }返回里authorized: true就成功了。接着拉设备列表curl -X POST http://localhost:38080/mcp/http \ -H Content-Type: application/json \ -d { jsonrpc: 2.0, id: 2, method: tools/call, params: { name: device/list, arguments: { platform: xiaomi } } }你会看到一堆设备对象每个带did、name、model、room字段。记下你要控制的灯的did后面测试用。4.2 涂鸦扫码授权涂鸦走的是扫码流程。先获取二维码curl -X POST http://localhost:38080/mcp/http \ -H Content-Type: application/json \ -d { jsonrpc: 2.0, id: 3, method: tools/call, params: { name: auth/tuya_qr, arguments: {} } }返回里会有二维码图片的 base64 或者一个 URL。用涂鸦智能 App 扫码然后轮询授权状态curl -X POST http://localhost:38080/mcp/http \ -H Content-Type: application/json \ -d { jsonrpc: 2.0, id: 4, method: tools/call, params: { name: auth/tuya_qr_status, arguments: {} } }返回authorized: true即完成。涂鸦设备刷新用device/refresh参数带platform: tuya。4.3 美的与易微联账号绑定这两个平台走账号密码登录相对直接curl -X POST http://localhost:38080/mcp/http \ -H Content-Type: application/json \ -d { jsonrpc: 2.0, id: 5, method: tools/call, params: { name: auth/midea_login, arguments: { username: 你的美的账号, password: 你的密码 } } }易微联把auth/midea_login换成auth/ewelink_login即可。两个平台授权后同样用device/list带对应platform参数验证设备发现。4.4 一行命令验证全平台设备发现四个平台都授权完后跑一条命令看总览curl -X POST http://localhost:38080/mcp/http \ -H Content-Type: application/json \ -d { jsonrpc: 2.0, id: 6, method: tools/call, params: { name: auth/platforms, arguments: {} } }返回里会列出每个平台的授权状态和已发现设备数量。如果某个平台显示authorized: false回到对应小节重新授权。设备数量为 0 的话检查账号下是否真的有设备以及设备是否在厂商 App 里正常在线。5. 常见报错排查401、local proxy failed、reading choices、OAuth这一节我整理了几个实际调试中高频出现的报错给出原因和修复方法。这些报错覆盖了模型通道、MCP 连接、设备授权三个层面。5.1 401 Unauthorized这是最常见的。出现位置通常有两个一是 MCP 客户端调用模型时二是 FeyaGate 视觉分析管道调用模型时。原因基本是 Key 没填对或者 Base URL 写错。检查三件套{ TAOTOKEN_BASE_URL: https://taotoken.net/api, TAOTOKEN_API_KEY: sk-你的Key, TAOTOKEN_MODEL_ID: claude-sonnet-4-20250514 }注意 Base URL 结尾不要多加/v1TaoToken 的网关会自动处理路径。Key 要完整复制前后不要有空格。如果确认无误还是 401去控制台看下 Key 是否被禁用或者额度耗尽。5.2 local proxy failed这个报错一般出现在 MCP 客户端启动时提示连不上http://localhost:38080/mcp/http。原因通常是 FeyaGate 服务没起来或者端口被占用。先确认服务状态bash scripts/health_check.sh如果输出不是OK看日志tail -f logs/feyagate.log端口冲突的话换端口重启bash scripts/start.sh --port 38081然后同步改 MCP 客户端配置里的url字段。5.3 reading choices 报错这个报错来自模型响应解析阶段通常是返回体格式不符合预期。常见原因是 Model ID 填错了比如填了一个 TaoToken 不支持的模型名网关返回了错误结构客户端解析choices字段时失败。解决方法是换成确认可用的 Model ID。可以在模型对话页面先测一下 https://taotoken.net/models 。确认能正常返回后再填回配置。5.4 OAuth 授权失败小米授权时如果粘贴回终端的 URL 不完整或者 code 过期会报 OAuth 失败。注意两点一是复制的是浏览器地址栏的完整 URL包含?code后面的全部内容二是授权链接有时效一般几分钟内要完成粘贴。涂鸦扫码授权失败的话检查涂鸦智能 App 是否登录了正确的账号以及该账号下是否有设备。美的和易微联的账号密码登录注意有些账号开启了二次验证需要先在厂商 App 里关闭或者用应用专用密码。5.5 设备控制无响应授权成功、设备列表也能拉到但调用set_xiaomi_device_property没反应。这种情况先确认siid和piid是否正确。不同型号的设备属性定义不一样用device/specs查curl -X POST http://localhost:38080/mcp/http \ -H Content-Type: application/json \ -d { jsonrpc: 2.0, id: 7, method: tools/call, params: { name: device/specs, arguments: { deviceId: 你的设备DID } } }返回里会列出所有可读写属性及其siidpiid。电源一般是siid2, piid1亮度siid2, piid2色温siid2, piid3但以实际返回为准。6. 一行命令启动后的完整验证流程前面几节把配置、授权、排障都覆盖了这一节串起来走一遍完整验证。目标是让你确认整条链路真的通了而不是停留在看起来配好了。6.1 启动与健康检查cd feyagate-skill bash scripts/start.sh bash scripts/health_check.sh看到OK后确认 MCP 端点可达curl -s http://localhost:38080/mcp/http \ -H Content-Type: application/json \ -d {jsonrpc:2.0,id:1,method:tools/list,params:{}} | head -c 500能返回工具列表就说明 MCP 服务正常。6.2 用自然语言控灯在 Claude Code 里输入打开客厅的灯调成暖色亮度 50%Agent 内部会自动执行一串调用先device/list筛选客厅灯再device/specs查属性定义然后连续调set_xiaomi_device_property设置电源、亮度、色温。你不需要手动查didsiidpiidAgent 会自己适配。如果 Agent 没有自动调用工具检查 MCP 客户端配置里的url是否正确以及客户端是否重启过。Claude Code 改完settings.json需要重启才生效。6.3 摄像头抓拍与视觉分析先连接摄像头curl -X POST http://localhost:38080/mcp/http \ -H Content-Type: application/json \ -d { jsonrpc: 2.0, id: 8, method: tools/call, params: { name: xiaomi/camera_connect, arguments: { camera_id: 你的摄像头DID } } }P2P 穿透要等 3 到 5 秒。然后抓拍curl -X POST http://localhost:38080/mcp/http \ -H Content-Type: application/json \ -d { jsonrpc: 2.0, id: 9, method: tools/call, params: { name: xiaomi/camera_snapshot, arguments: { camera_id: 你的摄像头DID, count: 1 } } }返回 JSON 里的base64字段就是图像数据。把它喂给 TaoToken 通道的多模态模型就能做安全分析。定时巡检脚本python3 scripts/scheduled_analysis.py \ --camera-id 你的摄像头DID \ --interval 300 \ --auto-connect \ --prompt Describe the scene. Flag any security concerns.每 300 秒抓拍一次调用模型推理输出结构化告警。这条管道跑通家庭安防的核心组件就有了。6.4 小爱音箱 TTS 与静默控制让音箱播报curl -X POST http://localhost:38080/mcp/http \ -H Content-Type: application/json \ -d { jsonrpc: 2.0, id: 10, method: tools/call, params: { name: xiaoai/tts, arguments: { device_id: 音箱DID, text: 欢迎回家已为您打开客厅灯和空调 } } }静默控制音箱不发声只执行指令curl -X POST http://localhost:38080/mcp/http \ -H Content-Type: application/json \ -d { jsonrpc: 2.0, id: 11, method: tools/call, params: { name: xiaoai/control, arguments: { device_id: 音箱DID, command: 打开客厅灯, silence: true } } }6.5 触发引擎摄像头检测到人自动开灯最后验证主动式自动化。通过trigger/create定义规则{ name: 客厅有人检测, cameras: [摄像头DID], condition: vision_ai_detects_person, actions: [ { tool: set_xiaomi_device_property, args: { deviceId: 灯DID, siid: 2, piid: 1, value: true } }, { tool: xiaoai/tts, args: { device_id: 音箱DID, text: 客厅有人 } } ] }触发引擎支持多摄像头和条件组合完全可编程。到这里从设备发现到开关控制、从视觉分析到主动触发整条链路就验证完了。如果你在接入过程中卡在某一步优先去 API Keys 页面确认 Key 状态再对照接入文档检查配置字段 https://taotoken.net/api-keys 。模型通道的问题基本都能在这两个地方定位。长期跑编码类 Agent 的话Coding Plan 在长会话场景下更省心 https://taotoken.net/coding-plan 。
返回列表