单文件 Bash CLI,支持 SSH 远程连接,适用于 *arr 媒体栈。适合代理与媒体服务运行在不同机器上的场景(如 VPS 代理管理...)。
One bash script to manage your entire media automation stack from a remote machine. Search, add, download, and monitor movies and TV shows without touching a web UI.
Built for setups where the AI agent runs on a different host than the media services (e.g., a VPS running OpenClaw managing a home server's *arr stack). If everything runs on the same machine, use media-cli-local instead.
Source: https://github.com/solomonneas/media-cli
Install: Clone the repo and run the install script, or copy the media file to your PATH manually. See the GitHub README for details.
ServiceRequiredWhat It DoesSonarrYesTV show managementRadarrYesMovie managementProwlarrYesIndexer managementqBittorrentYesDownload monitoringBazarrOptionalSubtitlesJellyseerrOptionalUser requests + trendingTdarrOptionalTranscode monitoring
bash
# Install (clone and review the script first)
git clone https://github.com/solomonneas/media-cli.git
cd media-cli
bash install.sh
# Configure (interactive wizard)
media setup
# Test
media status
The setup wizard asks for API URLs and keys, saves to ~/.config/media-cli/config (chmod 600).
bash
media movies search "Interstellar" # Search online
media movies add "Interstellar" # Add + start downloading
media movies list # Library with download status
media movies missing # Monitored without files
media movies remove "title" # Remove (keeps files)
bash
media shows search "Breaking Bad" # Search online
media shows add "Breaking Bad" # Add + search episodes
media shows list # Library with episode counts
bash
media downloads # All torrents by state
media downloads active # Active with speed + ETA
media downloads pause <hash|all>
media downloads resume <hash|all>
media downloads remove <hash> [true] # true = delete files too
bash
media status # Health + library counts + active downloads
media queue # Sonarr/Radarr download queues
media wanted # Missing episodes + movies
media calendar 14 # Upcoming releases (next N days)
media history # Recent activity
media refresh # Trigger library rescan
media indexers # Prowlarr indexer status
bash
media subs # Wanted subtitles
media subs history # Recent subtitle downloads
bash
media requests # Pending user requests
media requests trending # What's trending
media requests users # User list with request counts
bash
media tdarr # Status + active workers
media tdarr workers # Per-file progress: %, fps, ETA
media tdarr queue # Items queued for processing
text
MEDIA_HOST="local"
text
MEDIA_HOST="ssh:hyperv-host" # Uses SSH config alias
MEDIA_HOST_OS="linux" # or "windows"
SSH mode tunnels all API calls through your existing SSH config. Services stay on localhost and are never exposed to the network. No additional ports or credentials needed beyond your normal SSH access. Windows hosts automatically use PowerShell's Invoke-RestMethod for POST requests.
Commands are designed for easy parsing by AI agents. Any tool that can run shell commands works:
text
"What shows am I missing episodes for?" → media wanted
"Add Succession" → media shows add "Succession"
"What's downloading right now?" → media downloads active
"Pause all downloads" → media downloads pause all
Works with OpenClaw, LangChain, Claude computer use, or any agent framework with shell execution.
~/.config/media-cli/config with chmod 600