惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

P
Proofpoint News Feed
U
Unit 42
V
Visual Studio Blog
D
DataBreaches.Net
F
Fortinet All Blogs
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
The GitHub Blog
The GitHub Blog
Y
Y Combinator Blog
月光博客
月光博客
大猫的无限游戏
大猫的无限游戏
T
The Blog of Author Tim Ferriss
GbyAI
GbyAI
博客园 - 叶小钗
Blog — PlanetScale
Blog — PlanetScale
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
MongoDB | Blog
MongoDB | Blog
The Cloudflare Blog
云风的 BLOG
云风的 BLOG
D
Docker
G
Google Developers Blog
罗磊的独立博客
博客园 - 三生石上(FineUI控件)
小众软件
小众软件
S
SegmentFault 最新的问题

Hacker News: Show HN

PurrrrrFocus: Pomodoro Timer App - App Store Workflow Engine — Multi-Step Orchestration for Bun RapidPhoto: Pro Photo Editor App - App Store GitHub - DheerG/swarms: Achieve extraordinary results with claude code across a variety of tasks SPICE simulation → oscilloscope → verification with Claude Code — Lucas Gerads Show HN: VCoding – A 5 MB native Windows IDE with no dynamic dependencies Show HN: LLMs don't hallucinate because they're bad at math, it's the format GitHub - Agent-FM/agentfm-core: AgentFM is a peer-to-peer network that turns everyday computers into a decentralized AI supercomputer. AgentFM lets you run massive AI workloads directly across a global mesh of idle CPUs and GPUs. Show HN: Tracking Top US Science Olympiad Alumni over Last 25 Years GitHub - Potarix/agent-hub: One place to talk to all your agents Show HN: Runtime security for AI agents(injection,tool abuse, data exfiltration) GitHub - dubeyKartikay/lazyspotify: Terminal Spotify client for macOS and Linux GitHub - the-banana-tool/king-louie: Easy to use GUI Personal AI Assistant. Win/Linux/Mac. Show HN I made my vacation rental bookable by AI agents–no Airbnb, 0% commission GitHub - basteez/jsf-autoreload: maven plugin to enable hot reload on jsf projects uvm32/hosts/host-gdbstub at main · ringtailsoftware/uvm32 GitHub - labsai/EDDI: Config-driven engine that turns JSON into production-grade AI agents. Multi-agent orchestration, 12+ LLM providers, MCP/A2A protocols, RAG, persistent memory, and enterprise compliance (EU AI Act, GDPR, HIPAA). Built on Quarkus. GitHub - glitchnsec/fortyone-oss: AI Executive Assistant Platform Quickstart | Alien GitHub - muxshed/shed: One stream in, or many. Every destination, simultaneously. No cloud middleman, no per-channel fees, no limits. GitHub - ocrbase-hq/ocrbase: 📄 PDF/IMG ->.MD/JSON Document OCR API for PaddleOCR and GLMOCR. Self-hostable. GitHub - impactjo/home-memory: MCP server that lets your AI assistant remember everything about your home. GitHub - Sets88/dbcls: DbCls is a powerful terminal database client that supports various databases GitHub - neptun2000/heor-agent-mcp GitHub - SeanFDZ/macmind: Single-layer transformer in HyperTalk for the classic Macintosh RollQuation: Math Puzzles - Apps on Google Play GitHub - dropbox/witchcraft Show HN: Agent-cache – Multi-tier LLM/tool/session caching for Valkey and Redis GitHub - opentalon/opentalon: OpenTalon is an open-source platform built from the ground up in Go as a robust alternative to OpenClaw LinkedIn™ 职位抓取工具 - Chrome 应用商店
GitHub - JustRoccat/rs-pug: terminal music player — mpv +...
coldbrxthe · 2026-05-13 · via Hacker News: Show HN

Neovim out of music players. Search, queue, listen — no browser, no ads, no nonsense.

rs-pug uses mpv + yt-dlp under the hood, with a terminal UI built on ratatui.

img img

Features

  • YouTube search and queue playback in TUI.
  • Album search support (Albums tab).
  • Smart Queue: Automatically find and play similar tracks.
  • Local files playback with metadata support (Artist/Album/Title).
  • Organized Local View: Switch between Flat and Organized (Artist -> Album -> Song) views.
  • Playlist library: Create, delete, and manage your own playlists.
  • 10-band equalizer with built-in and custom presets.
  • Dynamic, reactive audio visualizer.
  • Recently played history (saved to SQLite database).
  • Playlist import/export from context menu (c).
  • Theme switching: Multiple built-in themes + custom JSON themes.
  • Mouse support: Scroll through lists and click tabs.
  • Lua plugin system for extending functionality.
  • MPRIS support: Media key and playerctl integration.

Dependencies

Required:

  • mpv
  • yt-dlp

Optional:

  • mpv-mpris (for media key / playerctl support)

Installation

From AUR (Arch Linux)

yay -S rs-pug-git
# or
paru -S rs-pug-git

Manually

git clone https://github.com/JustRoccat/rs-pug
cd rs-pug
cargo build --release
./target/release/rs-pug

Keybinds

Navigation & Global

Key Action
1-5 Switch Tabs (Discover, Albums, Library, Local, Options)
Tab Switch focus between panels (Results / Queue)
j / Down Move selection down
k / Up Move selection up
PgUp / PgDn Scroll selection by 10
/ Start searching (Discover/Albums tabs)
c Open Context Menu
q Quit
Ctrl+c Force quit

Playback

Key Action
Enter Play selected song / Confirm
Space Pause / Resume
n Next track
p Previous track
m Mute / Unmute
r Cycle Repeat mode (None, Track, Queue)
z Toggle Shuffle
[ / ] Seek backward / forward

Tab Specific

  • Library Tab:
    • a: Create new playlist.
    • x: Delete selected playlist (with confirmation).
    • e: Expand / Collapse playlist folders.
  • Local Tab:
    • v: Toggle view mode (Flat vs Organized).
  • Options Tab:
    • f: While focusing "EQ preset", press to save current EQ as a new preset.

Mouse Support

  • Scroll Wheel: Scroll through search results, playlists, and the queue.
  • Left Click: Click on tab icons at the top to switch between views.

Smart Queue

In the Options tab, you can trigger the Smart Queue. This feature analyzes the currently playing song and automatically finds similar tracks from the same uploader or with similar titles to keep the music flowing.

Customization

Themes

rs-pug comes with several built-in themes: dark (default), light, nord, gruvbox, and mono.

You can add your own themes by creating .json files in ~/.config/rs-pug/themes/.

Example mytheme.json:

{
  "text": [255, 255, 255],
  "dim": [100, 100, 100],
  "muted": [150, 150, 150],
  "info": [0, 255, 255],
  "warn": [255, 255, 0],
  "ok": [0, 255, 0],
  "primary": [255, 0, 255],
  "accent2": [200, 0, 200],
  "accent3": [100, 0, 100]
}

EQ Presets

Your custom EQ presets are stored as .json files in ~/.config/rs-pug/eqpresets/.

Local Music

By default, rs-pug scans ~/.config/rs-pug/music-local/. You can change this or add more directories in the Options tab. The app supports natural sorting and metadata extraction.

Playlists & Storage

Data is stored in a SQLite database at ~/.config/rs-pug/pug.db. Legacy JSON files are automatically migrated on first run.

  • Import path: ~/.config/rs-pug/import_playlist.json
  • Export path: ~/.config/rs-pug/exports/<playlist_name>.json

Plugins (Lua)

Drop Lua scripts into ~/.config/rs-pug/plugins/. They are loaded automatically and can react to keys, search queries, and playback events. See docs.md for the full API reference.

Configuration

Config file path: ~/.config/rs-pug/config.toml. The app also looks for rs-pug.toml or pug.toml in the current working directory.

Contributing

Plugin system is Lua-based. If you know Lua, example plugins / plugin PRs are very welcome.

BTW

Now you can see examples and you can download plugins, themes, eqpresets here: https://github.com/JustRoccat/all-rspug/

gif

License

MIT