Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

standup-coder/monkey-flow

Open more actions menu

Repository files navigation

Monkey Flow - 程序员命令行音乐播放器 🎵

一款专为程序员打造的优雅、简洁的命令行音乐播放工具,提供专注编程时的背景音乐体验。

✨ 核心特性

  • 场景智能推荐 - 根据编程活动类型(算法、前端、后端、调试等)推荐合适的背景音乐
  • 版权合规 - 100%使用CC协议音乐,避免侵权风险
  • 离线优先 - 本地存储音乐文件和索引,无网络依赖
  • 低资源占用 - 内存占用<20MB,启动时间<0.1秒
  • 纯Rust实现 - 无外部语言依赖,单一可执行文件

🚀 快速开始

环境准备

本项目使用 Rust 语言开发,需要先安装 Rust 开发环境。

Windows 系统

  1. 下载 Rust 安装程序

  2. 运行安装程序

    • 双击运行 rustup-init.exe
    • 在命令行界面中,输入 1 选择默认安装,然后按回车
    • 等待安装完成(需要下载约 200MB 的工具链)
  3. 重启终端

    • 安装完成后,关闭并重新打开 PowerShell 或命令提示符
    • 这是为了让新的 PATH 环境变量生效
  4. 验证安装

    rustc --version
    cargo --version

    如果显示版本号(如 rustc 1.75.0),说明安装成功。

macOS 系统

# 使用官方安装脚本
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

# 按提示选择默认安装(输入 1)
# 安装完成后,重新加载环境变量
source $HOME/.cargo/env

# 验证安装
rustc --version
cargo --version

Linux 系统

# 使用官方安装脚本
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

# 按提示选择默认安装(输入 1)
# 安装完成后,重新加载环境变量
source $HOME/.cargo/env

# 验证安装
rustc --version
cargo --version

提示:如果遇到网络问题,可以配置 Rust 镜像源加速下载。在 ~/.cargo/config.toml 中添加:

[source.crates-io]
replace-with = 'ustc'

[source.ustc]
registry = "sparse+https://mirrors.ustc.edu.cn/crates.io-index/"

安装项目

确保 Rust 环境安装成功后,执行以下命令:

# 克隆项目
git clone https://github.com/standup-coder/monkey-flow.git
cd monkey-flow

# 编译项目(Release 模式,性能更好)
cargo build --release

# 可选:安装到系统路径(之后可以直接使用 monkey-flow 命令)
cargo install --path .

编译成功后,可执行文件位于 target/release/monkey-flow(Windows 下为 monkey-flow.exe)。

初始化

# 首次使用需要初始化
monkey-flow init

📖 使用指南

场景播放

根据编程场景自动推荐并播放音乐:

# 算法编写场景
monkey-flow play --scene algorithm

# 前端开发场景
monkey-flow play --scene frontend

# 后端开发场景
monkey-flow play --scene backend

# 调试代码场景
monkey-flow play --scene debugging

查看所有支持的场景:

monkey-flow scene list

播放控制

monkey-flow pause       # 暂停
monkey-flow resume      # 继续
monkey-flow stop        # 停止
monkey-flow next        # 下一曲
monkey-flow prev        # 上一曲
monkey-flow volume 80   # 设置音量
monkey-flow status      # 查看状态

搜索音乐

# 按歌曲名称搜索
monkey-flow search "lofi beats"

# 按艺术家搜索
monkey-flow search --artist "Artist Name"

# 按风格搜索
monkey-flow search --genre lofi

# 搜索后直接播放
monkey-flow search "song name" --play

播放列表管理

# 创建播放列表
monkey-flow playlist create "我的编程音乐" --desc "专注编程时听的音乐"

# 列出所有播放列表
monkey-flow playlist list

# 添加歌曲到播放列表
monkey-flow playlist add <playlist_id> <track_id>

# 播放播放列表
monkey-flow play --playlist <playlist_id>

收藏功能

# 添加收藏
monkey-flow favorite add <track_id>

# 查看收藏列表
monkey-flow favorite list

# 播放收藏列表
monkey-flow play --favorites

播放历史

# 查看播放历史
monkey-flow history list

# 查看统计信息
monkey-flow history stats

🎯 编程场景说明

场景 适用情况 推荐风格
algorithm 算法编写 Lofi / 纯音乐
frontend 前端开发 电子音乐 / Chill
backend 后端开发 环境音 / 爵士
debugging 调试代码 白噪音 / 极简
meeting 会议/沟通 轻音乐 / 古典
general 通用场景 Lofi 混合

⚙️ 配置

配置文件位置:~/.monkey-flow/config.toml

主要配置项:

[general]
local_music_dir = "~/.monkey-flow/music"
index_db_path = "~/.monkey-flow/index"
max_cache_size_mb = 500

[playback]
default_volume = 70
default_mode = "sequential"  # sequential, loop, loopall, shuffle

[recommendation]
genre_match_weight = 1.0
history_weight = 0.1
rating_weight = 0.5
favorite_boost = 2.0

📦 技术栈

  • 语言: Rust 2021
  • CLI: clap 4.5
  • 音频播放: rodio 0.18
  • 数据库: RocksDB 0.22
  • 配置管理: config + toml
  • 异步运行时: tokio 1.35

📝 版权说明

本工具所使用的音乐均来自以下合规渠道:

  1. 网易云音乐CC协议专区 - 所有音乐均标注CC协议
  2. Free Music Archive - 平台提供的免费音乐

重要提示

  • 所有音乐仅供个人学习和非商业使用
  • 禁止将下载的音乐用于商业目的
  • 使用音乐时需遵守对应的CC协议要求

🤝 贡献

欢迎提交Issue和Pull Request!

📄 许可证

MIT License

🙏 致谢

感谢所有开源音乐创作者的贡献! monkey flow

About

monkey flow

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.