词元之母TOK.MOM - 平台充值汇率 1:1 即 1 人民币充值到账 1 美元,支持一个 Key 调用近 600+ 海内外模型,限时特价模型低至 1 折,欢迎上岸!
| 来源 | 内置(默认安装) |
| 路径 | skills/media/spotify |
| 版本 | 1.0.0 |
| 作者 | Hermes Agent |
| 许可证 | MIT |
| 平台 | linux, macos, windows |
| 标签 | spotify, music, playback, playlists, media |
| 相关 skill | gif-search |
spotify_playback — play、pause、next、previous、seek、set_repeat、set_shuffle、set_volume、get_state、get_currently_playing、recently_playedspotify_devices — list、transferspotify_queue — get、addspotify_search — 搜索曲库spotify_playlists — list、get、create、add_items、remove_items、update_detailsspotify_albums — get、tracksspotify_library — 使用 kind: "tracks"|"albums" 进行 list/save/removespotify_search({"query": "miles davis kind of blue", "types": ["album"], "limit": 1})
→ got album URI spotify:album:1weenld61qoidwYuZ1GESA
spotify_playback({"action": "play", "context_uri": "spotify:album:1weenld61qoidwYuZ1GESA"})types: ["artist"] 并播放艺术家的 context URI — Spotify 会自动处理智能随机播放。如果用户说"the song"或"that track",则搜索 types: ["track"] 并将 uris: [track_uri] 传给 play。spotify_playback({"action": "get_currently_playing"})is_playing: false),告知用户当 前没有播放内容。不要重试。spotify_playback({"action": "pause"})
spotify_playback({"action": "next"})
spotify_playback({"action": "set_volume", "volume_percent": 50})spotify_playlists list 按名称查找播放列表 IDspotify_playlists add_itemsspotify_playlists({"action": "list"})
→ found "Late Night Jazz" = 37i9dQZF1DX4wta20PHgwo
spotify_playback({"action": "get_currently_playing"})
→ current track uri = spotify:track:0DiWol3AO6WpXZgp0goxAV
spotify_playlists({"action": "add_items",
"playlist_id": "37i9dQZF1DX4wta20PHgwo",
"uris": ["spotify:track:0DiWol3AO6WpXZgp0goxAV"]})spotify_playback({"action": "recently_played", "limit": 3})
spotify_playlists({"action": "create", "name": "Focus 2026"})
→ got playlist_id back in response
spotify_playlists({"action": "add_items", "playlist_id": <id>, "uris": [<3 uris>]})spotify_library 并指定正确的 kind。spotify_library({"kind": "tracks", "action": "save", "uris": ["spotify:track:..."]})
spotify_library({"kind": "albums", "action": "list", "limit": 50})spotify_devices({"action": "list"})
→ pick the device_id by matching name/type
spotify_devices({"action": "transfer", "device_id": "<id>", "play": true})403 Forbidden — No active device found 出现在任何播放操作上,意味着 Spotify 在任何地方都未运行。告知用户:"请先在手机/桌面/网页播放器上打开 Spotify,随便播放一首曲目几秒钟,然后重试。"不要盲目重试工具调用——结果会完全相同。可以调用 spotify_devices list 确认;空列表意味着没有活跃设备。403 Forbidden — Premium required 意味着用户使用的是免费版,并尝试修改播放状态。不要重试;告知用户此操作需要 Premium。读取操作仍然有效(搜索、播放列表、曲库、get_state)。get_currently_playing 返回 204 No Content 不是错误——它表示当前没有播放内容。工具返回 is_playing: false。直接将此情况告知用户即可。429 Too Many Requests = 速率限制。等待后重试一次。如果持续发生,说明你在循环——停止。401 Unauthorized 重试后仍出现 — 刷新令牌已被撤销。告知用户重新运行 hermes auth spotify。spotify:track:0DiWol3AO6WpXZgp0goxAV(推荐)https://open.spotify.com/track/0DiWol3AO6WpXZgp0goxAV0DiWol3AO6WpXZgp0goxAVuri 字段中返回 URI——直接传入即可。track、album、artist、playlist、show、episode。请为操作使用正确的类型——spotify_playback.play 的 context_uri 期望 album/playlist/artist;uris 期望曲目 URI 数组。get_state。 Spotify 接受 play/pause/skip 而无需预检。仅在用户询问"what's playing"或需要推断设备/曲目时才检查状态。403 Premium required 或 403 No active device 时重试。 在用户采取行动之前,这些错误是永久性的。spotify_search 按名称查找播放列表 — 那会搜索 Spotify 公开曲库。用户播放列表来自 spotify_playlists list。spotify_library 中将 kind: "tracks" 与专辑 URI 混用(反之亦然)。工具会规范化 ID,但 API 端点不同。