๐Ÿ“บ
smartest-tv

๋‹น์‹ ์˜ TV๊ฐ€ ๊ธฐ๋‹ค๋ ค์˜จ CLI.

์ด๋ฆ„์œผ๋กœ ๋„ทํ”Œ๋ฆญ์Šค ์žฌ์ƒ. URL ์บ์ŠคํŠธ. ๋ฉ€ํ‹ฐ๋ฃธ ์˜ค๋””์˜ค. AI ์ปจ์‹œ์–ด์ง€. ์ „๋ถ€ ํ„ฐ๋ฏธ๋„์—์„œ.

PyPI Downloads Tests MIT License Python MCP Tools Glama Score Awesome MCP Servers Awesome Smart TV HACS

English ยท ํ•œ๊ตญ์–ด ยท ไธญๆ–‡ ยท ๆ—ฅๆœฌ่ชž ยท Espaรฑol ยท Deutsch ยท Portuguรชs ยท Franรงais


pip install stv && stv play "Frieren"

TV ์—†์–ด๋„ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์—ด๋ฆฝ๋‹ˆ๋‹ค. TV๊ฐ€ ์žˆ๋‹ค๋ฉด stv setup์œผ๋กœ ์—ฐ๊ฒฐํ•˜์„ธ์š”.

The Evolution of TV Control


---
๐Ÿ˜ฉ stv ์—†์ด ๐Ÿ˜Ž stv ์žˆ์œผ๋ฉด
1. ๋ฆฌ๋ชจ์ปจ ์ง‘์–ด๋“ค๊ธฐ 2. ๋„ทํ”Œ๋ฆญ์Šค ์•ฑ ์—ด๊ธฐ 3. ์ž‘ํ’ˆ ๊ฒ€์ƒ‰ 4. ์‹œ์ฆŒ ์„ ํƒ 5. ์—ํ”ผ์†Œ๋“œ ์„ ํƒ 6. ์žฌ์ƒ ๋ˆ„๋ฅด๊ธฐ **~30์ดˆ** ```bash stv play netflix "Dark" s1e1 stv play "Frieren" # auto-detects platform ``` **~3์ดˆ**

--- ## โœจ ๋ฌด์—‡์„ ํ•  ์ˆ˜ ์žˆ๋‚˜์š”
### ๐ŸŽฌ ์ด๋ฆ„์œผ๋กœ ์žฌ์ƒ ```bash stv play netflix "Dark" s1e1 stv play "Frieren" # auto-detects platform stv play youtube "baby shark" stv play spotify "chill vibes" ``` ์ด๋ฆ„๋งŒ ๋งํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. stv๊ฐ€ ID๋ฅผ ์ฐพ๊ณ , ์•ฑ์„ ์—ด๊ณ , ์žฌ์ƒ์„ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ### ๐Ÿ”— URL ์บ์ŠคํŠธ ```bash stv cast https://youtu.be/dQw4w stv cast https://netflix.com/watch/... stv cast https://open.spotify.com/... ``` ์นœ๊ตฌ๊ฐ€ ๋งํฌ๋ฅผ ๋ณด๋ƒˆ๋‹ค. ๋ถ™์—ฌ๋„ฃ๊ธฐํ•˜๋ฉด TV์—์„œ ์žฌ์ƒ๋ฉ๋‹ˆ๋‹ค. ### ๐ŸŽต ๋Œ€๊ธฐ์—ด & ํŒŒํ‹ฐ ```bash stv queue add youtube "Gangnam Style" stv queue add spotify "Blinding Lights" stv queue play ``` ๋ชจ๋‘๊ฐ€ ์ž๊ธฐ ๊ณก์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. TV๊ฐ€ ์ˆœ์„œ๋Œ€๋กœ ์žฌ์ƒํ•ฉ๋‹ˆ๋‹ค.
### ๐ŸŽญ ์žฅ๋ฉด ํ”„๋ฆฌ์…‹ ```bash stv scene movie-night # ๋ณผ๋ฅจ 20, ์‹œ๋„ค๋งˆ ๋ชจ๋“œ stv scene kids # ๋ณผ๋ฅจ 15, Cocomelon stv scene sleep # ํ™˜๊ฒฝ์Œ, ์ž๋™ ๊บผ์ง ``` ๋ช…๋ น ํ•˜๋‚˜๋กœ ๋ถ„์œ„๊ธฐ๊ฐ€ ์™„์„ฑ๋ฉ๋‹ˆ๋‹ค. ### ๐Ÿ”Š ๋ฉ€ํ‹ฐ๋ฃธ ์˜ค๋””์˜ค ```bash stv audio play "lo-fi beats" stv audio volume kitchen 30 stv audio stop ``` ํ™”๋ฉด ๊บผ์ง. ์Œ์•…์€ ๋ชจ๋“  ๊ณณ์—์„œ.
**๋ฌด๋ฃŒ Sonos.**
### ๐Ÿ“บ TV๋ฅผ ๋””์Šคํ”Œ๋ ˆ์ด๋กœ ```bash stv display message "์ €๋… ๋จน์–ด์š”!" stv display clock stv display dashboard "Temp:22ยฐC" ``` ๋Œ€์‹œ๋ณด๋“œ, ์‹œ๊ณ„, ์•ˆ๋‚ดํŒ.
**์›” 0์›.**
### ๐Ÿ“Š ์‹œ์ฒญ ๋ถ„์„ ```bash stv insights stv screen-time stv sub-value netflix --cost 17.99 ``` ๋„ทํ”Œ๋ฆญ์Šค๊ฐ€ ์›” 18๋‹ฌ๋Ÿฌ ๊ฐ’์–ด์น˜๋ฅผ ํ•˜๊ณ  ์žˆ๋‚˜์š”? ### ๐ŸŒ ๋™๊ธฐํ™” ํŒŒํ‹ฐ ```bash stv --all play youtube "lo-fi beats" stv --group party play netflix "Wed..." stv --all off # ์ž˜ ์ž์š” ``` ๋ชจ๋“  TV. ๋™์‹œ์—. ์›๊ฒฉ ์นœ๊ตฌ๋„ ํ•จ๊ป˜. ### ๐Ÿค– AI ์ปจ์‹œ์–ด์ง€ ``` "ํŽธ์•ˆํ•œ ๊ฑฐ ํ‹€์–ด์ค˜" โ†’ tv_recommend โ†’ tv_play โ†’ Playing The Queen's Gambit ``` MCP ๋„๊ตฌ 21๊ฐœ. ๋ฌธ์žฅ ํ•˜๋‚˜๋ฉด ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค.
--- ## ๐Ÿค– AI์—๊ฒŒ TV๋ฅผ ๋งก๊ธฐ์„ธ์š” stv๋Š” **MCP ์„œ๋ฒ„**์ž…๋‹ˆ๋‹ค. Claude, GPT, Cursor ๋“ฑ MCP ํด๋ผ์ด์–ธํŠธ๋ผ๋ฉด ์ž์—ฐ์–ด๋กœ TV๋ฅผ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
**์„ค์ • (ํ•œ ์ค„์ด๋ฉด ๋ฉ๋‹ˆ๋‹ค):** ```json { "mcpServers": { "tv": { "command": "uvx", "args": ["stv"] } } } ``` ๋˜๋Š” [OpenClaw](../../docs/integrations/openclaw.md)๋กœ: ```bash clawhub install smartest-tv ``` **๊ทธ๋ƒฅ ๋งํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค:** ``` You: "์ง‘์— ์™”์–ด, ์˜ํ™” ๋ณผ ์ค€๋น„ํ•ด์ค˜" Claude: ๐ŸŽฌ ์˜ํ™” ๋ชจ๋“œ ์ผœ์กŒ์Šต๋‹ˆ๋‹ค. ๋ณผ๋ฅจ โ†’ 20, ์‹œ๋„ค๋งˆ ๋ชจ๋“œ ์ผœ์ง. ์‹œ์ฒญ ๊ธฐ๋ก ๊ธฐ๋ฐ˜ ์ถ”์ฒœ: 1. The Queen's Gambit (Netflix) 2. Ozark (Netflix) 3. Squid Game S2 (Netflix) You: "1๋ฒˆ ํ‹€์–ด์ค˜, ์ฃผ๋ฐฉ TV์—” ์‹œ๊ณ„ ๋„์›Œ์ค˜" Claude: โœ“ The Queen's Gambit ์žฌ์ƒ ์ค‘ โœ“ ์ฃผ๋ฐฉ TV์— ์‹œ๊ณ„ ํ‘œ์‹œ๋จ ```
MCP ๋„๊ตฌ 21๊ฐœ ์ „์ฒด ๋ชฉ๋ก
| ์นดํ…Œ๊ณ ๋ฆฌ | ๋„๊ตฌ | ์„ค๋ช… | |---------|------|------| | **์žฌ์ƒ** | `tv_play` | ์ด๋ฆ„์œผ๋กœ ๊ฒ€์ƒ‰ ํ›„ ์žฌ์ƒ | | | `tv_cast` | URL ์บ์ŠคํŠธ | | | `tv_next` | ์ด์–ด์„œ ๋ณด๊ธฐ | | | `tv_launch` | ID๋กœ ์•ฑ ์‹คํ–‰ | | | `tv_resolve` | ์ฝ˜ํ…์ธ  ID๋งŒ ์กฐํšŒ | | **ํƒ์ƒ‰** | `tv_whats_on` | ํŠธ๋ Œ๋”ฉ ์ฝ˜ํ…์ธ  | | | `tv_recommend` | ๊ฐœ์ธํ™” ์ถ”์ฒœ | | **์ œ์–ด** | `tv_power` | ์ผœ๊ธฐ/๋„๊ธฐ | | | `tv_volume` | ๋ณผ๋ฅจ ์กฐํšŒ/์„ค์ •/๋‹จ๊ณ„/์Œ์†Œ๊ฑฐ | | | `tv_screen` | ํ™”๋ฉด ์ผœ๊ธฐ/๋„๊ธฐ | | | `tv_notify` | ํ† ์ŠคํŠธ ์•Œ๋ฆผ | | | `tv_status` | ํ˜„์žฌ ์ƒํƒœ | | **์ •๋ฆฌ** | `tv_queue` | ์žฌ์ƒ ๋Œ€๊ธฐ์—ด | | | `tv_scene` | ์žฅ๋ฉด ํ”„๋ฆฌ์…‹ | | | `tv_history` | ์‹œ์ฒญ ๊ธฐ๋ก | | **๋ถ„์„** | `tv_insights` | ์‹œ์ฒญ ํ†ต๊ณ„ | | | `tv_display` | TV๋ฅผ ๋””์Šคํ”Œ๋ ˆ์ด๋กœ | | | `tv_audio` | ๋ฉ€ํ‹ฐ๋ฃธ ์˜ค๋””์˜ค | | **๋ฉ€ํ‹ฐ TV** | `tv_sync` | ๋ชจ๋“  TV์—์„œ ์žฌ์ƒ | | | `tv_list_tvs` | TV ๋ชฉ๋ก | | | `tv_groups` | TV ๊ทธ๋ฃน |
--- ## ๐Ÿ“… stv์™€ ํ•จ๊ป˜ํ•˜๋Š” ํ•˜๋ฃจ | ์‹œ๊ฐ„ | ๋ฌด์Šจ ์ผ์ด ์ผ์–ด๋‚˜๋‚˜ | |------|-----------------| | **์˜ค์ „ 7์‹œ** | ์ฃผ๋ฐฉ TV์— `stv display dashboard "Weather:18ยฐC" "Meeting:10am"` | | **์˜ค์ „ 8์‹œ** | `stv scene kids --tv kids-room` โ€” Cocomelon, ๋ณผ๋ฅจ 15 | | **๋‚ฎ 12์‹œ** | ์นœ๊ตฌ๊ฐ€ ๋„ทํ”Œ๋ฆญ์Šค ๋งํฌ๋ฅผ ๋ณด๋ƒ„ โ†’ `stv cast ` | | **์˜คํ›„ 5์‹œ** | `stv screen-time` โ†’ ์˜ค๋Š˜ ์•„์ด๊ฐ€ 2์‹œ๊ฐ„ 15๋ถ„ ์‹œ์ฒญ | | **์˜คํ›„ 6์‹œ 30๋ถ„** | `stv scene movie-night` โ€” ๋ณผ๋ฅจ 20, ์‹œ๋„ค๋งˆ ๋ชจ๋“œ | | **์˜คํ›„ 7์‹œ** | `stv recommend --mood chill` โ†’ Ozark ์ถ”์ฒœ | | **์˜คํ›„ 9์‹œ** | `stv audio play "friday vibes" -p spotify` โ€” ๋ชจ๋“  ๊ณณ์—์„œ ์Œ์•… | | **์˜คํ›„ 10์‹œ** | `stv --group party play netflix "Wednesday" s1e1` โ€” ๋™๊ธฐํ™” | | **์˜คํ›„ 11์‹œ 30๋ถ„** | `stv scene sleep` โ†’ `stv --all off` โ€” ์ž˜ ์ž์š” | --- ## ๐Ÿ”ฅ ํ‚ฌ๋Ÿฌ ์กฐํ•ฉ
**๐ŸŒ™ ์ทจ์นจ ์ž๋™ํ™”** ```bash stv audio play "rain" --rooms bedroom stv scene sleep stv --all off ``` ํ™˜๊ฒฝ์Œ, ํ™”๋ฉด ๊บผ์ง, ์ž๋™ ํƒ€์ด๋จธ, ๋‚˜๋จธ์ง€ TV ์ „๋ถ€ ์ข…๋ฃŒ. **๐ŸŽง ๋ฌด๋ฃŒ Sonos** ```bash stv audio play "lo-fi beats" stv audio volume kitchen 40 stv audio volume bedroom 15 ``` ๋ชจ๋“  TV๊ฐ€ ์Šคํ”ผ์ปค๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. ๋ฐฉ๋งˆ๋‹ค ๋ณผ๋ฅจ ์กฐ์ ˆ. ํ™”๋ฉด์€ ๊บผ์ง. **๐Ÿ’ฐ ๊ตฌ๋… ์ ๊ฒ€** ```bash stv sub-value netflix --cost 17.99 # โ†’ $8.50/hr โ€” ํ•ด์ง€๋ฅผ ๊ณ ๋ คํ•˜์„ธ์š” stv sub-value youtube --cost 13.99 # โ†’ $1.20/hr โ€” ๊ฐ€์„ฑ๋น„ ์ข‹์Œ ```
> [**๋ ˆ์‹œํ”ผ 10๊ฐœ ๋” ๋ณด๊ธฐ โ†’**](../../docs/guides/recipes.md) --- ## โš™๏ธ ๋™์ž‘ ์›๋ฆฌ ``` "Play Dark S1E1" โ”‚ โ–ผ โ”Œโ”€โ”€โ”€ ํ•ด์„ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ ์บ์‹œ โ†’ API โ†’ ์›น โ”‚ content_id โ”‚ 0.1s 1s 3s โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ถ ๐Ÿ“บ TV ์žฌ์ƒ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ ๋”ฅ๋งํฌ ์—ฐ๊ฒฐ LG / Samsung / Roku / Android ``` ์ด๋ฆ„์„ ๋งํ•˜๋ฉด stv๊ฐ€ ์ฝ˜ํ…์ธ  ID๋ฅผ ์ฐพ์•„ TV ์•ฑ์— ๋”ฅ๋งํฌ๋กœ ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค. ๋ธŒ๋ผ์šฐ์ € ์ž๋™ํ™” ์—†์Œ, API ํ‚ค ์—†์Œ, ํด๋ผ์šฐ๋“œ ์˜์กด ์—†์Œ. ๊ฒฐ๊ณผ๋Š” ์บ์‹œ๋˜์–ด ๋ฐ˜๋ณต ์žฌ์ƒ ์‹œ ์ฆ‰์‹œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. --- ## ๐Ÿ“ฆ ์„ค์น˜ ```bash pip install stv # LG webOS (๊ธฐ๋ณธ) pip install "stv[samsung]" # Samsung Tizen pip install "stv[android]" # Android TV / Fire TV pip install "stv[all]" # ์ „๋ถ€ ๋‹ค ``` ```bash stv setup # TV ์ž๋™ ํƒ์ƒ‰ + ํŽ˜์–ด๋ง ``` > **LG webOS** ยท **Samsung Tizen** ยท **Android TV / Fire TV** ยท **Roku** ์ง€์› --- ## ๐Ÿ”Œ ์—ฐ๋™ ์ง€์› | ์—ฐ๋™ | ๋ฐฉ๋ฒ• | |-----|------| | **Claude Code / Cursor** | MCP ์„ค์ • ์ถ”๊ฐ€ โ†’ `"Dark s1e1 ํ‹€์–ด์ค˜"` | | **OpenClaw** | `clawhub install smartest-tv` โ†’ ํ…”๋ ˆ๊ทธ๋žจ ๋ด‡ | | **Home Assistant** | ์ž๋™ํ™”์—์„œ ์‰˜ ๋ช…๋ น ์‚ฌ์šฉ | | **cron** | `0 7 * * * stv display dashboard ...` | | **์‰˜ ์Šคํฌ๋ฆฝํŠธ** | `sleep-mode`, `party-mode` ์›๋ผ์ด๋„ˆ | | **๋ชจ๋“  MCP ํด๋ผ์ด์–ธํŠธ** | ๋„๊ตฌ 21๊ฐœ, stdio ๋˜๋Š” HTTP (`stv serve`) | --- ## ๐Ÿ“š ๋ฌธ์„œ | | | |---|---| | [์‹œ์ž‘ํ•˜๊ธฐ](../../docs/getting-started/installation.md) | ๋ชจ๋“  TV ๋ธŒ๋žœ๋“œ ์ดˆ๊ธฐ ์„ค์ • | | [์ฝ˜ํ…์ธ  ์žฌ์ƒ](../../docs/guides/playing-content.md) | play, cast, queue, resolve | | [Scene](../../docs/guides/scenes.md) | movie-night, kids, sleep, ์ปค์Šคํ…€ | | [์‹ฑํฌ & ํŒŒํ‹ฐ](../../docs/guides/sync-party.md) | ๋ฉ€ํ‹ฐ TV, ์›๊ฒฉ ์›Œ์น˜ ํŒŒํ‹ฐ | | [๋ ˆ์‹œํ”ผ](../../docs/guides/recipes.md) | **๊ฐ•๋ ฅํ•œ ๊ธฐ๋Šฅ ์กฐํ•ฉ 10๊ฐ€์ง€** | | [AI ์—์ด์ „ํŠธ](../../docs/guides/ai-agents.md) | Claude, Cursor, OpenClaw MCP ์„ค์ • | | [CLI ๋ ˆํผ๋Ÿฐ์Šค](../../docs/reference/cli.md) | ๋ชจ๋“  ๋ช…๋ น์–ด์™€ ์˜ต์…˜ | | [MCP ๋„๊ตฌ](../../docs/reference/mcp-tools.md) | ํŒŒ๋ผ๋ฏธํ„ฐ ํฌํ•จ 21๊ฐœ ๋„๊ตฌ ์ „์ฒด | --- ## ๐Ÿค ๊ธฐ์—ฌํ•˜๊ธฐ ํ…Œ์ŠคํŠธ 211๊ฐœ. TV ์—†์ด๋„ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ```bash pip install -e ".[dev]" python -m pytest tests/ -v ``` Samsung, Roku, Android TV ๋“œ๋ผ์ด๋ฒ„๋Š” ์‹ค์ œ ๊ธฐ๊ธฐ ํ…Œ์ŠคํŠธ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฐ TV๋ฅผ ๊ฐ–๊ณ  ์žˆ๋‹ค๋ฉด [์—ฌ๋Ÿฌ๋ถ„์˜ ํ”ผ๋“œ๋ฐฑ์ด ์†Œ์ค‘ํ•ฉ๋‹ˆ๋‹ค](https://github.com/Hybirdss/smartest-tv/issues). [์บ์‹œ ๊ธฐ์—ฌํ•˜๊ธฐ](../../docs/contributing/cache-contributions.md) ยท [๋“œ๋ผ์ด๋ฒ„ ๊ฐœ๋ฐœ](../../docs/contributing/driver-development.md) ---

MIT License ยท Python์œผ๋กœ ์ œ์ž‘ ยท ํด๋ผ์šฐ๋“œ ๋ถˆํ•„์š”