Music Engine No GUI· MCP + CLI

一个播放器,
接住音乐与AI 助手

我的天啊,听就行了:mygod 没有界面,交给你的对话和终端:记错歌名也能跨 4 个曲库和本地音乐找到、直接播。多个助手也只响一个播放器。三分钟装好,数据留本机,现在下载。

4个在线曲库来源,统一检索
1个本地库,目录登记即用
19个可被助手调用的能力
1个播放实例,多端共享
FEATURES

为“听歌”这件事做减法

不用在几个客户端之间来回切换,也不用为了放一首歌去学一套新接口。

◎

多源聚合检索

一次搜索看到多个在线曲库与本地库的结果,每条都标明来源与可播状态,不用逐平台试听。

✦

助手原生接入

以标准 MCP 服务(stdio 类型)暴露能力,Trae、Codex、WorkBuddy 等支持 MCP 的助手配置一行路径即可使用。

◫

单一播放器,多端共享

本机只允许一个播放实例;多个助手或终端同时连接,读写同一份队列、进度与音量,不会互相打断。

⌂

本地音乐库

登记一个目录,自动建立索引并支持增量重扫;本地文件直接读取播放,不复制、不转码、不上传。

♫

音质与音效

标准 / 较高 / 极高 / 无损四档自动向下兼容;均衡器预设、夜间模式、增强、响度均衡均随会话保存。

↻

会话恢复与自愈

退出后按上次队列与进度恢复;不可播的曲目自动跳过,取流 15 秒无数据即判定失败,不让播放在加载里卡死。

USE CASES

一句话说完,中间那些步骤交给它

以前要"先上网查、再去播放器里搜、名字不对还得再试几轮"的事,现在你说一句,助手在后台把检索、比对、建队列、播放一次做完。

以前
  • 记错歌名,先搜索引擎找线索
  • 拿到歌名再去播放器里重新搜
  • 搜不到,换关键词再来一遍
  • 想凑一张同风格歌单,手动一首首找
→
现在
  • 把记得的碎片说出来(歌词、场景、大概名字)
  • 助手跨源检索、比对艺人时长,确认后直接播
  • 找不到可播版本就自动换源,不必你操心
  • 一句"像这几位"就能生成并播放整张队列

① 只记得一句歌词,名字还记错了

你只需要说

放那首“晚风吹过旧巷口”的歌,名字好像是《风起时》,可能记错了。

助手替你做的事

  1. 用歌词片段与近似歌名在多个曲库来源分别检索;
  2. 把候选结果按艺人、时长、发行信息比对,排除同名与翻唱;
  3. 确认目标曲目后直接建立队列并播放,附一句“我理解的是这首”。
打开就在播原来:搜索 → 复制歌名 → 播放器再搜 → 试错 3 轮

② 想要一张“和这几位类似”的歌单

你只需要说

帮我找几张和这三位风格接近的歌手,凑一张 20 首左右的歌单,直接开始放。

助手替你做的事

  1. 逐个检索这几位艺人,打开艺人页取热门曲目与同风格推荐;
  2. 去重、按可播状态过滤,凑到目标数量;
  3. 整批入队并播放,之后不满意就一句“换一批”。
20 首,直接播放原来:逐个搜索 → 手动挑 → 建歌单

③ 这首在某处没版权,换一个能放的

你只需要说

这张专辑里缺的那几首,帮我找别处能播的版本补上,保持原顺序。

助手替你做的事

  1. 按曲名与艺人到其余来源逐一比对,挑出可播的等价版本;
  2. 保留专辑原有顺序,把不可播条目替换或跳过;
  3. 开播后回到快照,告诉你哪几首是替代版本。
顺序不变,完整播完原来:换平台 → 逐首搜 → 手动排序

④ 本地老歌和今天的热歌混着放

你只需要说

先放我电脑里那首 demo,再接着放今天的榜单,循环列表。

助手替你做的事

  1. 登记并检索本地音乐目录,取到那首 demo;
  2. 拉取榜单曲目,与本地曲目拼成同一个队列;
  3. 设置列表循环后开播,本地文件直接读取,不复制不转码。
跨来源一条队列原来:本地播放器 + 在线客户端各放一半

⑤ 听着听着想换口味,但别停

你只需要说

这首不太合适,换类似的就行,别停。

助手替你做的事

  1. 标记当前曲目的口味反馈,从电台重新取一批;
  2. 过滤掉不可播条目后在队列尾部接上;
  3. 播放不中断,下一首立刻接上。
无缝续播原来:退出去找歌 → 再点播放

⑥ 忘了自己刚才放到哪了

你只需要说

刚才放到第几首了?接着放。

助手替你做的事

  1. 读取播放快照:当前曲目、队列序号、进度、循环与音量;
  2. 从暂停处继续,进度从原来的位置走;
  3. 顺带告诉你剩下的队列还有多少首。
从原处继续原来:重开客户端 → 重新找歌
DOWNLOAD

下载 mygod

先选平台,再选要装的部分,点击生成申请后会通过邮件把你的组合发给作者,作者据此回复对应的可执行文件或下载方式。 macOS(Apple Silicon)为当前已构建平台,其余平台按申请构建。

1 · 选择平台

2 · 选择组件

3 · 发送下载申请

邮件预览
—
用邮件发送申请 →

邮件会自动发往 aosfather@gmail.com,主题与正文已按你的选择填好; 也可以复制地址手动发送。若只想自己构建,见下方说明。

想自己构建?

mygod 的完整能力清单、行为规则与异常处理都写在产品需求文档里。把它交给你的 AI 编码助手,按功能编号逐条实现, 就能在你自己的平台上构建出这两个可执行文件。

  1. 打开 PRD,确认要实现的版本范围(全部 P0,或只挑你需要的几个能力)。
  2. 让 AI 编码助手以 FR-01 … FR-27 为任务清单,逐条实现并自测;共享规则(R1–R4)作为统一约束。
  3. 本机产出 mygod-mcp 与 mygod-cli,按下方安装步骤放入 PATH 即可使用。
打开产品需求文档 prd.html →
INSTALL

安装:三分钟,两个可执行文件

mygod 不依赖任何后台服务:所有数据(会话、索引、缓存)都在你自己的电脑上。

取得两个可执行文件

mygod-mcp —— 给支持 MCP 的智能助手用;mygod-cli —— 给命令行与脚本用。

目标平台:macOS(Apple Silicon)。两个文件彼此独立,用哪一个就装哪一个,也可以两个都装。

放进 PATH,并赋予执行权限

# 放到个人 bin 目录(若目录不存在先创建)
mkdir -p ~/.local/bin
mv mygod-mcp mygod-cli ~/.local/bin/
chmod +x ~/.local/bin/mygod-mcp ~/.local/bin/mygod-cli

# 确认 PATH 里有它(zsh 用户写进 ~/.zshrc)
export PATH="$HOME/.local/bin:$PATH"

如果你的文件在别处,后面所有配置里把 /Users/you/.local/bin 换成实际目录即可。

验证安装

# 命令行:应打印引擎版本、可用来源与登录状态
mygod-cli status

# 助手接入端:应输出 MCP 握手信息后等待标准输入
mygod-mcp

首次跑起来会自动创建一个常驻引擎;之后无论从哪个入口连接,用的都是同一个播放实例。

MCP SERVER

接入智能助手:把路径告诉它,剩下的它自己配

mygod-mcp 是一个本地 stdio 类型的 MCP 服务:不需要端口、不需要服务器、不需要网络权限,助手用它就像读一个本地工具。

它是什么类型

项值说明
传输类型stdio通过标准输入 / 标准输出与助手通信,本机进程间对话
启动方式由助手拉起助手启动时按配置执行该路径,随用随起
参数无空参数数组即可;常驻引擎由它自己管理
并发多客户端安全多助手同时连接不会互相抢播放器,后到者接入同一实例

方式一:让助手自己完成配置(推荐)

在对话里直接对助手说下面这句话,它会自行写入 MCP 配置并完成握手验证:

TRAE

“帮我加一个 MCP 服务器,名字叫 mygod,类型 stdio,命令路径是 /Users/you/.local/bin/mygod-mcp,不需要参数,加好后调用一次 status 验证。”

CODEX

“在 MCP 配置里增加 mygod:stdio 类型,command 为 /Users/you/.local/bin/mygod-mcp,无 args,然后跑一次工具列表确认能看到 scan_local。”

WORKBUDDY

“接入本地 MCP 服务 mygod,类型 stdio,可执行文件在 /Users/you/.local/bin/mygod-mcp,配置完读一次播放状态。”

路径改成你自己的实际位置即可;换成任何支持 MCP 的助手,说法都通用。

方式二:手工写入配置

通用 mcpServers 写法(Trae 等使用 JSON 配置的助手):

{
  "mcpServers": {
    "mygod": {
      "type": "stdio",
      "command": "/Users/you/.local/bin/mygod-mcp",
      "args": []
    }
  }
}

使用 TOML 配置的助手(如 Codex):

[mcp_servers.mygod]
command = "/Users/you/.local/bin/mygod-mcp"
args = []
COMMAND LINE

不支持 MCP?用命令行,一样能把播放管起来

任何终端、脚本、快捷键工具、定时任务都可以调用 mygod-cli;输出是结构化的,便于下游程序解析。

命令一览(mygod-cli help 的完整版)

mygod-cli — 音乐引擎的命令行形态

  status                        引擎版本、可用来源、登录状态
  search <关键词> [--kind k] [--source s] [--limit n]
  play <关键词> [--source s] [--n i] [--yes]
       play --tracks id,id | --playlist id | --album id | --radio mode
  state                         当前播放与接下来播放
  next | prev | pause | toggle | resume | radio_exit
  volume <0-1> | eq <preset> | repeat <off|all|one> | shuffle [on|off]
  lyrics [id] [--source s]      不传 id 则取正在播放的那首
  catalog <kind> <id> [--source s] [--tab t] [--limit n] [--offset n]
  discovery <kind> [--source s] [--limit n]
  radio [mode]                  个人电台(default / familiar / explore)
  login-qr                      扫码登录(需要登录的来源)
  help                          显示本帮助

  sources: 运行 status 查看当前可用的来源标识(默认使用第一个)
  无参数启动时进入交互模式;退出交互不影响已建立的播放

命令说明

命令作用关键参数
status查看引擎版本、可用来源与各来源登录状态—
search按关键词检索,只返回结果不播放--kind 结果类型;--source 来源;--limit 条数
play检索并播放,或用编号 / 歌单 / 专辑 / 电台直接建队列--n 播第几条;--yes 跳过确认;--tracks / --playlist / --album / --radio
state当前曲目、进度、队列、音量、循环与随机—
next / prev切到下一首 / 上一首—
pause / resume / toggle暂停、继续、在两者间切换—
radio_exit退出电台续播,队列不再自动延长—
volume设置音量,跨接入端共享0-1 之间的浮点数
eq切换均衡器预设,flat 关闭预设名
repeat循环模式:关闭 / 列表 / 单曲off | all | one
shuffle随机开关,不带参数即开启on | off
lyrics取时间轴 / 翻译 / 逐字歌词id 曲目编号;--source 来源
catalog打开艺人、专辑、歌单或用户页kind 与 id;--tab、--limit、--offset
discovery发现页:每日推荐、推荐歌单、精选、榜单、最近播放kind;--limit
radio按口味生成连续曲目default / familiar / explore
login-qr扫码登录需要账号的来源,凭据保存在本机—
help打印命令表—

常用示例

# 搜一下,看看有哪些可播的版本
mygod-cli search "晚风" --limit 10

# 直接播搜索结果里的第 2 条
mygod-cli play "晚风" --n 2 --yes

# 用一组曲目编号建队列,从第 1 条开始
mygod-cli play --tracks 1001,1002,1003

# 打开一个歌单并整体入队
mygod-cli play --playlist 7788

# 列表循环 + 随机,然后把音量调到 60%
mygod-cli repeat all && mygod-cli shuffle on && mygod-cli volume 0.6

# 看现在在放什么
mygod-cli state
FAQ

常见问题

同时开几个助手,会不会有两个播放器在放?

不会。mygod 在本机只允许一个播放实例:先连上的持有引擎,其余的以客户端身份接入,读写同一份队列与进度。任一入口切歌,其他入口的下一次快照就同步更新。

必须登录吗?

不必。部分曲库来源对游客开放检索与播放,受限能力会在检索阶段就标注出来,不会等到点了播放才失败。需要更多能力时用 mygod-cli login-qr 扫码,凭据只保存在本机。

本地音乐怎么用?

两条路:助手侧调用 scan_local 的 add 登记目录并建立索引,之后本地文件与在线曲目一样可被搜索;不接助手时,也可以直接用命令行播放已知路径,例如 mygod-cli play --tracks /Users/you/Music/a.mp3 --source local。文件不会被复制或转码。

数据存在哪里?怎么清空?

统一在 ~/.local/share/mygod:播放会话、本地索引、缓存。删掉这个目录等同于恢复出厂;删除缓存子目录只影响已缓存曲目,不影响索引与队列。

播放卡在加载怎么办?

不会一直卡住。取流 15 秒没有新数据即判定该曲目失败并自动跳到下一首;整条队列都不可播时停在停止态并给出原因,不会无限重试。

能不能下载歌曲?

不能,也不提供。mygod 只做在线取流播放和读取你本机已有的文件;不提供下载、转存或再分发能力。