返回资讯中心
外部精选
软件工程
#开发者实时流

开发者用 Claude 接住 Alexa 答不上的指令并执行

来源标题:When Alexa can't answer, Claude takes over

有开发者做了一个轻量 AI 家居助手,当 Alexa 无法响应指令时,把失败命令转交给 Claude 处理并执行,可控制电视、音箱、摄像头等设备。每条指令使用一个 Claude 会话,采用 Haiku 模型以控制成本,并通过 CLAUDE.md 跨会话记忆、自动发现 devices 目录下的设备。

Hacker News 最新mparnisari2026/11/7 · 5 天前14 分钟阅读

以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。

🪔 “navratri shuru ho rahe hain,mujhe iska matlab batao”——Alexa 完全不知道。Claude 解释了这个节日。 📹 “mummy ke tv pe cctv chalaa do,pahle usko on kar lena”——打开电视、启动摄像头串流、投屏,一气呵成。 📺 “tv pe netflix chalaao aur koee badhiya movie play karo”——打开电视、启动 Netflix,并确认完成。 😂 “mainu ek punjabi chutkula suna de yaar”——讲了个笑话,用旁遮普语。 当 Alexa 答不上来时,Claude 接手。 一个轻量级 AI 家庭助手,能捕获 Alexa 失败的指令,转交给 Claude 并执行——控制你的电视、音箱、摄像头等等。 每条指令一个 Claude 会话——快速、便宜(Haiku)、无需长期运行的进程 CLAUDE.md 作为记忆——Claude 每次会话都会读取它,并通过回写跨会话学习 即插即用设备——在 devices/ 下放一个文件夹,写一个 device.md,Claude 就会自动发现它 轮询器中的失败黑名单——只把真正失败的指令转给 Claude;Alexa 成功响应的指令会被跳过 60 秒去重窗口——防止 Claude 的动作触发新的 Alexa 事件时形成反馈循环 动态响应延迟——等 Alexa 说完话(约 20 字符/秒)后 Claude 再响应 处理提示音——Claude 工作期间播放音频反馈,让你知道它还在运行 工作原理 你对 Alexa 说出一条指令 Alexa 处理不了(“Sorry,I don't know that”) 轮询器每 2 秒查看一次 Alexa 的语音历史,捕获这次失败 监听器(100ms 轮询)检测到新指令,启动一个 Claude Haiku 会话 Claude 理解意图,执行动作(电视开/关、启动应用、播放音乐等) 响应通过 Alexa 以男声(SSML 的 Matthew 语音)播报回来 Claude 处理期间,你会听到提示音,知道它正在工作。 轮询器(core/poller.js)——通过 alexa-remote2 连接 Alexa,拉取语音历史,筛选失败的指令 监听器(core/watch.sh)——检测新的失败指令,处理去重,启动 Claude 会话 Claude 会话——每条指令一个 Haiku 会话,读取 CLAUDE.md 获取上下文,通过 bash 执行 LG 电视控制(devices/lg-webos-tv/lg_tv.js)——直接 WebSocket(SSAP)控制:电源、音量、应用、截图 Alexa 控制(core/alexa/)——说话、音量、文本指令、播报 CCTV 串流(devices/cpplus-dvr/stream.sh)——在电视上显示实时摄像头画面:DVR(RTSP)→ ffmpeg(HLS)→ 电视浏览器 Jio STB(devices/jio-stb/)——DLNA 投屏,通过 DIAL 启动 YouTube/Netflix 文件结构 ├── core/ │ ├── poller.js # 轮询 Alexa 语音历史,筛选失败指令 │ ├── watch.sh # 监听指令,启动 Claude,自动加载设备文档 │ └── alexa/ # Alexa 语音接口 │ ├── auth.js # 认证(生成 cookie_data.json) │ └── control.js # speak、announce、textcommand、volume │ ├── devices/ # 即插即用设备集成 │ ├── lg-webos-tv/ │ │ ├── lg_tv.js # WebSocket(SSAP)控制 │ │ └── device.md # 给 Claude 的说明(自动包含) │ ├── cpplus-dvr/ │ │ ├── stream.sh # RTSP → HLS → 电视浏览器 │ │ ├── dvr.sh # 截图、录制、移动侦测 │ │ ├── player.html # 全屏视频播放器 │ │ └── device.md # 给 Claude 的说明(自动包含) │ ├── jio-stb/ │ │ ├── cast.sh # DLNA 投屏、音量、CCTV │ │ ├── dial.sh # 通过 DIAL 启动 YouTube、Netflix │ │ └── device.md # 给 Claude 的说明(自动包含) │ ├── config.json # 你的设备 IP、MAC、网络(已 gitignore) ├── config.example.json # 模板 ├── CLAUDE.md # 你的偏好 + 学习记录(已 gitignore) ├── CLAUDE.md.example # 模板 ├── STATE.md # 设备状态(已 gitignore) └── README.md 添加新设备 在 devices/ 下创建一个文件夹(例如 devices/philips-hue/) 添加你的控制脚本(例如 index.js 或 control.sh) 写一个 device.md,描述 Claude 可以使用的命令 把设备配置加到 config.json 完成——watch.sh 会自动把你的 device.md 包含进每个 Claude 会话 安装 前置条件 Node.js 18+ 一台 Amazon Echo 设备 已安装并认证的 Claude CLI 设备在同一局域网内

  1. 克隆并安装 git clone https://github.com/rg321/hey-claude.git cd hey-claude cd core/alexa && npm install && cd ../..
  2. 用 Alexa 认证 cd core/alexa node auth.js

打开浏览器——用你的 Amazon 账号登录

保存 cookie_data.json(已 gitignore)

  1. 配置设备 cp config.example.json config.json 编辑 config.json,填入你的设备 IP、MAC 地址和网络信息。该文件已 gitignore。 cp CLAUDE.md.example CLAUDE.md 添加你的个人偏好(语言、设备昵称、别名)。设备说明会从 devices/*/device.md 自动加载——无需在这里添加。

启动轮询器(监听 Alexa 语音历史)

nohup node core/poller.js > poller.log 2>&1 &

启动监听器(为失败指令启动 Claude 会话)

nohup bash core/watch.sh > /dev/null 2>&1 & 现在对 Alexa 说话。如果她处理不了,Claude 会接手。 设备 协议 能做什么 LG WebOS TV WebSocket(SSAP) 开机/关机、音量、启动应用(YouTube、Netflix、Spotify)、截图、屏幕开/关 Alexa Echo Dot alexa-remote2 说话、播放音乐、文本指令、播报 CP Plus DVR RTSP + HTTP 在电视上显示实时摄像头画面、截图、录制片段、移动侦测 Jio Set Top Box DLNA + DIAL 投屏媒体、YouTube、Netflix、音量、CCTV 串流 智能灯 — 计划中 电视上的 CCTV——说“show camera on TV”,它就会拉起实时画面:DVR → ffmpeg(HLS)→ 全屏电视浏览器。当你切换走时会自动停止。 欢迎贡献!随时提 issue 或提交 PR——无论是添加新设备支持、改进失败检测,还是让流水线更快。

正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。

打开原文
去社区讨论 →