闲社服务运行正常AI智能体自动化平台
s

Spotify控制

技能标识:spotify-controller

Control Spotify playback and devices from an AI agent using spotify.py and the official Spotify Web API. Use when users ask to check current track, play/pause, next/prev, set volume, search tracks, play first search result, list devices, switch active device, or play a specific Spotify URL. Works on headless VPS and Docker setups.

作者:admin | 来源记录:ClawHub
登记来源
ClawHub
版本
V 1.0.1
检测标记
后台标记通过
免费
免费获取
0
收藏
来源与检测标记为平台登记信息,并不代表已展示可复核的检测报告。使用前请核对版本、依赖和所需权限,建议先在隔离环境中运行。
概述
安装方式
版本历史

Spotify控制

Spotify 控制器技能

通过官方 Spotify Web API 从您的 AI 代理控制 Spotify 播放。

此功能适用于各种环境(本地机器、Docker、VPS 和混合环境)。对于在无头 VPS 部署中解决 Spotify 控制痛点尤其有用。服务器无需浏览器或本地 Spotify 客户端。



本技能提供的功能

  • - 围绕 spotify.py 的 CLI 工作流
  • 播放控制(play、pause、next、prev)
  • 曲目查找(search)和快速播放(playsearch)
  • 直接 URI 播放(playtrack spotify:track:...)
  • 设备管理(devices、setdevice)
  • 音量控制(volume 0-100,在支持的情况下)

要求

  • - 运行时/容器中可使用 Python 3
  • 已安装 requests 包
  • Spotify Premium 账户
  • Spotify 开发者应用凭据
  • 环境变量:
- SPOTIFYCLIENTID - SPOTIFYCLIENTSECRET - SPOTIFYREFRESHTOKEN

安装依赖项:

bash
uv pip install requests --system

(替代方案:pip install requests)

如果您在 Docker 中构建 OpenClaw,且 requests 尚未存在,请将其添加到您的 Dockerfile 中:

dockerfile
RUN uv pip install requests --system



设置(分步指南)

1) 创建 Spotify 开发者应用

  1. 1. 访问:https://developer.spotify.com/dashboard
  2. 点击创建应用
  3. 输入任意应用名称/描述
  4. 添加重定向 URI:
- http://127.0.0.1:8888/callback
  1. 5. 启用 Web API 访问权限
  2. 保存并复制:
- 客户端 ID - 客户端密钥

2) 获取刷新令牌(一次性操作,在本地机器上)

在浏览器中打开此 URL(将 YOURCLIENTID 替换为您的客户端 ID):

text
https://accounts.spotify.com/authorize?clientid=YOURCLIENTID&responsetype=code&redirect_uri=http://127.0.0.1:8888/callback&scope=user-modify-playback-state%20user-read-playback-state%20user-read-currently-playing

批准访问,然后从重定向的 URL 中复制 code 值。

用代码交换令牌:

bash
curl -s -X POST https://accounts.spotify.com/api/token \
-H Content-Type: application/x-www-form-urlencoded \
-d granttype=authorizationcode&code=YOURCODE&redirecturi=http://127.0.0.1:8888/callback&clientid=YOURCLIENTID&clientsecret=YOURCLIENTSECRET

从响应 JSON 中复制 refresh_token。

refresh_token 通常长期有效,但如果应用访问被撤销、应用设置更改或凭据轮换,可能会失效。

3) 将凭据添加到 .env

env
SPOTIFYCLIENTID=您的客户端ID
SPOTIFYCLIENTSECRET=您的客户端密钥
SPOTIFYREFRESHTOKEN=您的刷新令牌

4) 将环境变量传递给 Docker Compose 服务

在 docker-compose.yml 服务的 environment: 部分:

yaml

  • - SPOTIFYCLIENTID=${SPOTIFYCLIENTID}
  • SPOTIFYCLIENTSECRET=${SPOTIFYCLIENTSECRET}
  • SPOTIFYREFRESHTOKEN=${SPOTIFYREFRESHTOKEN}

5) 重启服务/容器

bash
docker compose down
docker compose up -d openclaw-gateway

bash
chown <运行时用户>:<运行时组> /path/to/workspace/spotify.py
chmod 664 /path/to/workspace/spotify.py



使用方法

从工作区运行命令:

bash
python3 spotify.py <命令>

命令描述
python3 spotify.py status显示当前播放状态和曲目
python3 spotify.py play
恢复播放 | | python3 spotify.py pause | 暂停播放 | | python3 spotify.py next | 跳至下一曲目 | | python3 spotify.py prev | 返回上一曲目 | | python3 spotify.py volume 80 | 设置音量(0–100,在支持的情况下) | | python3 spotify.py search track | 搜索曲目(显示最佳结果) | | python3 spotify.py playsearch track | 搜索并播放第一个结果 | | python3 spotify.py playtrack spotify:track:URI | 播放特定曲目 URI | | python3 spotify.py devices | 列出可用的 Spotify 设备 | | python3 spotify.py setdevice BEDROOM-SPEAKER | 按名称或 ID 设置活动设备 |

VPS / 无头环境行为说明

  • - 无头服务器控制之所以可行,是因为播放是在 Spotify Connect 设备(手机/桌面/网页)上执行的,而不是服务器音频输出。
  • 您仍然需要至少一个活动的 Spotify 设备会话。

如果看到 NOACTIVEDEVICE:

  1. 1. 在目标设备上打开 Spotify
  2. 手动开始播放任意曲目一次
  3. 运行 python3 spotify.py devices
  4. 重试命令



已知的 Spotify API 限制(预期内)

  • - 某些设备/内容上下文可能对 play、prev 或其他控制返回 403 Restriction violated。
  • 某些设备可能拒绝远程音量更改(VOLUMECONTROLDISALLOW)。
  • 设备切换可能存在延迟;切换后立即执行 status 可能短暂显示过时状态。

这些是 Spotify 方面的限制,不一定是脚本错误。



自动化操作指南

  • - 将非零退出代码视为命令失败。
  • 在启动时验证环境变量。
  • 记录命令和状态代码以便故障排除。
  • 对于临时网络错误,重试一次。
  • 不要在文件中硬编码真实凭据。

安全说明

  • - 切勿提交包含真实密钥的 .env 文件。
  • 如果凭据泄露,请轮换应用凭据。
  • 使用工作流所需的最小权限范围。
  • 该脚本仅与 accounts.spotify.com 和 api.spotify.com 通信。

快速故障排除清单

  1. 1. python3 spotify.py devices 是否显示您的目标设备?
  2. 设备在 Spotify 应用中是否处于活动状态?
  3. 环境变量是否已加载到容器/运行时中?
  4. 是否确认是 Premium 账户?
  5. 刷新令牌是否仍然有效?
  6. 响应中是否有任何 Spotify 403 限制原因?

声明准确性

  • - 使用官方 Spotify Web API ✅
  • 可在无头 VPS 上运行 ✅
  • 适用于个人使用 ✅
  • 受正常 Spotify API 行为/限制约束 ✅

标签

skill ai

通过对话安装

以下为平台配置的接入选项,并非逐项实测通过。能否安装取决于客户端支持、技能来源和运行环境:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 spotify-controller-1776296052 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 spotify-controller-1776296052 技能

通过命令行安装

skillhub install spotify-controller-1776296052

下载

⬇ 下载 spotify-controller v1.0.1(免费)

文件大小: 6.09 KB | 发布时间: 2026-4-16 16:33

v1.0.1 最新 2026-4-16 16:33
Minor update with documentation improvements and metadata additions:

- Added a homepage link and structured metadata (including emoji and required environment variables).
- Clarified usage of Spotify Web API and environment variable requirements in the description.
- Improved security notes to specify domains touched by the script.
- Minor clarifications and formatting fixes in documentation.
返回顶部