CloudMusic 是一个网易云音乐终端客户端,提供两套可直接使用的界面:
cloudmusic:基于 Textual 的分栏 TUIcloudmusic-ascii:纯 ASCII 复古 CLI
项目同时附带 musicctl 命令行工具、Rofi / Waybar bridge、歌单导出/下载能力,以及一键本地安装脚本。
- 双界面:Fancy Textual TUI + Retro ASCII CLI
- 播放控制:播放 / 暂停 / 上下首 / 停止 / 快进后退 / 音量 / 循环 / 随机
- 资源浏览:我的歌单、排行榜、每日推荐、私人 FM、云盘歌曲、推荐歌单
- 内容管理:新建/重命名/删除歌单,添加/移除歌曲,收藏歌曲/歌单/专辑/歌手
- 元数据功能:歌词、歌曲详情、评论、专辑页、歌手页
- 下载与导出:歌曲下载、歌单下载、JSON / CSV / M3U 导出
- 桌面集成:
musicctl bridge、scripts/RofiBeats_CloudMusic.sh
运行时至少需要:
python3.10+- 一个可用播放器,推荐
mpv
可选播放器与集成组件:
mpv:推荐,功能最完整ffmpeg:提供ffplay作为兜底播放器vlc:提供vlc/cvlc兜底播放器rofi:Rofi / RofiBeats 菜单集成qrencode、wl-clipboard、libnotify:提升 QR 登录辅助体验
git clone https://github.com/vimalinx/CloudMusic.git
cd CloudMusic
./install.sh
source ~/.zshrc安装完成后常用命令:
cloudmusic
cloudmusic-ascii
cloudmusic-start
musicctlgit clone https://github.com/vimalinx/CloudMusic.git
cd CloudMusic
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"仓库内已附带 cloudmusic-git 的 AUR 打包文件:
packaging/aur/cloudmusic-git/PKGBUILDpackaging/aur/cloudmusic-git/.SRCINFO
如果 AUR 包已发布,可直接安装:
yay -S cloudmusic-git如果只是本地试打包:
cd packaging/aur/cloudmusic-git
makepkg -si当前推荐先用 musicctl 完成登录,再启动图形 TUI / ASCII CLI。
musicctl login-auto
musicctl whoami也可以指定浏览器:
musicctl login-auto --browser chrome
musicctl login-auto --browser chromium --profile "Default"musicctl login-qr
musicctl whoamimusicctl login --cookie 'MUSIC_U=xxx; __csrf=yyy'
musicctl whoamimusicctl logoutcloudmusic
# 或
cloudmusic --fancy
# 或
musicctl tui-fullcloudmusic-ascii
# 或
musicctl tui-full --retro./start.sh
./start.sh fancy
./start.sh asciiEnter:执行当前区域动作;在歌单区打开歌单,在歌曲区播放当前歌曲Tab/Shift+Tab:切换区域焦点Ctrl+1/2/3/4:快速聚焦歌单 / 歌曲 / 搜索 / 音量Space:播放 / 暂停n/p:下一首 / 上一首x:停止播放,/.:后退 / 前进 10 秒s/l:随机 / 循环/:聚焦本地筛选Ctrl+f:云搜索?:键位帮助q:退出
Tab/←/→:切换 panej/k/↑/↓:移动选择Enter:歌单 pane 里加载歌单;歌曲 pane 里播放歌曲Space:播放 / 暂停n/p:下一首 / 上一首l:循环x:随机+/-:调节速度s:停止r:刷新q:退出
musicctl search "周杰伦"musicctl playlist ls --uid <uid>
musicctl playlist create "夜间循环"
musicctl playlist rename --id <playlist_id> --name "新名字"
musicctl playlist delete --id <playlist_id>musicctl playlist pull --id <playlist_id> --format json
musicctl playlist sync --dir ./exports/sync
musicctl song download --id <song_id> --out ./song.mp3
musicctl playlist download --id <playlist_id> --dir ./downloadsmusicctl play url 20744694
musicctl play url 20744694 --play
musicctl play stopmusicctl bridge status
musicctl bridge search --keyword "周杰伦" --limit 20
musicctl bridge play --song-id 210049
musicctl bridge playlists --limit 50
musicctl bridge playlist-tracks --playlist-id 123456 --limit 200
musicctl bridge control --action play-pause
musicctl bridge play-playlist --playlist-id 123456 --start-song-id 654321scripts/RofiBeats_CloudMusic.sh
scripts/cloudmusic_qr_helper.sh这两个脚本现在同时支持:
- 仓库内直接运行
- 系统安装后通过
musicctl运行
AUR / 系统安装场景下,建议的命令名是:
cloudmusic-rofi
cloudmusic-qr-helper配置文件位置:~/.config/cloudmusic/config.yaml
quality: exhigh
download_dir: ~/Music/CloudMusic
max_concurrent_downloads: 5
theme: dark
volume: 70
loop_mode: all
shuffle: false
base_url: https://music.163.com说明:
theme支持:dark、light、dracula、nord、retrovolume会被限制在0..100- ASCII 模式默认使用
retro主题
当前仓库最近一次完整回归包括:
pytest:87 passedpython -m compileall cloudmusic cli testsbash -n:安装脚本 / 启动脚本 / Rofi 脚本 / QR helper- 真机冒烟:
musicctl whoami、bridge playlists、bridge search、bridge play - TUI 冒烟:Fancy / ASCII 都能成功启动
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
pytestQUICK_START.mdCHANGELOG.mdROFIBEATS_INTEGRATION.mdCONTRIBUTING.md