Alexa CLI

🔊 命令行语音操控 Echo 与智能家居

automation榜 #13

通过非官方 API 控制 Amazon Echo 设备及智能家居,支持语音播报、语音命令控制灯具/温控器/门锁等,适合自动化脚本与 CI/CD 通知场景。

收藏
19.1k
安装
4k
版本
0.2.0
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

alexacli 是一款基于 Go 编写的命令行工具,通过逆向 Amazon Alexa 移动应用使用的非官方 API,实现对 Echo 设备与智能家居的远程控制。核心能力围绕三大场景:

1. 语音播报(TTS):将任意文本转为语音输出到指定或全部 Echo 设备,支持部分匹配设备名(如 -d Kitchen 匹配 "Kitchen Echo"),常用于构建完成通知、服务器告警等自动化场景。

2. 语音命令代理:通过 alexacli command 将自然语言指令(如"turn off living room lights")发送至指定 Echo,由 Alexa 解析并执行。这是控制智能灯具、温控器、门锁、播放音乐、设置计时器的主要方式,无需记住具体设备 ID。

3. 设备管理:列出所有 Echo 设备信息,支持 --json 输出标准化 JSON({success, data, error} 信封格式),便于脚本解析。

显著优点

  • 自然语言控制:无需硬编码设备 ID 或记忆复杂 API,直接复用用户已习惯的 Alexa 语音指令。
  • 灵活部署:提供 Homebrew 与 Go install 两种安装方式,单二进制文件无依赖。
  • CI/CD 友好:结构化 JSON 输出、退出码规范,易于集成到自动化流水线。
  • 跨设备广播--announce 可同时向所有 Echo 播报,适合全屋通知。

潜在缺点与局限性

  • 非官方 API 风险:依赖 Amazon 未公开的内部接口,随时可能因服务端变更而失效。
  • Token 生命周期短:Refresh token 约 14 天过期,需定期重新认证(alexacli auth),长期自动化需配套续期机制。
  • 功能边界:直接智能家居 API(alexacli sh)标记为 Coming Soon,目前仅能通过语音命令间接控制;Routines 支持同样未实装。
  • 认证门槛:需借助第三方工具(alexa-cookie-cli)获取 refresh token,对普通用户不够友好。

适合人群

  • 已将智能家居深度绑定 Alexa 生态的技术用户
  • 需在服务器/构建节点推送语音告警的运维/开发者
  • 希望用脚本编排"早安模式""离家模式"等场景自动化的智能家居爱好者

常规风险

| 风险类别 | 说明 |
|---------|------|
| 账号安全 | Refresh token 等同于长期凭证,泄露可导致他人远程控制家中设备;建议配合环境变量或密钥管理工具(如 1Password CLI)使用,避免硬编码。 |
| API 稳定性 | 非官方接口无 SLA,重大节日或 Amazon 策略调整时可能突然失效。 |
| 隐私边界 | 语音命令经由 Amazon 云端解析,敏感操作(如解锁门锁)存在语音指令被误识别或日志留存的风险。 |

Alexa CLI 内容

暂无文件树

手动下载zip · 1.8 kB
contentapplication/octet-stream
请选择文件