Show HN: Rocksky – 基于 AT Protocol 的音乐记录与发现平台

Hacker News Top 产品

摘要

Rocksky 是一个去中心化的音乐追踪与发现平台,基于 AT Protocol 构建,提供与 Last.fm 和 ListenBrainz 兼容的 API,并集成了 Spotify、Jellyfin 等服务。

暂无内容
查看原文
查看缓存全文

缓存时间: 2026/05/16 18:41

# rocksky.app/rocksky 来源:https://tangled.org/rocksky.app/rocksky ### 配置动态 问题 拉取请求 提交 标签 选择你要包含在动态中的活动类型。 一个基于 AT Protocol 构建的去中心化音乐追踪与发现平台 🎵 rocksky.app (https://rocksky.app/) | Spotify | AT Protocol | Last.fm | 音乐脑 (MusicBrainz) | 听歌记录 (Scrobbling) | ListenBrainz ### 配置动态 问题 拉取请求 提交 标签 选择你要包含在动态中的活动类型。 1721 (https://tangled.org/rocksky.app/rocksky/commits/main) 14 (https://tangled.org/rocksky.app/rocksky/branches) 0 (https://tangled.org/rocksky.app/rocksky/tags) ### 克隆此仓库 使用永久链接 HTTPS https://tangled.org/rocksky.app/rocksky https://tangled.org/did:plc:cbczwmvvz7juuu3orgf6mlc4 SSH [email protected]:rocksky.app/rocksky [email protected]:did:plc:cbczwmvvz7juuu3orgf6mlc4 对于自托管节点,克隆 URL 可能因你的设置而异。 下载 tar.gz (https://tangled.org/rocksky.app/rocksky/archive/main) 提交 1721 (https://tangled.org/rocksky.app/rocksky/commits/main) 这涵盖了主要脉络:完整的搜索屏幕重写(正确的端点、扁平命中结构、Feather 图标)、带有 Rockbox WebSocket 控制和播放锁定的 MiniPlayer、应用程序图标替换为 Rocksky favicon、以及与 Web/Web-移动端对齐的登录文案(Handle 标签、atproto 注册文本、selfhosted.social OAuth 流程)。 CI (https://github.com/tsirysndr/rocksky/actions/workflows/ci.yml) Discord (https://discord.gg/EVcBy2fVa3) 一个基于 AT Protocol 构建的去中心化音乐追踪与发现平台 🎵 ,详情请见 Rocksky (https://rocksky.app/)。 在 Pocketenv 中打开 (https://pocketenv.io/new?repo=tangled:rocksky.app/rocksky) ## ✨ 特性 (https://tangled.org/rocksky.app/rocksky#-features) ### 🎵 记录播放 APIs (https://tangled.org/rocksky.app/rocksky#-scrobbling-apis) - **Last.fm 兼容 API** – 可替代 Last.fm 的记录播放器 - **ListenBrainz 兼容 API** – 可与支持 ListenBrainz 的客户端配合使用 ### 🕒 播放与历史 (https://tangled.org/rocksky.app/rocksky#-playback--history) - **最近播放时间线** – 浏览你的收听历史 - **故事视图** – 实时查看其他用户正在播放的内容 - **统计** – 可视化每日记录播放次数 ### 📊 用户洞察 (https://tangled.org/rocksky.app/rocksky#-user-insights) - **热门艺术家、曲目和专辑** – 个性化收听习惯图表 - **留言板与点赞** – 与其他听众互动并分享反应 ### 🌐 客户端集成 (https://tangled.org/rocksky.app/rocksky#-client-integrations) - **Spotify** – 检测当前播放曲目并直接从 Spotify 记录播放 - **Jellyfin** – 从你的媒体服务器追踪播放 - **Pano Scrobbler** – 支持 Android/Linux/Windows - **WebScrobbler** – 直接从浏览器记录播放 ### 🔍 搜索 (https://tangled.org/rocksky.app/rocksky#-search) - **搜索引擎** – 由 MeiliSearch 驱动的快速搜索 ## 🚧 即将推出 / 路线图 (https://tangled.org/rocksky.app/rocksky#-coming-soon--roadmap) - **Webhooks** – 订阅记录播放事件并与 Discord 或你自己的应用集成 - **个性化动态** – 通过社区驱动的动态算法发现音乐 - **Last.fm → Rocksky 镜像(未来记录播放)** – 自动将来自 Last.fm 的新记录播放镜像到 Rocksky - **Rocksky Connect** – 跨设备远程播放(类似 Spotify Connect) - **多源库** – 从 Google Drive、Dropbox、S3、FTP 等浏览并记录播放 - **流式播放并记录你自己的音乐** – 上传你的库并直接在 Rocksky 上播放 - **扩展** – 使用你自己的逻辑自定义和扩展 Rocksky - **淡入淡出与均衡器设置同步** – 跨设备携带你的播放偏好 ## 📦 先决条件 (https://tangled.org/rocksky.app/rocksky#-prerequisites) - Node.js(v22 或更高版本) - Deno - Rust - Go - Turbo - Docker - Wasm Pack (https://github.com/drager/wasm-pack) - DuckDB (https://duckdb.org/docs/installation) `1.2.0` - 从 Spotify 开发者仪表板 (https://developer.spotify.com/documentation/web-api/tutorials/getting-started) 设置 `SPOTIFY_CLIENT_ID` 和 `SPOTIFY_CLIENT_SECRET` ## 🚀 快速开始 (https://tangled.org/rocksky.app/rocksky#-getting-started) 1. 克隆仓库: ``` git clone [email protected]:rocksky.app/rocksky cd rocksky ``` 2. 安装依赖: ``` npm install -g turbo bun install bun run build:raichu ``` 3. 设置环境变量: ``` cp apps/api/.env.example apps/api/.env cp apps/web/.env.example apps/web/.env cp apps/feeds/.env.example apps/feeds/.env cp .env.example .env # 编辑 .env 文件以添加你的配置 ``` 4. 启动 Docker 容器: ``` docker compose up ``` 5. 运行数据库迁移: ``` turbo db:migrate --filter=@rocksky/api ``` 6. 设置 Spotify 应用: ``` # 不要忘记设置 SPOTIFY_ENCRYPTION_KEY 和 SPOTIFY_ENCRYPTION_IV 环境变量 bun run spotify ``` 7. 填充数据库(可选): ``` bun run db:pgpull ``` 8. 启动分析 API: ``` bun run dev:analytics ``` 9. 启动 jetstream: ``` bun run dev:jetstream ``` 10. 启动 musicbrainz: ``` bun run mb ``` 11. 启动 feeds: ``` bun run feeds ``` 12. 启动开发服务器: ``` turbo dev --filter=@rocksky/api --filter=@rocksky/web ``` ## 📚 文档 (https://tangled.org/rocksky.app/rocksky#-documentation) 查看完整文档 (https://docs.rocksky.app/) ## ✍️ 反馈 (https://tangled.org/rocksky.app/rocksky#-feedback) 此仓库是收集与 Rocksky (https://rocksky.app/) 相关的反馈和问题的中心位置。如果你想留下反馈,请**提交问题** (https://tangled.org/@rocksky.app/rocksky/issues/new)。也欢迎加入我们的 **Discord 服务器** (https://discord.gg/EVcBy2fVa3)。 ## 🤝 贡献 (https://tangled.org/rocksky.app/rocksky#-contributing) 我们非常乐意听取你的反馈或建议。最佳联系方式是通过 Discord (https://discord.gg/EVcBy2fVa3)。我们也欢迎对此仓库提交拉取请求。请参阅 CONTRIBUTING.md (https://tangled.org/rocksky.app/rocksky/tree/main/CONTRIBUTING.md) 以获取有关在本地设置此仓库的信息。

相似文章

Corpus:自托管的 ListenBrainz 和 Last.fm 前端

Lobsters Hottest

Corpus 是一个自托管的前端,用于 ListenBrainz 和 Last.fm,它存储音乐收听记录、元数据和封面图片,并提供一个基于 PureScript 的交互界面来探索收听习惯。

Record Club 试图成为音乐爱好者的 Letterboxd

The Verge

Record Club 是一个新的社交平台,供音乐爱好者评分、评论和编目专辑,灵感来自 Letterboxd,具有自定义列表、关注艺术家和厂牌以及与 MusicBrainz 集成等功能。

SUN-to-Spotify

Product Hunt

一个使用SUN生成音频并直接发送到Spotify音乐库的工具。