Skip to main content

AI CLI Background Music Player - Plays work music in loop and done music when finished

Project description

mythril-agent-bgm

mythril-agent-bgm

English | 中文

"AI fatigue is real." - Siddhant Khare

mythril-agent-bgm is a cross-platform CLI tool that adds audio feedback to AI-assisted coding sessions. It plays looped work music while the agent is active, plays a done cue when work finishes, and stops automatically at session end.

Why

AI coding sessions are productive but mentally expensive. This tool helps by turning invisible state changes into simple audio cues:

  • work music loops when the agent is actively working
  • done cue plays when a task finishes
  • playback stops automatically when the session ends

This reduces constant status-checking and makes long sessions less draining.

Install

pip install mythril-agent-bgm

# Upgrade
pip install -U mythril-agent-bgm

This installs the bgm command.

Quick Start

On first run, any bgm command initializes your user config directory with starter files.

  1. bgm setup - install hooks/plugins for detected AI tools
  2. bgm select - choose a BGM profile (default or your custom profile)
  3. bgm enable - enable automatic BGM behavior

Optional quick check:

bgm play work 0
bgm stop

Supported Integrations

  • Claude Code
  • GitHub Copilot CLI
  • Cursor Agent
  • Gemini CLI
  • OpenCode (plugin-based)

bgm setup only configures tools detected on your machine.

Config Paths

  • macOS/Linux: ~/.config/mythril-agent-bgm/
  • Windows: %APPDATA%\mythril-agent-bgm\

Important files:

  • config.json - custom BGM profiles
  • selection.json - selected profile and enable/disable state
  • sounds/ - user .mp3 files (flat directory, no subdirectories)
  • bgm_player.pid - daemon process ID
  • bgm_player.log - daemon log file

Customize Audio

  1. Copy .mp3 files into your user sounds/ directory.
  2. Edit your user config.json:
{
  "my_collection": {
    "work": ["my_song.mp3", "another.mp3"],
    "done": ["done.mp3"],
    "notification": ["ping.mp3"]
  }
}
  1. Run bgm select and choose my_collection.

Notes:

  • profile names are arbitrary (my_collection is only an example)
  • user audio files override built-in files when names are the same
  • only bare filenames are supported (no nested paths)

Common Commands

bgm play work 0          # Loop work music indefinitely
bgm play work 3          # Play work music 3 times
bgm play done            # Play done music once
bgm play notification    # Play notification sound
bgm stop                 # Stop current playback daemon
bgm toggle               # Toggle play/stop
bgm select               # Choose profile
bgm setup                # Manage AI tool integrations (hook / unhook)
bgm enable               # Enable automatic BGM (global switch on)
bgm disable              # Disable automatic BGM (global switch off)

Troubleshooting

# Verify pygame is installed
pip show pygame

# Stop active playback
bgm stop

If issues continue, inspect files in your config directory:

  • bgm_player.log
  • bgm_player.pid

Uninstall

pip uninstall mythril-agent-bgm

Optional: remove your user config directory manually.

Development

See docs/Dev.md.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mythril_agent_bgm-0.1.7.tar.gz (18.6 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mythril_agent_bgm-0.1.7-py3-none-any.whl (18.6 MB view details)

Uploaded Python 3

File details

Details for the file mythril_agent_bgm-0.1.7.tar.gz.

File metadata

  • Download URL: mythril_agent_bgm-0.1.7.tar.gz
  • Upload date:
  • Size: 18.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.2

File hashes

Hashes for mythril_agent_bgm-0.1.7.tar.gz
Algorithm Hash digest
SHA256 d8d77118ba6c2e9203eae309416c5306f6d7fc60cdd15aa24da2e4e1926ed9d9
MD5 a18d74698aeb5db9023305fd9f1e21fe
BLAKE2b-256 d7e9d5d469cf9148c2e68552c59cd9539b5bc4cc5522806fca0228399155131b

See more details on using hashes here.

File details

Details for the file mythril_agent_bgm-0.1.7-py3-none-any.whl.

File metadata

File hashes

Hashes for mythril_agent_bgm-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 0a6ce032fbbc566f65ce039f3975b0ce12e1ee66eee08c134ecb6e69ffad0e5b
MD5 abc6b9fbe7ff2d08e699ac5a3008b24d
BLAKE2b-256 6d1c967aa2b11d3b2b4804219bb6baa0bd8cf66060edf5b4f25036ce71db8787

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page