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

LastFM用户数据

技能标识:lastfm

Access Last.fm user profile, now playing, top tracks/artists/albums by period, loved tracks, and optionally love/unlove tracks.

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

LastFM用户数据

Last.fm 个人资料技能

获取 Last.fm 用户收听数据,包括当前播放、按时间段划分的热门曲目/艺术家/专辑以及喜爱的曲目。当配置了 LASTFMSESSIONKEY 时,可选择支持写入操作(喜爱/取消喜爱曲目、记录收听记录)。

必需的环境变量

  • - LASTFMAPIKEY:你的 Last.fm API 密钥(在 https://www.last.fm/api/account/create 获取)
  • LASTFM_USERNAME:你的 Last.fm 用户名

可选的环境变量

  • - LASTFMSESSIONKEY:写入操作(喜爱/取消喜爱、记录收听记录)所需
  • LASTFMAPISECRET:签署写入操作(喜爱/取消喜爱、记录收听记录)所需

工作流程

  1. 1. 验证必需的环境变量是否存在
  2. 确保依赖项(jq、curl)可用
  3. 确定用户请求的命令
  4. 构建对 ws.audioscrobbler.com/2.0/ 的 API 请求
  5. 使用适当的方法和参数执行 HTTP GET 请求
  6. 解析 JSON 响应并格式化输出给用户

支持的命令

读取操作(无需认证)

命令描述示例
now-playing、np当前或最近播放的曲目/lastfm np
top-tracks [时间段]
按时间段的热门曲目 | /lastfm top-tracks 7day | | top-artists [时间段] | 按时间段的热门艺术家 | /lastfm top-artists 1month | | top-albums [时间段] | 按时间段的热门专辑 | /lastfm top-albums overall | | loved | 喜爱的曲目 | /lastfm loved | | recent [数量] | 最近播放的曲目(默认 10 首) | /lastfm recent 20 | | profile | 用户个人资料信息 | /lastfm profile |

时间段

  • - 7day - 最近 7 天
  • 1month - 最近 30 天
  • 3month - 最近 90 天
  • 6month - 最近 180 天
  • 12month - 最近一年
  • overall - 全部时间(未指定时的默认值)

写入操作(需认证)

命令描述示例
love <艺术家> <曲目>喜爱一首曲目/lastfm love Radiohead Creep
unlove <艺术家> <曲目>
取消喜爱一首曲目 | /lastfm unlove Radiohead Creep |

API 请求构建

基础 URL:https://ws.audioscrobbler.com/2.0/

所有请求的必需参数:

  • - apikey:来自 LASTFMAPI_KEY 的值
  • format:json
  • method:API 方法名称

用户特定请求还需要:

  • - user:来自 LASTFM_USERNAME 的值

方法参数

方法附加参数
user.getInfouser
user.getRecentTracks
user、limit(可选) | | user.getTopTracks | user、period(可选) | | user.getTopArtists | user、period(可选) | | user.getTopAlbums | user、period(可选) | | user.getLovedTracks | user | | track.love | artist、track、sk(会话密钥) | | track.unlove | artist、track、sk(会话密钥) |

响应解析

当前播放响应

从 recenttracks.track[0] 中提取:

  • - 如果 @attr.nowplaying === true:正在播放
  • artist.#text - 艺术家名称
  • name - 曲目名称
  • album.#text - 专辑名称

热门项目响应

从以下位置提取数组:

  • - toptracks.track[] 用于热门曲目
  • topartists.artist[] 用于热门艺术家
  • topalbums.album[] 用于热门专辑

每个项目包括:

  • - name - 项目名称
  • playcount - 播放次数
  • artist.name - 艺术家(用于曲目/专辑)
  • @attr.rank - 在排行榜中的位置

个人资料响应

从 user 中提取:

  • - name - 用户名
  • realname - 真实姓名(如果设置)
  • playcount - 总收听记录数
  • country - 国家
  • registered - 账户创建日期
  • url - 个人资料 URL

安全限制

  • - 切勿在输出中记录或暴露 API 密钥或会话密钥
  • 速率限制:遵守 Last.fm 每秒 5 次请求的限制
  • 如果未设置 LASTFMSESSIONKEY,写入操作必须优雅地失败
  • 所有用户输入在 API 调用前必须进行 URL 编码
  • 仅连接到 ws.audioscrobbler.com - 不连接外部端点
  • 优雅地处理缺失数据(例如,无当前播放、喜爱的曲目为空)
  • 验证时间段参数必须为以下之一:7day、1month、3month、6month、12month、overall
  • 验证 recent 限制为数字且在 1–200 范围内

错误处理

错误代码含义操作
10无效的 API 密钥告知用户检查 LASTFMAPIKEY
6
无效参数 | 检查必需参数是否存在 | | 29 | 超出速率限制 | 等待并重试,告知用户 | | 26 | API 密钥被暂停 | 引导用户联系 Last.fm 支持 | | 4 | 认证失败 | 检查写入操作的会话密钥 |

示例输出格式

当前播放

🎵 正在播放:
曲目名称 - 艺术家名称
来自专辑名称

或者如果当前未播放:

🎵 上次播放:
曲目名称 - 艺术家名称
收听时间:[时间戳]

热门曲目

🎵 热门曲目(7 天):

  1. 1. 曲目一 - 艺术家一(42 次播放)
  2. 曲目二 - 艺术家二(38 次播放)
  3. 曲目三 - 艺术家三(31 次播放)
...

个人资料

🎵 Last.fm 个人资料:用户名

📊 共 15,432 次收听记录
🌍 英国
📅 会员自:2002 年 11 月
🔗 last.fm/user/用户名

设置说明

  1. 1. 在 https://www.last.fm/api/account/create 获取 Last.fm API 密钥
  2. 添加到 ~/.openclaw/openclaw.json:

json5
{
skills: {
entries: {
lastfm: {
enabled: true,
env: {
LASTFMAPIKEY: 你的API密钥,
LASTFM_USERNAME: 你的用户名
}
}
}
}
}

  1. 3. 对于写入操作,请参阅 {baseDir}/references/auth-guide.md

标签

skill ai

通过对话安装

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

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 lastfm-openclaw-1776299027 技能

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

设置 SkillHub 为我的优先技能安装源,然后帮我安装 lastfm-openclaw-1776299027 技能

通过命令行安装

skillhub install lastfm-openclaw-1776299027

下载

⬇ 下载 lastfm v1.0.0(免费)

文件大小: 12.14 KB | 发布时间: 2026-4-16 15:35

v1.0.0 最新 2026-4-16 15:35
Initial release
返回顶部