对于技术爱好者和开发者来说,在终端工作时切换到浏览器或桌面应用控制音乐,这种上下文切换往往会打断工作节奏。ncm-cli(NetEase Cloud Music CLI)这款工具让你能够在终端环境中直接控制网易云音乐的播放、搜索、管理等功能。
苏米注:作为一个重度终端用户,我深有体会。在 vim 里写代码时,突然想切歌,还要伸手去摸鼠标,这个体验确实不够"极客"。

什么是 ncm-cli
ncm-cli 是一款基于 Node.js 开发的网易云音乐命令行客户端,通过调用网易云音乐的官方 API,为用户提供简洁、高效的终端操作界面。
主要特点:
- 在远程服务器上通过 SSH 控制本地音乐播放
- 与 tmux、vim 等终端工具无缝集成
- 通过脚本自动化音乐管理流程
- 实现键盘快捷键绑定,摆脱鼠标依赖
安装配置
环境准备
ncm-cli 需要 Node.js 12.0 及以上版本,建议使用最新的 LTS 版本。
检查 Node.js 环境:
node --version
npm --version
如果未安装,可以通过以下方式:
macOS 用户:
brew install node
Linux 用户(Ubuntu/Debian):
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt-get install -y nodejs
安装 ncm-cli
npm install -g ncm-cli
验证安装:
ncm --version
登录后获取完整功能:
ncm login
苏米注:支持二维码登录,扫码即可,比输入密码方便多了。
核心功能
音乐搜索
命令行搜索的响应速度非常快,毫秒级找到目标音乐。
# 搜索歌曲
ncm search song "周杰伦 晴天"
# 搜索歌手
ncm search artist "林俊杰"
# 搜索专辑
ncm search album "范特西"
# 搜索歌单
ncm search playlist "华语经典"
搜索结果以表格形式展示,根据索引号快速选择播放:
ncm play 3 # 播放搜索结果中的第 3 首
播放控制
基础播放控制命令:
ncm play # 播放当前选中歌曲
ncm pause # 暂停播放
ncm next # 下一首
ncm prev # 上一首
ncm stop # 停止播放
播放模式设置:
ncm mode single # 单曲循环
ncm mode loop # 列表循环
ncm mode random # 随机播放
ncm mode list # 顺序播放
歌词显示
这是 ncm-cli 最受欢迎的功能之一——实时在终端中显示歌词:
# 显示当前播放歌曲的歌词(滚动模式)
ncm lyric
# 仅显示当前句歌词
ncm lyric --current
歌词会自动与播放进度同步,高亮显示正在演唱的句子。
播放列表管理
# 查看当前播放列表
ncm playlist
# 添加歌曲到播放列表
ncm add "歌曲名称"
# 从播放列表移除歌曲
ncm remove 5 # 移除第 5 首
# 清空播放列表
ncm playlist clear
个性化功能
私人 FM 与每日推荐
# 播放私人 FM
ncm fm
# 获取每日推荐歌曲
ncm daily
# 将每日推荐添加到播放列表
ncm daily --add
私人 FM 会基于你的听歌历史和偏好,智能推荐符合你口味的音乐。
音乐下载
# 下载当前播放歌曲
ncm download
# 指定音质下载
ncm download --quality flac # 无损音质
ncm download --quality 320 # 高音质 320kbps
# 批量下载歌单
ncm download --playlist "我的歌单名称"
苏米注:下载功能需要会员权限,非会员只能下载部分免费歌曲。不过作为 CLI 工具,能支持下载已经很良心了。
进阶技巧
快捷键绑定
在 .bashrc 或 .zshrc 中添加别名:
alias np="ncm now" # 显示当前播放
alias nns="ncm next" # 下一首
alias nps="ncm pause" # 暂停
配合 tmux 使用
在 .tmux.conf 中添加:
bind-key -n M-p select-pane -t 0 \; send-keys "ncm prev" Enter
bind-key -n M-n select-pane -t 0 \; send-keys "ncm next" Enter
这样可以用 Alt+P 和 Alt+N 快捷键切歌,完全不用离开终端。
苏米注:这个配置我用了半年,非常顺手。写代码时切歌再也不用摸鼠标了。
脚本自动化
可以编写脚本实现自动化音乐管理:
#!/bin/bash
# 早晨启动脚本
ncm fm # 播放私人 FM
ncm volume 70 # 设置音量 70%
使用场景
- 远程开发:在 SSH 会话中播放背景音乐
- 终端工作流:与 vim/tmux 等工具无缝集成
- 自动化场景:配合脚本实现定时播放、歌单管理
- 极客体验:纯键盘操作,效率至上
注意事项
- 请尊重音乐版权,仅用于个人非商业用途
- 部分功能需要网易云音乐会员权限
- 作为开源项目,ncm-cli 仍在持续迭代中
总结
ncm-cli 成功地将网易云音乐的海量曲库和智能推荐带入了终端环境,让技术爱好者和开发者能够在不离开命令行的情况下享受高质量的音乐体验。
苏米注:如果你也是终端重度用户,ncm-cli 值得一试。配合 tmux 和快捷键绑定,真的可以实现"键盘走天下"的音乐体验。
安装命令:npm install -g ncm-cli