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

推荐订阅源

有赞技术团队
有赞技术团队
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
IT之家
IT之家
博客园 - 【当耐特】
罗磊的独立博客
Stack Overflow Blog
Stack Overflow Blog
MyScale Blog
MyScale Blog
WordPress大学
WordPress大学
The GitHub Blog
The GitHub Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Hugging Face - Blog
Hugging Face - Blog
I
InfoQ
B
Blog RSS Feed
腾讯CDC
云风的 BLOG
云风的 BLOG
N
Netflix TechBlog - Medium
Apple Machine Learning Research
Apple Machine Learning Research
GbyAI
GbyAI
雷峰网
雷峰网
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
D
DataBreaches.Net
The Cloudflare Blog
V
V2EX
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 - think41/extrasuite: Token-efficient pull/edit/push workflow for AI agents editing Google Workspace files (Sheets, Docs, Slides, Forms) 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 - 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 - dubeyKartikay/lazyspotify: Terminal Spotify clie...
dubeyKartika · 2026-04-17 · via Hacker News: Show HN

✍️ I write about building tools like this at dubeykartikay.com.

lazyspotify logo

A terminal Spotify client.

Release Release workflow License

LazySpotify

Requirements

  • A Spotify Premium account.
  • A working system keyring.
  • The patched lazyspotify-librespot daemon (only if you are installing from source or running an unpackaged build)
  • On Linux, one of wl-clipboard, xclip, or xsel if you want clipboard support on the auth screen.

Install

Homebrew

brew tap dubeyKartikay/lazyspotify
brew install lazyspotify

Arch Linux

GitHub Releases

Download the latest package from GitHub Releases.

  • macOS: signed .zip
  • Ubuntu/Debian: .deb
  • Fedora/RHEL: .rpm
  • Arch: .tar.gz

Example package installs:

sudo dpkg -i lazyspotify-*.deb
sudo dnf install ./lazyspotify-*.rpm

Build From Source

Build the app:

git clone https://github.com/dubeyKartikay/lazyspotify.git
cd lazyspotify
make build

Then build the patched daemon from dubeyKartikay/go-librespot and point librespot.daemon.cmd at that binary in your config.

If you build lazyspotify yourself and do not compile in a packaged daemon path, librespot.daemon.cmd is required.

Demos

Play A Track From Playlist > Track

Play a track from a playlist

Player Controls

Player controls

Library Navigation

Library navigation

Search

Search navigation

Set Up Your Spotify Client ID

lazyspotify requires your own Spotify app client ID.

  1. Open the Spotify Developer Dashboard.
  2. Create a new app with:
    • App name: lazyspotify
    • App description: terminal based spotify client
    • Website: https://github.com/dubeyKartikay/lazyspotify
    • Redirect URIs: http://127.0.0.1:8287/callback
    • APIs used: Web API, Web Playback SDK
  3. Copy the app's Client ID.
  4. Put the Client ID in config.yml or export it as an environment variable. See Configuration.

Minimal config:

auth:
  client_id: your_spotify_app_client_id

Environment override:

export AUTH_CLIENT_ID=your_spotify_app_client_id

If you change auth.host, auth.port, or auth.redirect-endpoint, update the Spotify app Redirect URI to match exactly.

Configuration

Config file locations:

  • macOS: ~/Library/Application Support/lazyspotify/config.yml
  • Linux: ~/.config/lazyspotify/config.yml

If the file is missing, lazyspotify creates config.yml with:

auth:
  client_id: your_spotify_app_client_id

Then replace your_spotify_app_client_id with your Spotify app Client ID.

Minimal config for package installs:

auth:
  client_id: your_spotify_app_client_id

Minimal config for source or manual installs:

auth:
  client_id: your_spotify_app_client_id

librespot:
  daemon:
    cmd:
      - /absolute/path/to/lazyspotify-librespot

The generated daemon config is written automatically under the librespot/ subdirectory inside the app config directory. You usually do not need to edit it manually.

Auth Settings

Key Required Default Notes
log_level No ERROR App log level for lazyspotify.
auth.client_id Yes none Your Spotify app client ID.
auth.host No 127.0.0.1 Host used for the local OAuth callback server.
auth.port No 8287 Port used for the local OAuth callback server.
auth.redirect-endpoint No /callback Callback path for Spotify OAuth.
auth.timeout No 30 Auth server shutdown timeout in seconds.
auth.keyring.service No spotify Keyring service name for stored tokens.
auth.keyring.key No token-v2 Keyring key for stored tokens.

Librespot Settings

Key Required Default Notes
librespot.host No 127.0.0.1 Host for the local playback API server.
librespot.port No 4040 Port for the local playback API server.
librespot.timeout No 180 Playback API timeout in seconds.
librespot.retry-delay No 100 Retry delay in milliseconds.
librespot.max-retries No 3 Retry count for daemon calls.
librespot.seek-step-ms No 5000 Seek step size in milliseconds.
librespot.volume-step No 20 Volume step percentage (0-100) used for volume controls.
librespot.daemon.cmd Sometimes none Required for source/manual installs unless a packaged daemon path was compiled into the binary.
librespot.daemon.log_level No ERROR Log level written into the generated librespot daemon config.
librespot.daemon.zeroconf_enabled No false Enables zeroconf in the daemon config.

Environment variables can override config values by replacing . and - with _. Examples: LOG_LEVEL, AUTH_CLIENT_ID, LIBRESPOT_DAEMON_LOG_LEVEL.

Run

Start the app with:

If you built from source:

Print build metadata:

Development

Community