Spotify智能代理控制器

一个基于自然语言的Spotify智能代理控制器,支持播放控制、歌单管理、曲目信息查询等功能。

  • by juzztjawa
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 juzztjawa/spotify-agent

使用说明

Spotify代理控制器

使用 模型上下文协议(MCP).
该项目允许您使用自然语言控制Spotify——播放歌曲、管理播放列表、获取曲目信息等——所有这些都可以通过智能代理界面完成。

特性

此代理使用 spotify-mcp-server 在发动机罩下,可以执行以下操作:

  • 开始、暂停或跳过播放
  • 搜索曲目、专辑、艺术家或播放列表
  • 获取有关曲目、专辑、艺术家或播放列表的详细信息
  • 管理和查看您的Spotify队列
  • 创建、更新或管理您的播放列表

配置和设置

1.获取Spotify API密钥

要连接您的Spotify帐户:

  1. 首选 developer.spotify.com
  2. 登录并导航到 仪表盘
  3. 创建新应用程序
  4. 设置 Redirect URI 如:
    http://127.0.0.1:8080/callback
    (您可以使用任何端口,但是 必须使用HTTP和localhost/127.0.0.0.1)

保持你的 客户端ID 和 客户端密钥 安全——你以后会需要它们的。


2.克隆存储库

克隆 spotify-mcp 本地回购:

git clone https://github.com/varunneal/spotify-mcp.git
cd spotify-mcp

请确保您已安装Node.js(>=18),因为此仓库使用npx。

3.运行Spotify MCP服务器(仅限首次)

在克隆的repo目录中:

npx @modelcontextprotocol/inspector uv --directory . run spotify-mcp

这将启动MCP服务器检查器。按连接按钮,然后转到工具,然后按列出工具。这将打开一套工具。按任何工具-对于这种情况,让我们考虑使用工具“SpotifyQueue”。这里有两个操作-添加或获取。键入get并按run tool。这将打开spotify的身份验证窗口。

4.验证您的Spotify帐户

  • 它会将您重定向到Spotify进行登录/授权。
  • 令牌将保存在本地,并在未来的会话中重复使用。

如何运行Spotify代理

完成身份验证和设置步骤后:

1.安装Python需求

pip install -r requirements.txt

运行代理界面

streamlit run spotify-agent-final.py

这将使用带有内存的Streamlit启动一个聊天风格的web界面,您可以在其中与代理进行交互。

代理功能示例

以下是你可以对代理人说的一些话:

  • “暂停音乐”→ 暂停播放
  • “播放我的冷播放列表”→ 查找您创建的播放列表并播放
  • “在健身房混音中添加遮光灯”→ 搜索并添加歌曲
  • “创建一个名为Vibes的播放列表”→ 创建新的播放列表
  • “现在在玩什么?”→ 获取当前曲目
  • “跟我说说《After Hours》这张专辑”→ 获取详细信息
  • “从我的锻炼播放列表中播放致盲灯”→ 排队播放列表,再次添加歌曲,然后跳到其中

代理行为说明

  • 如果需要歌曲 从播放列表,代理人:
    • 将整个播放列表排队
    • 再次添加请求的歌曲
    • 跳到那首歌
    • 但只有 如果该歌曲存在于该播放列表中 --否则,它 停顿 并询问用户
  • 当用户说 “我的播放列表”,代理对用户拥有的播放列表进行优先级排序(jawahar)
  • 代理通过搜索和确认操作自动解决模糊输入

构建于


未来想法

  • 语音输入实现实时控制
  • 通过LLM智能推荐播放列表

预览

许可证

该项目在Apache-2.0许可证下开源。