Wristhyme开发文档
示例网站公网音乐 API 已关闭。接口示例供阅读,自建部署后使用。
本页目录

Wristhyme API 文档

整理日期:2026-10-01。语言:中文。适用对象:手机、手表、桌面、iOS 客户端开发者及后台维护者。本独立包已进一步对照服务器只读提取的当前源码,支持配置自己的域名;文中官方地址为原部署示例,接入时替换为本实例ADMIN_ORIGIN对应域名。

本文档依据源码、部署补丁与发布记录整理,不是生产音乐在线验收报告。本次只读提取服务器源码,未登录生产后台、未执行生产管理写操作或真实音乐请求;独立测试结果见包根VERIFICATION.md。示例中的歌曲、标识、签名和令牌都是说明性占位数据,不能直接用于播放。

阅读入口

文档 内容
协议与数据模型 服务边界、HTTP、鉴权、字段类型、生命周期、状态码、限流与安全
公开音乐 API 音源、搜索、歌单、榜单、还原、播放、下载、歌词和插件
设备统计 API 隐私说明、自愿注册、心跳、撤回统计
后台管理 API 登录、会话、仪表盘、目录、封禁、插件、音源、导入、密码
内部服务 LX 运行时、统计内部协议、上游边界及路由清单
接入与维护 调用流程、curl/JavaScript 示例、版本差异、来源索引与验证清单

服务划分

公开基地址:https://wristhyme.tolike.cn。

层 路径/内部地址 使用者 说明
音乐网关 /api/*,容器端口 8766 所有客户端 JSON 元数据和二进制音频;无需管理员登录
管理后台 /admin/api/*,容器端口 8780 管理员 Cookie 会话;POST 必须同源且通过 CSRF
下载发布 /downloads/* 更新器、浏览器 静态文件,不是歌曲下载任务服务
LX 运行时 http://watch-music-lx:8770 网关 不应公开暴露;隔离执行服务器已知脚本
管理内部接口 http://watch-music-admin:8780/internal/* 网关 内部共享密钥,不接受公网客户端调用
上游 http://watch-music-upstream:8080/music 网关 go-music-dl 私有服务;并非公开 /api 的同义路径

后台页面是 /admin;主页 /、/LICENSE 是静态内容。客户端收藏、私人歌单、队列、播放模式、本地音乐文件和下载任务主要保存在客户端,没有据此实现的云端用户账号、歌单 CRUD 或队列 API。

接口总表

以下为公开及管理员接口的完整目录;内部接口另见 内部服务。

方法 路径 用途
GET /api/health 网关健康信息
GET /api/sources 动态音源与当前有效默认插件
GET /api/search 通用歌曲搜索
GET /api/playlist_search 公共歌单名称搜索
GET /api/playlist 公共歌单歌曲分页/链接导入
GET /api/watch/search 每页 10 首的轻量搜索
GET /api/watch/recommend QQ/网易云公开推荐歌单
GET /api/watch/playlist QQ/网易云歌单每页 10 首
GET /api/charts/hot QQ/网易云热歌榜
GET /api/restore 从签名引用恢复歌曲
GET /api/inspect 原平台音频信息检查
GET /api/media 原平台音频流/歌曲附件
GET /api/playback_status 原平台网关取流的短期状态
GET /api/lyric 原平台歌词
GET /api/snapshot 下载时歌曲元数据和歌词快照
GET /api/plugins 已启用插件目录
GET /api/plugin_probe 插件初始化检测
GET /api/plugin_resolve 插件解析并签发网关取流票据
GET /api/plugin_media 使用票据取流
GET /api/plugin_lyric 插件歌词
GET /api/device/privacy 统计隐私说明
POST /api/device/register 自愿注册匿名安装实例
POST /api/device/heartbeat 匿名实例心跳
POST /api/device/forget 撤回统计并清除服务端记录
POST /admin/api/login 登录后台
GET /admin/api/session 会话与 CSRF
GET /admin/api/dashboard 活动统计及分页记录
GET /admin/api/catalog 插件/音源/封禁/审计目录
POST /admin/api/logout 退出
POST /admin/api/password 修改管理员密码
POST /admin/api/ban 封禁设备或 IP/CIDR
POST /admin/api/unban 解除封禁
POST /admin/api/plugin 修改插件名称及启用状态
POST /admin/api/default-plugin 指定/清除默认插件
POST /admin/api/source 新增/修改音源目录项
POST /admin/api/source/delete 删除自定义音源
POST /admin/api/forget 管理员清除活动统计
POST /admin/api/import 导入 LX 脚本,支持后台上传与 GitHub 固定提交
GET /admin/api/maintenance 读取维护模式
POST /admin/api/maintenance 保存全局或指定接口维护模式
GET /admin/api/releases 发行文件与更新渠道
POST /admin/api/releases/begin 创建分块上传
POST /admin/api/releases/chunk 上传二进制块
POST /admin/api/releases/finish 校验并完成上传
POST /admin/api/releases/cancel 取消上传
POST /admin/api/releases/publish 发布更新 feed
POST /admin/api/releases/delete 删除未发布文件

重要边界

  1. 本包gateway/admin/lx-runtime是从服务器当前文件只读提取后作独立部署适配的完整代码,原始来源及哈希见PROVENANCE.json,不再需要原工作区历史补丁目录才能运行。
  2. 原API路径保持;域名、可信代理、服务地址及数据路径可配置。本文档保留历史版本比较,部署差异见包根CHANGELOG.md及部署文档。
  3. /api/health.version 是网关代码中的字符串,不应当作当前 Android 发行版本或协议版本。
  4. 音源以 /api/sources 的实时返回为准;七个启用音源是历史部署设置,不是永久固定配置。
  5. key、ref、插件 ticket、匿名设备令牌和后台 Cookie 各有不同用途,不能互换。
  6. 搜索可见、检查可用、插件初始化通过、解析成功、网关开始取流、客户端完整播放是不同状态。
  7. 新 Android 2.2.2 自动遵循后台有效默认插件;旧客户端可能保持手动选择。consent=1 的服务端合同仍存在。
  8. 所有示例按单机/进程内缓存实现解释;多实例部署需要额外解决 key、票据和状态共享问题。