mcpField
S
spoti-cli

spoti-cli

github.com/crafter-station创意与媒体11339 次安装8 周前更新
代码仓库

关于 spoti-cli

spoti-cli 是指导使用 Spotify 命令行的技能,可搜索音乐、生成推荐并创建播放列表。它既支持按指定艺人或曲目查找,也支持基于心情或日记内容生成播放列表。

主要功能

  1. 01搜索艺人和曲目
  2. 02根据种子与属性生成推荐
  3. 03创建和管理播放列表
  4. 04提供结构化 JSON 输出
  5. 05支持基于心情和日记的选曲

适用场景

  1. 01查找指定艺人或歌曲相关曲目
  2. 02按心情或活动创建播放列表
  3. 03依据每日记事中的情绪线索生成播放列表
  4. 04列出播放列表或向现有列表添加曲目

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/crafter-station/skills --skill spoti-cli

安装后在 Claude Code 中输入/spoti-cli确认已加载。

附带文件references/mood-mapping.md

详细介绍

spoti-cli

前置条件

检查身份验证:spoti-cli me --json。如果失败:

  1. 安装:bun add -g @crafter/spoti-cli
  2. 运行 spoti-cli auth——它会打印要使用的准确仪表板 URL、重定向 URI(http://127.0.0.1:8888/callback)和 API 复选框(Web API)
  3. 获取 ID 后,使用 spoti-cli auth --client-id <CLIENT_ID> 重新运行

CLI 会引导用户完成 Spotify 仪表板设置。不要自行重复这些步骤——让他们运行 spoti-cli auth 并粘贴输出即可。

工作流

1. 解析意图

三种模式:

  • 明确指定:用户提到艺人或曲目 → 直接搜索
  • 心情/活动:用户描述氛围 → 阅读 mood-mapping.md
  • 结合知识库:用户说“根据我今天的情况” → 阅读 02_Journal/daily/{YYYY-MM-DD}.md,并从 mood-mapping.md 提取心情信号
2. 查找种子
spoti-cli search "Radiohead" --type artist --limit 5 --json
spoti-cli search "Everything In Its Right Place" --type track --limit 3 --json

从结果中提取 id 字段。

3. 获取推荐
spoti-cli recommend --seed-artists ID1,ID2 --seed-genres ambient --energy 0.3 --valence 0.4 --limit 25 --json

种子总数最多为 5 个(艺人、流派和曲目合计)。可调节属性见 mood-mapping.md。

4. 创建播放列表
spoti-cli create "Deep Work — Mar 24" --description "Focus music" --tracks URI1,URI2,... --json

根据情境命名:包含心情和日期。结合知识库的示例:“Post-shipping Celebration — Mar 24”。

5. 在 Spotify 中打开
open "spotify:playlist:{PLAYLIST_ID}" 2>/dev/null || open "https://open.spotify.com/playlist/{PLAYLIST_ID}"

创建播放列表后,务必打开它。优先尝试 Spotify 桌面应用(URI 方案);如果桌面应用不可用,则改用网页。

6. 汇报

返回:播放列表 URL、种子逻辑摘要、曲目数量。

命令

命令示例
searchspoti-cli search "query" --type track --limit 10 --json
recommendspoti-cli recommend --seed-genres pop --energy 0.8 --limit 20 --json
createspoti-cli create "Name" --tracks URIs --public --json
playlist listspoti-cli playlist list --limit 10 --json
playlist getspoti-cli playlist get ID --json
playlist addspoti-cli playlist add ID --tracks URIs
mespoti-cli me --json

所有命令都支持 --json,可输出结构化数据。

评论

支持 Markdown