SpotiClaw

🎵 安全隔离的 Spotify 智能控制中心

Spoticlaw 是一个为 Nyx 代理设计的 Spotify Web API 客户端,支持搜索、播放控制、歌单管理和曲库操作,采用本地 OAuth 认证确保令牌不经过 AI 模型。

收藏
5.4k
安装
1.2k
版本
1.0.0
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

Spoticlaw 是一个轻量级的 Spotify Web API 客户端,专为 Nyx 智能代理设计,使用原生 HTTP 请求实现,不依赖 Spotipy 库。它提供了完整的 Spotify 功能封装,包括音乐搜索、播放控制、歌单管理、曲库操作、播客访问和个性化推荐等。

主要功能模块:

  • 搜索 (search):支持按曲目、艺人、专辑、播客等多种类型搜索
  • 播放器 (player):播放/暂停、切歌、音量控制、设备切换、队列管理
  • 歌单 (playlists):创建、修改、添加/删除曲目
  • 曲库 (library):保存/移除专辑和曲目
  • 艺人/专辑 (artists/albums):获取详细信息和关联内容
  • 播客 (shows/episodes):访问播客节目和单集
  • 个性化 (personalisation):获取用户最常听的曲目和艺人

认证机制:
采用本地 OAuth 2.0 认证流程,CLIENT_ID、CLIENT_SECRET 和令牌文件均在本地机器处理,通过手动复制方式将 .spotify_cache 文件传输到代理环境。关键安全设计:访问令牌永远不会经过 AI 模型,代理仅读取本地缓存文件。令牌支持自动刷新,无需重复授权。

显著优点

1. 零依赖设计:仅使用 requestspython-dotenv,无重量级依赖
2. 安全隔离:认证信息与 AI 模型完全隔离,降低令牌泄露风险

3. 完整 API 覆盖:涵盖 Spotify Web API 绝大多数端点

4. 自动令牌刷新:后台静默处理令牌过期,用户体验流畅

5. 丰富的复合工作流:文档提供 10 个实用工作流示例,降低上手门槛

6. 清晰的错误处理:内置 SpotifyException 异常类,常见问题有明确解决方案

潜在缺点与局限性

1. 手动认证流程:首次配置需要在本地机器运行 auth.py,对纯云端部署不够友好
2. 令牌文件传输:需要手动将缓存文件复制到代理环境,自动化程度受限

3. 设备依赖:播放控制需要 Spotify 客户端处于活跃状态(NO_ACTIVE_DEVICE 错误常见)

4. 搜索限制:单次搜索最多返回 10 条结果,大规模数据获取需多次分页

5. 速率限制:受 Spotify API 限制,高频调用可能触发限流

6. 功能边界:关注/取关艺人等功能需要额外 scope,当前未完整实现

适合人群

  • 需要在自动化工作流中集成 Spotify 功能的开发者
  • 注重令牌安全、希望避免 AI 接触敏感凭证的用户
  • 使用 Nyx 代理框架构建音乐相关智能体的技术人员
  • 熟悉 Python 和 OAuth 流程、能够完成本地认证配置的技术用户

常规风险

| 风险类型 | 说明 | 缓解措施 |
|---------|------|---------|
| 令牌泄露 | `.spotify_cache` 文件包含敏感凭证 | 文件权限设置为 600,避免上传至版本控制 |
| 未授权访问 | 令牌文件被其他进程读取 | 限制代理运行环境的文件访问权限 |
| 服务中断 | Spotify API 变更或限流 | 实现指数退避重试机制 |
| 数据隐私 | 用户播放历史、偏好数据被读取 | 明确告知用户数据使用范围,遵守 GDPR |
| 误操作风险 | 自动脚本可能意外修改歌单或播放状态 | 生产环境建议添加操作确认机制 |

SpotiClaw 内容

scripts文件夹
手动下载zip · 14.0 kB
__init__.pytext/plain
请选择文件