whatisxlistening.to

✨ 你的音乐足迹,一目了然

Last.fm 数据查询与可视化工具,支持实时播放状态、历史统计同步及个人音乐仪表盘部署

收藏
13.1k
安装
2.8k
版本
1.3.0
CLS 安全性认证2026-07-14
点击查看完整报告 >

使用说明

综合评估

whatisxlistening.to 是一款围绕 Last.fm 音乐追踪服务构建的 CLI 工具与 Web 仪表盘组合方案,适用于开发者及音乐爱好者实现个人收听数据的可视化与管理。

核心用法

1. CLI 工具:通过 Python 脚本提供完整的命令行交互,支持初始化配置、查询当前播放 (now)、统计信息 (stats)、最近曲目 (recent),以及全量历史数据拉取 (backfill) 与增量同步 (sync)。本地 SQLite 数据库实现离线检索能力 (search)。

2. Web 仪表盘:基于 Docker/Kubernetes 部署的实时可视化界面,展示当前播放状态、今日收听统计、艺术家 streak 等数据,提供 /api/* RESTful 端点供外部调用。

3. 数据持久化schema.sql 定义 SQLite 结构,支持百万级 scrobble 记录的本地存储与快速检索。

显著优点

  • 完全开源:MIT 许可证,代码透明可审计
  • 部署灵活:支持裸机 CLI、Docker 单容器及 Kubernetes 集群部署
  • 离线能力backfill + sync 机制实现完整数据本地化,避免 API 限流依赖
  • 测试覆盖:声称 100% 测试覆盖率,质量基线较高
  • 实时性:Web 端通过轮询或长连接实现"正在播放"状态的近实时展示

潜在局限

  • API 依赖:Last.fm API 变更或限流可能影响功能(历史数据拉取受 API 速率限制)
  • 功能边界:仅限 Last.fm 生态,不支持 Spotify/Apple Music 直连
  • 安全设计:API Key 以明文存储于本地配置文件 (~/.config/lastfm/config.json),共享环境存在泄露风险
  • 运维复杂度:Kubernetes 部署需自行管理 Secret 与证书

适合人群

  • 已使用 Last.fm 记录收听历史的音乐爱好者
  • 希望自建数据看板的开发者/运维人员
  • 需要本地备份 scrobble 数据的归档需求者

常规风险

| 风险类型 | 说明 |
|---------|------|
| API Key 泄露 | 配置文件权限管理不当可能导致 Last.fm API Key 暴露 |
| 数据隐私 | 公开部署的仪表盘可能泄露个人音乐偏好(建议加认证) |
| 供应链 | Docker 镜像来自 `ghcr.io/poiley`,需验证签名与镜像完整性 |
| 依赖过期 | Last.fm API 版本迭代可能导致接口兼容性问题 |

总体评价

技术实现成熟、部署选项丰富,适合有技术背景的用户构建个人音乐数据中枢。生产环境部署建议增加反向代理认证与 API Key 轮换机制。

安全解读

核心用法

whatisxlistening-to 是一款开源的 Last.fm 音乐数据管理工具,提供 CLI 命令行界面和实时 Web 仪表板双模式。用户可通过 lastfm init 初始化配置后,使用 lastfm now 查看当前播放、lastfm stats 获取听歌统计、lastfm backfill 将完整历史同步到本地 SQLite 数据库。Web 仪表板通过 Docker 一键部署(docker run -p 8765:8765),提供美观的"正在播放"展示页面和历史浏览功能。

显著优点

1. 零依赖安全架构:纯 Python 标准库实现(urllib、sqlite3、http.server),无第三方包供应链风险,依赖审计评分高达 95 分
2. 数据主权设计:本地 SQLite 缓存完整听歌历史,支持离线搜索(lastfm search),避免完全依赖云端

3. 部署灵活性:支持裸机、Docker、Kubernetes 三种部署模式,K8s 配置包含 Secret 管理最佳实践

4. 功能完整性:覆盖初始化、实时查询、历史回溯、增量同步、本地搜索全流程,单元测试目标 100% 覆盖率

5. 隐私最小化:仅传输 Last.fm 用户名和 API Key,符合 GDPR 数据最小化原则

潜在局限

  • 来源可信度 T3:个人开发者(poiley)维护项目,无组织级安全审计,需用户自行评估信任度
  • Last.fm 依赖:功能完全绑定 Last.fm 生态,不支持 Spotify/Apple Music 等其他平台
  • 速率限制:Last.fm API 有调用限制,高频率同步可能触发 429 错误(当前未实现指数退避重试)
  • 无加密存储:API Key 以明文形式存储于配置文件或环境变量,共享环境存在泄露风险

适合人群

  • Last.fm 重度用户,希望拥有个人数据备份和可视化仪表板
  • 注重供应链安全的开发者(零依赖特性)
  • 需要自托管音乐展示页面的创作者、主播
  • 学习 Python CLI/Web 开发的标准库实践参考

常规风险

  • 网络层面:仅访问 Last.fm 官方 API(HTTPS),无异常外连,评分 70 分(功能必需)
  • 文件系统:标准用户目录操作,无系统文件访问风险
  • 供应链:零第三方依赖,彻底消除供应链攻击面
  • 运营风险:个人项目维护持续性不确定,建议关注 GitHub 仓库活跃度

whatisxlistening.to 内容

docs文件夹
scripts文件夹
skills文件夹
auto-updater文件夹
clawddocs文件夹
clawdhub文件夹
findmy-location文件夹
frontend-design文件夹
lastfm文件夹
second-brain文件夹
self-improving-agent文件夹
weather-pollen文件夹
whatisxlistening-to文件夹
k8s文件夹
overlays文件夹
example文件夹
tests文件夹
web文件夹
手动下载zip · 68.3 kB
2026-01-25-session-summary.mdtext/markdown
请选择文件