#developer-tools

kite 开发进度看板

Mizuki_Miru
Mizuki_Miru
2026年10月18日4 次阅读

kite 是一个用 Go 写的网易云音乐能力服务,同时提供命令行工具和对外的 gRPC / REST 接口,目标是让 Rust 等其它语言的项目直接使用。后续会接入更多音乐源。

这一页回答三个问题:已经开发了哪些接口,哪些在做,接下来做什么。接口清单不是手写的,由代码生成。

概览

指标数值
已建模并可用的接口(RPC)78 个,分布在 9 个服务
其中可通过命令行调用的78 / 78
上游接口蓝图(估算)约 357 个,当前覆盖约 22%

这里的「已完成」指:该接口在 proto 里有定义,并且至少有一条命令行命令调用它,二者的对应关系由测试守护。它不等于上游每个字段都已覆盖。

已完成的接口

歌单(PlaylistService,16 个)

接口命令行说明
GetPlaylistkite playlist detail歌单详情
HighQualitykite playlist highquality精品歌单
HighQualityTagskite playlist highquality-tags精品歌单标签
CatListkite playlist catlist歌单分类列表
BrowseHotkite playlist hot热门歌单
Subscriberskite playlist subscribers歌单收藏者
AllTrackskite playlist tracks歌单全部歌曲
Subscribekite playlist subscribe收藏/取消收藏歌单(写操作,登录态)
Createkite playlist create创建歌单(写操作,登录态)
Deletekite playlist delete删除歌单(写操作,登录态)
UpdateNamekite playlist update-name歌单改名(写操作,登录态)
UpdateDesckite playlist update-desc修改歌单描述(写操作,登录态)
UpdateTagskite playlist update-tags修改歌单标签(写操作,登录态)
UpdateTrackskite playlist update-tracks歌单增删歌曲(写操作,登录态)
SimilarPlaylistskite playlist similar相似歌单(按歌曲)
RelatedPlaylistRecommendkite playlist related相关歌单推荐

歌曲(SongService,16 个)

接口命令行说明
GetSongDetailkite song detail歌曲详情
GetSongURLkite song url歌曲播放地址
GetLyrickite song lyric歌词
Likekite song like红心/取消红心(写操作,登录态)
Trashkite song trash丢进垃圾桶,降推荐权重(写操作,登录态)
DisallowRecommendkite song disallow-recommend标记不感兴趣,影响日推(写操作,登录态)
CheckAvailablekite song check-available检查歌曲是否可用
LikedListkite song liked-list红心歌曲列表(登录态)
QualityDetailkite song quality-detail音质详情(eapi)
LikeCountkite song like-count红心数(eapi)
IsLikekite song is-like是否已红心(登录态)
DynamicCoverkite song dynamic-cover动态封面(eapi)
ChorusTimekite song chorus-time副歌(eapi)
CreatorInfokite song creator-info创作者(eapi)
GetWordLyrickite song word-lyric逐字歌词
SimilarSongskite song similar-songs相似歌曲

用户(UserService,12 个)

接口命令行说明
Accountkite user account当前账号信息(登录态)
Detailkite user detail用户详情
SubCountkite user sub-count当前用户计数(登录态)
UserPlaylistkite user playlists用户歌单
DetailByNamekite user detail-by-name按昵称查用户 ID
FollowEachOtherkite user follow-each-other是否互相关注
Followskite user follows用户关注列表
Followedskite user followeds用户粉丝列表
Eventskite user events用户动态
Recordkite user record听歌排行
Levelkite user level用户等级
SimilarUserskite user similar相似用户(按歌曲)

专辑(AlbumService,9 个)

接口命令行说明
GetAlbumkite album detail专辑详情
NewAlbumShelfkite album shelf新碟上架
NewestAlbumskite album newest最新专辑
AllNewAlbumskite album all全部新碟
SubscribedAlbumskite album subscribed已收藏专辑列表(登录态)
AlbumDynamickite album dynamic专辑动态信息(收藏数等)
AlbumSongQualitykite album song-quality专辑歌曲音质
SubscribeAlbumkite album subscribe收藏专辑(写操作,登录态)
UnsubscribeAlbumkite album unsubscribe取消收藏专辑(写操作,登录态)

歌手(ArtistService,9 个)

接口命令行说明
GetArtistkite artist detail歌手详情
AllSongskite artist songs歌手全部歌曲
TopSongskite artist top-songs歌手热门歌曲
Albumskite artist albums歌手专辑列表
Desckite artist desc歌手简介
Similarkite artist similar相似歌手
Fanskite artist fans歌手粉丝
TopArtistskite artist toplist歌手榜
ArtistSubscribekite artist subscribe收藏/取消收藏歌手(写操作,登录态)

登录(AuthService,6 个)

接口命令行说明
SendCaptchakite send-captcha发送短信验证码
LoginByCellphonekite login-cellphone手机号验证码登录
LoginQrcodekite login扫码登录,cookie 持久化到本地配置目录
CheckQrcodekite login扫码登录,cookie 持久化到本地配置目录
LoginStatuskite login-status查看当前登录态
Logoutkite logout登出并删除本地会话文件

搜索(SearchService,5 个)

接口命令行说明
Searchkite search搜索(默认单曲)
Suggestkite search suggest搜索建议
Hotkite search hot热搜列表
HotDetailkite search hot-detail热搜详情
DefaultKeywordkite search default-keyword默认搜索关键词

推荐(RecommendService,4 个)

接口命令行说明
GetDailyRecommendkite recommend daily-songs每日推荐歌曲
DailyRecommendPlaylistskite recommend daily-playlists每日推荐歌单(登录态)
RecommendPlaylistskite recommend playlists推荐歌单
RecommendNewSongskite recommend new-songs推荐新歌

私人 FM(FMService,1 个)

接口命令行说明
GetPersonalFMkite fm私人 FM

接口域:在做与规划

域状态追踪说明
评论规划中#28—
MV规划中#32—
排行榜规划中#29—
电台规划中#33—
云盘规划中#30—
签到与云贝规划中#31可能只登记不接 CLI

平台与工程

进行中

  • 进度看板自动发布(#68):本页。接口清单由代码生成;自动发布到博客的流水线在做。

规划中

  • P1 去重(#64):无行为变化的重构:收敛请求引擎入口,统一 endpoint 声明方式,压缩新增一个接口需要手写的位置数。先于多源地基。
  • P2 多源地基(#65):领域模型、小而可选的能力接口、provider 注册。会有破坏性变更(命令行的 --id 变成 provider:id,proto 拆分)。
  • P3 第二个音乐源(#63):选与网易云差异最大的一个,用来验证抽象。所有音乐源都会接入,顺序未定。
  • P4 终端界面(TUI)(#63):建在多源地基之上的完整终端客户端。
  • 发布到 Buf Schema Registry(#66):让其它语言的项目直接依赖 proto。待确定组织名与发布凭据。
  • 服务加固(#67):内置 TLS、限流、多令牌与调用方身份。

已完成

  • gRPC 错误契约(#55):错误以标准 gRPC status 加 google.rpc.ErrorInfo 返回,reason 稳定可依赖;REST 同步映射为 401/404/429/503 等。契约见 docs/grpc-errors.md。
  • 服务访问鉴权与健康检查(#59):bearer token 鉴权(gRPC 与 REST 同一套规则,reflection 也受保护),默认只监听本机回环,对外监听必须配令牌;标准 gRPC 健康检查与 REST /healthz。
  • Rust 互操作测试(#60):CI 里用 proto 生成 tonic 客户端,对真实运行的服务端验证鉴权与错误契约;文档里的 Rust 示例会被编译并执行。
  • 发布与交付(#45、#46、#49、#58、#62):唯一 CI 门禁,合并 release PR 后自动发布 CLI 与 kite-server 的 6 个平台归档、ghcr 镜像,镜像与校验和经 cosign 签名。
  • 请求引擎稳定性修复(#51、#53):修复 cookie 请求路径的缓存串号、熔断误判、服务端登录态接口失效;私人 FM 不再缓存。

这一页怎么来的

接口数量与清单来自 proto 描述符,命令对应关系来自命令行的注解,二者在 CI 里有测试保证一一对应;在做与规划的事项来自仓库里的 docs/status/roadmap.yaml,并有测试保证它不会和 proto 矛盾(比如接口已经存在却还写着「规划中」)。

这一页本身由仓库里的 cmd/kite-status 生成;生成物和数据来源一起入库,改了接口或命令却没刷新,测试会失败。

源码与全部记录见 VOD-Studio/kite,发布记录见 Releases。

评论将在接近时加载。