360 Secure SkillHub
360 安全技能中心

roku

提供 Roku CLI 及配套 Python 脚本,可在局域网发现 Roku 设备并保存别名,发送遥控按键、输入文本、搜索内容、启动应用,支持交互式遥控与常驻 HTTP 桥接服务(macOS launchd / Linux systemd),桥接端点带 Bearer 令牌鉴权,并附带可选 Telegram 集成脚本。

gumadeiras
gumadeiras
热度 55.95
最近更新 2026-05-15 11:45:31
分类:自动化依赖:代码执行 / 第三方 API应用场景:自动化脚本 / API 集成 / 工作流

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add roku
Metadata
name
roku
description
Control Roku devices via CLI. Discovery, remote control, app launching, search, and HTTP bridge mode for real-time control.
homepage
https://github.com/gumadeiras/roku-cli
repository
https://github.com/gumadeiras/roku-cli
metadata
{"clawdbot":{"emoji":"📺","requires":{"bins":["roku"]},"install":[{"id":"node","kind":"node","package":"@gumadeiras/roku","bins":["roku"],"label":"Install Roku (npm)"}]}}

Roku CLI

Fast TypeScript CLI for controlling Roku devices via the ECP API.

Installation

npm install -g @gumadeiras/roku@latest

Quick Start

# Discover devices and save an alias
roku discover --save livingroom --index 1

# Use the alias
roku --host livingroom device-info
roku --host livingroom apps

Commands

Command Description
roku discover Find Roku devices on network
roku --host <ip> device-info Get device info
roku --host <ip> apps List installed apps
roku --host <ip> command <key> Send remote key
roku --host <ip> literal <text> Type text
roku --host <ip> search --title <query> Search content
roku --host <ip> launch <app> Launch app
roku --host <ip> interactive Interactive remote mode

Interactive Mode

roku livingroom                    # interactive control
roku --host livingroom interactive # same thing

Use arrow keys, enter, escape for remote-like control.

Bridge Service

Run a persistent HTTP bridge as a native OS service:

# Install and start the service
roku bridge install-service --port 19839 --token secret --host livingroom --user
roku bridge start --user

# Service management
roku bridge status --user
roku bridge stop --user
roku bridge uninstall --user

Send commands via HTTP:

# Send key
curl -X POST http://127.0.0.1:19839/key \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer secret" \
  -d '{"key":"home"}'

# Type text
curl -X POST http://127.0.0.1:19839/text \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer secret" \
  -d '{"text":"hello"}'

# Launch app
curl -X POST http://127.0.0.1:19839/launch \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer secret" \
  -d '{"app":"plex"}'

# Health check
curl http://127.0.0.1:19839/health -H "Authorization: Bearer secret"

Bridge Endpoints

Endpoint Body
POST /key {"key": "home"}
POST /text {"text": "hello"}
POST /search {"title": "Stargate"}
POST /launch {"app": "plex"}
GET /health —
GET /health?deep=1 Deep health check (probes Roku)

Aliases

# Save device alias
roku discover --save livingroom --index 1
roku alias set office 192.168.1.20

# Save app alias  
roku alias set plex 13535

# List aliases
roku alias list

# Use aliases
roku --host livingroom launch plex

Remote Keys

home, back, select, up, down, left, right, play, pause, rev, fwd, replay, info, power, volume_up, volume_down, mute

Notes

  • Roku must be on the same network as the CLI
  • Bridge service runs as a native launchd (macOS) or systemd (Linux) service
  • Use --user flag for user-space service (no sudo required)
  • Use --token for authentication in bridge mode

Source

https://github.com/gumadeiras/roku-cli