ting / ๅฌ
An agent-first multi-source media engine with a terminal face. Search a source, play it through mpv detached from your terminal, and keep controlling it โ from a TUI if you are a human, from a single-line JSON contract if you are a program.
Two 100% First-Class Faces
No MCP wrapper needed: machine programs and humans interact on equal terms.
Designed from day zero for AI agents, shell scripts, and headless automation. Zero modal prompts, deterministic behavior.
- Single-line JSON envelope output (
-j) on every verb - Strict 4-tier exit code taxonomy (
0ok /1usage /2+tool fail /4no-op) - Detached background playback daemon lifecycle (
-d,--status,--stop) - Lock-free append-only listening history and durable playlist stores
$ ting-play --search -j -n 2 -- "lofi hip hop"
{"event":"search","engine":"yt","query":"lofi hip hop","count":2,"results":[{"id":"jfKfPfyJRdk","title":"lofi hip hop radio","duration":"live"}]}
A high-craft Go terminal UI with East-Asian ambiguous width handling, Kitty cover art, and 13 curated themes.
- Single-view architecture: 6 row sources seamlessly hot-swap into one list
- Incremental fuzzy filter (
/) and row jump navigation (Nj) - Destructive actions execute instantly;
zundoes without annoying "are you sure" dialogs - In-terminal album cover art over Kitty graphics protocol
- 13 built-in themes (Catppuccin, Tokyo Night, Nord, Rose Pine, Everforest...)
โถ 01. lofi hip hop radio - beats to relax/study to [03:45]
02. coffee shop radio // 24/7 lofi hip hop beats [04:12]
03. 1 A.M Study Session ๐ - [lofi hip hop] [23:10]
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Enter ๆญๆพ ยท Space ๆๅ ยท / ่ฟๆปค ยท e ๅๆขๆบ ยท z ๆค้ ยท ? ๅธฎๅฉ
Three Shipped Source Engines
Site-specific knowledge is isolated in engines; the player and TUI never change to admit new sources.
Direct streams via yt-dlp, quality tier mapping (low / mid / high), start offset normalization, and timestamp extraction.
High-speed curl HTTP metadata extraction paired with yt-dlp stream negotiation and multi-part container (--items) traversal.
Encrypted browser weapi protocol via openssl, real access licensing tiers (full / preview / paywalled), and synced lyrics.
Architecture & Hard Invariants
Seven standalone executables, bash 3.2 baseline, strictly locked to 5 external dependencies.
The suite refuses abstraction sprawl: mpv, yt-dlp, nc -U, curl, and jq are the only external dependencies. No C libraries, no daemon managers, no bloated MCP servers.
Keyboard Navigation
Optimized for terminal ergonomics. Single-stroke actions with instant z undo.