music-link-vincentzyu-fork,网易和qq点歌,除了歌曲基本信息,还可以发送onebot合并转发、音乐卡片、音乐语音、文件~

koishi-plugin-music-link-vincentzyu-fork

npm
npm-download

原始仓库:

https://github.com/shangxueink/koishi-shangxue-apps/tree/main/plugins/music-link

(66原作者怎么删了)

fork此插件时候 上游仓库版本号:

1.7.30

效果预览

https://gitee.com/vincent-zyu/koishi-plugin-music-link-vincentzyu-fork/releases/download/example_image/songlist_example_source.png
https://gitee.com/vincent-zyu/koishi-plugin-music-link-vincentzyu-fork/releases/download/example_image/songlist_example_flat.png
https://gitee.com/vincent-zyu/koishi-plugin-music-link-vincentzyu-fork/releases/download/example_image/songlist_example_blurglass_lxgw_mahiro.png
https://gitee.com/vincent-zyu/koishi-plugin-music-link-vincentzyu-fork/releases/download/example_image/onebot_example.png

fork版本的更新日志

  • 1.8.0-beta1-20251218

    • 落月api新增自定义url
    • 换一个版本号方式,之前的太奇怪了((
  • 1.7.31-vincentzyu.v6+20251027

    • 支持发送onebot音乐卡片
    • 新增落月apiV2, powered by api.vkeys.cn,支持qq音乐、网易云 以及 二者聚合
  • 1.7.31-vincentzyu.v7+20251028

    • 新增html渲染模板:FLAT_MODERN
    • 支持自定义字体,在配置项中填入字体路径即可
    • 更新readme.md
  • 1.7.31-vincentzyu.v4+20250923

    • 到目前为止,fork以后的所有改动:
      • 只保留command6和8,其他全删了,因为貌似apiG了((
      • 提供两种渲染图片样式
  • 前面的版本号

    • 忘了
      • 反正你看到的features都是上游作者和我前面更新的(

以下是修改过的部分的原始仓库的readme

koishi-plugin-music-link

:musical_note: 音乐下载 - 搜索并提供QQ音乐和网易云音乐平台的歌曲下载链接,:star_struck:付费的也可以欸!?

特点

  • 搜索歌曲:star_struck: 支持QQ音乐和网易云音乐平台的歌曲搜索。
  • 下载歌曲:notes: QQ平台支持以不同音质下载歌曲,满足不同的音乐体验需求。提供免费以及付费音乐的下载链接。
  • 歌曲详情:headphones: 获取包括音质、大小和下载链接在内的歌曲详细信息。
  • 友好交互:iphone: 简单易用的指令,快速获取你喜欢的音乐。

安装

在koishi插件市场 搜索并安装music-link-vincentzyu-fork

或者 在koishi依赖管理 右上角加号 搜索koishi-plugin-music-link-vincentzyu-fork

或者 cd到你koishi的根目录 然后 npm install koishi-plugin-music-link-vincentzyu-fork

或者 cd到你koishi的根目录 然后 yarn add koishi-plugin-music-link-vincentzyu-fork

:warning: 重要:首次启动说明

插件首次启动时,会自动从 Gitee Realase 下载所需的资源文件(字体和背景图片),下载完成后才会注册指令和启动中间件

如果网络不稳定或自动下载失败,可以手动下载资源文件:

资源文件下载链接:

手动下载步骤:

  1. 点击上述链接下载资源文件
  2. 将所有文件放入 assets 文件夹(assets 文件夹与 lib 文件夹、package.json 文件位于同级目录中)
  3. 重启本插件,让插件重新执行一遍validateAssets()

:open_book: 使用方法

安装并配置插件后,使用下述命令搜索和下载音乐:

指令名是可以改的,下面展示的网易点歌落月点歌都是默认值捏

:musical_note: 网易点歌 (command6)

网易点歌 [歌曲名称/歌曲ID]

后端选择:

  • api.injahow.cn (默认 - 稳定推荐)

    • :white_check_mark: API请求快速且稳定,无需 puppeteer 服务
    • :white_check_mark: 推荐QQ官方机器人使用
    • :warning: VIP歌曲只能听45秒(黑胶限制)
    • :dart: 仅支持网易云音乐
  • api.qijieya.cn (推荐 - 完整版)

    • :white_check_mark: 稳定性未知,但支持全部可听
    • :white_check_mark: 无VIP限制,完整歌曲
    • :dart: 仅支持网易云音乐
  • meting.jmstrand.cn (可选)

    • :white_check_mark: 稳定性未知,全部可听
    • :dart: 仅支持网易云音乐
  • metingapi.nanorocky.top (不推荐)

    • :white_check_mark: 无损音质,全部可听
    • :warning: 文件很大,下载慢
    • :dart: 仅支持网易云音乐

:notes: 落月点歌 (command9)

落月点歌 [歌曲名称]

后端选择:

  • api.vkeys.cn/v2 (落月api官方)

    • :white_check_mark: 支持网易云 + QQ音乐
    • :white_check_mark: 支持多音质选择(64k - Master母带)
    • :white_check_mark: 支持聚合搜索(双平台同时搜索)
    • :dart: 网易云最高支持:超清母带 (Master)
    • :dart: QQ音乐最高支持:臻品母带2.0
  • http://xwl.vincentzyu233.cn:51217 (作者自建)

    • :white_check_mark: 与官方API功能相同
    • :warning: 如果挂了可以去QQ群:259248174 叫我

落月api音质等级说明:

平台 音质选项 码率/格式
网易云 标准 64k / 128k
网易云 HQ极高 192k / 320k
网易云 SQ无损 FLAC
网易云 Hi-Res 高解析度无损
网易云 Spatial Audio 高清臻音
网易云 Master 超清母带
QQ音乐 标准/HQ 标准/高音质
QQ音乐 SQ无损 无损音质
QQ音乐 Hi-Res Hi-Res音质
QQ音乐 杜比全景声 Dolby Atmos
QQ音乐 臻品母带2.0 Master 2.0

如何返回语音/视频/群文件消息

可以修改对应指令的返回字段表中的 下载链接 对应的 字段发送类型 字段,

text 更改为 audio 就是返回 语音,

改为 video 就是返回 视频消息,

改为 file 就是返回 群文件。


⚠️需要注意的是,当配置返回格式为音频/视频的时候,请自行检查是否安装了 silkffmpeg 等服务。

⚠️如果你选择了 file 类型,请确保平台支持!目前仅实测了 onebot 平台的部分协议端支持!


使用 -n 数字 直接返回内容

在使用命令时,可以通过添加 -n 数字 选项直接返回指定序号的歌曲内容。这对于快速获取特定歌曲非常有用。

例如,使用以下命令可以直接获取第一首歌曲的详细信息:

歌曲搜索 -n 1 蔚蓝档案

免责声明

  1. 数据来源

    • 本插件调用了第三方网站(如 music.gdstudio.xyz)的接口来获取音乐资源。插件开发者不对这些第三方网站的内容、合法性或安全性负责。
    • 用户在使用本插件时,应自行承担因使用第三方服务而产生的任何风险。
  2. 版权声明

    • 本插件提供的音乐资源可能受版权保护。用户应确保在使用这些资源时遵守相关法律法规。
    • 插件开发者不鼓励或支持任何侵犯版权的行为。用户应仅下载和使用已获得合法授权的音乐资源。
  3. 插件用途

    • 本插件仅供学习和研究使用,禁止用于任何商业用途。
    • 插件开发者不对用户因使用本插件而产生的任何法律问题负责。
  4. 服务稳定性

    • 由于依赖第三方服务,插件的功能可能会因第三方服务的变更或不可用而受到影响。
    • 插件开发者不保证插件的持续可用性或稳定性。
  5. 用户责任

    • 用户在使用本插件时,应遵守相关法律法规和平台规定。
    • 如因用户不当使用本插件而导致任何问题,插件开发者不承担任何责任。

上游仓库的更新日志

  • 1.7.23

    • 添加网易点歌的最大时长限制
    • 支持qq官方平台机器人发送下载链接
  • 1.7.20

    • 优化generateResponse调用方法
    • 修复command5的无下载链接的歌曲导致的无限等待
    • 新增合并转发模式 仅支持onebot平台
    • 优化项目说明
  • 1.7.17

    • 感谢https://github.com/Onimaimai/nonebot-plugin-voicemusic/issues/10提及的的API捏
    • 感谢www.byfuns.top
    • 新增网易点歌的直链获取后端。再也不是黑胶只能30秒啦~
  • 1.7.16

    • 取消龙珠点歌的QQ音乐API调用
    • 优化command8的传参和本地化使用
    • 修改readme内容
  • 1.7.15

    • 优化部分配置项说明
    • 整理优化结构
    • 声明支持多份配置
    • 为保持配置项统一稳定和简洁,暂不支持在同一个配置里 同时选择多个后端 注册多个指令
    • 修复music.gdstudio.xyz平台多弹窗的提示问题
    • 完善指令说明
    • 优化所有指令的具体实现
    • 通测确保正常
    • 取消字段的.hidden()
    • 优化说明内容
  • 1.7.14

    • 优化command6的请求逻辑
    • 使用更加稳定的网易云官方API
    • 优化封面返回清晰度
    • 仍然使用原来的后端作为语音后端
    • 优化使用说明
    • 优化本地化对指令的描述
    • 优化项目说明内容,新增对file类型的提示
  • 1.7.13

    • 优化command5等待逻辑
    • 修复command5QQ平台无限等待的bug
    • 完善匹配没有找到相关的歌曲,请尝试更换关键词或平台。的情况
  • 1.7.12

    • 优化之后感觉music.gdstudio.xyz最好用
    • 修改默认后端
    • 优化说明内容
    • 优化music.gdstudio.xyz监听
    • 优化等待时机
    • 优化匹配内容
    • 优化返回
  • 1.7.9

    • 优化music.gdstudio.xyz的点歌逻辑
    • 改为网络监听而不是操作元素
    • 优化说明内容
    • 优化music.gdstudio.xyz菜单渲染逻辑
    • 修改formatSongList优化参数+1,允许自定义结束ID
    • 优化超时定时器的设置
    • 交互逻辑放到page.on的外面
  • 1.7.7

    • 增加龙珠API
    • 修复音质指定的bug
    • 修复中间件解析的command8的网易云卡片解析id比预期-10
    • 完善说明
    • 修改部分,忘了
  • 1.7.2

    • 优化配置项结构
    • 修改网易云ID点歌,改为搜索点歌
    • 优化配置项说明内容
    • 完善说明内容
    • 新增【选择使用的后端】
    • 优化command6对-n选项的支持
  • 1.6.15

    • 兼容QQ音乐新格式的卡片
    • 加强判断,优化小黑盒卡片判断
    • 修复网易云ID点歌的include报错
    • 修复【歌曲搜索】网页因为经验条的报错
    • 取消部分日志输出,改为调试模式输出
  • 1.6.10

    • 修复 command7 的数据持续监听逻辑问题(不关闭puppeteer)
    • 定位temp删不掉的问题(发现是onebot协议端 发不出去 retcode200,但是资源占用)
  • 1.6.9

    • 新增音乐搜索器点歌,支持酷狗+网易云(江苏好像不好访问,会江苏反诈)
    • 优化temp删除逻辑
    • 优化中间件解析,新增command6 的解析功能
    • 修复父级指令消失
  • 1.6.7

    • 优化temp删除逻辑
    • 按照指令层级注册指令
  • 1.6.6

    • 换key不能解决用完的问题,需要用户自己去申请
    • 新增网易云ID单曲点歌——command6
    • 新增file返回类型,支持temp保存,和定时删除
    • 修复 command5 截图元素获取不到大小的问题
    • 修复部分说明内容
    • 完善配置项类型选择的说明
  • 1.6.2

    • 更换APIKEY
    • 修复中间件监听解析对于command5的支持
  • 1.6.1:本地化支持

  • 1.6.0:新增对第三方网站 music.gdstudio.xyz 的支持,优化用户体验。

  • 1.5.10:往期更新。

1 个赞

https://gitee.com/vincent-zyu/koishi-plugin-music-link-vincentzyu-fork

https://www.npmjs.com/package/koishi-plugin-music-link-vincentzyu-fork

1 个赞

判断我自建后端是死是活的方式:

浏览器访问 http://xwl.vincentzyu233.cn:51217/

如果能拿到一个json,那大概率是好的(

1 个赞

嘛耶…(x
接口是直接 302 走官方源服务器获取数据的,下载慢的锅我不背(x)
至于 Q音,指定一个合格的 Referer 和 Origin 就能通过验证了(

1 个赞

请问你是接口作者吗?你说的是哪个接口:thinking:

1 个赞

阿巴…你看我名字呢…?(x)

2 个赞

metingapi.nanorocky.top 这个 api 的后端是 GitHub - NanoRocky/meting-api: Meting API for APlayer ,觉得好用可以点个 star,有问题可以提 issue,要是觉得有性能问题可以自己改完发 pr。嫌音质太好也有个 br 参数可以调音质。

2 个赞

sokka,大佬,羡慕

图片
这里的 “仅支持网易云音乐” 不是我写的,是fork的上游作者写的(

你的接口也支持Q音是咩awa

那我去更新一下插件?:thinking:

1 个赞

cool,羡慕

1 个赞

star点啦,要不我把仓库地址也放到usage字符串 和 readme里面?awa

图片
图片

1 个赞

qwq “下载慢” 这几个字 不是我写的
是上游仓库的作者写的(

那我下次发版的时候我把这几个字 去掉awa?

我的fork基本上只做了这几个事情:

  1. 新增几种puppeteer 图片样式
  2. 支持onebot音乐卡片
  3. 删掉我用不了的api,对接落月api(现在剩下command6和command9)

1 个赞

OMG,nope nope nope ,怎么还有人来帮我打广告来了(x
不用这样喵w
我不是在怨… 只是…说明一下而已w
Q音你可以先测试下,我自己调用是没问题的

2 个赞

sokka,okk

1 个赞

20260310 凌晨2点

发了一个新版本捏,在npm

图片

https://www.npmjs.com/package/koishi-plugin-onebot-info-image

我在去年的八月份fork上游仓库,也做了不少修改了。 现在总结一下 相较于 我fork上游仓库的时候的版本:1.7.30

做的变化捏:

Diff 描述:e4228b4 → 34e8056

起始版本e4228b4 — v1.7.30-vincentzyu.v1+20250813
结束版本34e8056 — v1.8.1 正式版
变更统计:28 files changed, 3863 insertions(+), 2322 deletions(-)


一、代码架构重构

上游作者原始的 2334 行单文件 lib/index.js 被拆分为 4 个模块:

文件 行数 职责
lib/index.js 1034 主逻辑(命令注册、API 请求处理)
lib/config.js 475 Schema 配置定义、usage 说明页、常量映射表
lib/render.js 607 歌曲列表图片渲染(基于 puppeteer)
lib/utils.js 312 工具函数(资源校验、临时文件管理等)

涉及的 commit:

  • e252c3f v1.7.30-v2:首次抽出 render.js
  • 3e806c4 v1.7.30-v3:大幅精简 index.js(-1327 行)
  • bc23c59 1.8.1-beta1:正式拆出 config.jsutils.js,index.js 从 ~1650 行降至 ~1030 行

二、功能新增

2.1 base64 发文件

  • 新增通过 base64 编码发送音乐文件的方式,作为文件发送的备选方案
  • commit:bc23c59 1.8.1-beta1

2.2 自定义文件名格式

  • 支持用户通过配置自定义下载音乐文件的命名格式
  • 后续在 5caf050 (1.8.1-beta2) 中进一步增强,优化了格式化逻辑
  • commit:bc23c59 1.8.1-beta1, 5caf050 1.8.1-beta2

2.3 歌曲列表图片渲染

  • 新增 render.js,使用 puppeteer 将搜索结果渲染为图片列表返回
  • commit:e252c3f v1.7.30-v2, 3f63a51 v1.7.31-v8(+275 行大幅增强)

2.4 临时文件管理优化

  • 新增 safeUnlink 等工具函数,更安全地清理下载产生的临时文件
  • deleteTempTime 默认值从原来的值改为 300s
  • 清理了误提交到仓库的临时音频文件(lib/temp/f9288ca2907cef2e.m4a
  • commit:5caf050 1.8.1-beta2, f9a24b7, 2cb2a70 1.8.0-beta5

2.5 1.8.0 阶段的迭代(beta1 ~ beta6)

  • 9555e81 beta1:小幅调整 index.js 逻辑
  • 05c3f8e beta2:新增 dev.md 开发笔记
  • 1556e13 beta3:增加 index.js 逻辑
  • 1ad31c8 beta4:大量重写(+320 行),调整默认配置
  • 3faae56:追加 usage 和 readme 内容
  • f3a28e9 beta6:微调

三、项目元信息 Fork 化

package.json 中的以下字段从上游改为 fork 仓库自己的信息:

字段 上游 (旧) Fork (新)
description /*音乐下载*/🎵搜索音乐资源... /*音乐下载*/music-link的fork版本。🎵搜索音乐资源...
homepage github.com/shangxueink/... gitee.com/vincent-zyu/koishi-plugin-music-link-vincentzyu-fork
bugs.url github.com/shangxueink/.../issues gitee.com/vincent-zyu/.../issues
repository (无) 新增,指向 Gitee 仓库

涉及的 commit:e252c3f, 2c08779, b97d8af

四、文档变更

  • README:多次重写和调整格式(其中 80d2394 还在吐槽换行问题:joy:
  • socialify banner:给 README 加上了 socialify.git.ci 的项目 banner(f18262d
  • 更新日志:在 README 中增加 1.8.1-beta2 版本的更新日志(df5f6a0
  • 落月 API v2 文档:新增 doc/落月API_v2/ 目录,包含 QQ 音乐和网易云音乐的完整 API 接口文档(17 个 md 文件)(b97d8af
  • dev.md:新增开发笔记(05c3f8e, 2cb2a70

五、其他杂项

  • 新增 .gitignore,排除 changes.diff、临时文件等
  • 新增 assets/.gitkeep 占位
  • usage 说明页更新 QQ 反馈群号:旧群 259248174 已失效,换为 108519020134e8056

六、版本演进时间线

e4228b4  2025-08-13  v1.7.30-vincentzyu.v1     起点
e252c3f  2025-08-14  v1.7.30-vincentzyu.v2     首次拆出 render.js
3e806c4  2025-08-17  v1.7.30-vincentzyu.v3     大幅精简 index.js
ef46dd0  2025-09-23  v1.7.30-vincentzyu.v4     小修
b97d8af  2025-10-27  v1.7.31-vincentzyu.v6     大量功能增强 + API 文档
3f63a51  2025-10-28  v1.7.31-vincentzyu.v8     render.js 大幅增强
9555e81  2025-12-18  v1.8.0-beta1              进入 1.8.0 开发
1ad31c8  2025-12-30  v1.8.0-beta4              大量重写
f3a28e9  2025-12-30  v1.8.0-beta6              1.8.0 最后一个 beta
bc23c59  2026-01-27  v1.8.1-beta1              拆分架构 + base64 + 自定义文件名
5caf050  2026-02-07  v1.8.1-beta2              增强文件名功能 + 临时文件优化
34e8056  2026-03-10  v1.8.1                    正式发版 🎉

一句话总结:把上游的单文件大杂烩拆成了模块化架构,加了 base64 发文件 / 自定义文件名 / 图片渲染等新功能,完成了 fork 独立化,最终发布 v1.8.1 正式版。

1 个赞

:rocket: koishi-plugin-music-link-vincentzyu-fork v1.9.1-beta.1 发布

:loudspeaker: 版本信息

  • 版本号: v1.9.1-beta.1+20260325
  • 发布日期: 2026年03月25日
  • 下载地址: npm | GitHub | Gitee

:sparkles: 主要更新

:wrench: 统一渲染器行为

  • 将 SVG 渲染的 renderInfo 判断逻辑移至内部,与 Puppeteer 渲染器保持一致
  • 简化 render.js 逻辑,移除冗余判断,代码更加清晰
  • 统一了两种渲染器的行为模式,便于后续维护

:art: 优化 SVG 布局

  • 右侧标签(网易/QQ 标签和时长标签)整体右移,视觉效果更佳
  • 左侧文字长度增加 2-3 个字符,减少省略号出现,显示更多信息
  • 提升了 SVG 歌单的整体美观度和可读性

:crescent_moon: 配置项重命名

  • 将 Puppeteer 的 darkMode 配置项重命名为 enablePuppeteerDarkMode
  • 命名更加清晰明确,避免与 SVG 的 enableSvgDarkMode 混淆
  • 提升了配置项的可读性和可维护性

:memo: 指令参数增强

  • command6(网易云点歌)和 command9(落月点歌)添加 --mode 参数
  • 支持多种模式选项:lightdark白天黑夜
  • 优先级:命令行参数 > 配置项默认值,使用更加灵活
  • 示例:
    网易点歌 -m dark 蔚蓝档案
    落月点歌 -m light 蔚蓝档案
    

:warning: 配置提示优化

  • svgWidth(SVG 图片宽度)和 svgColumns(SVG 歌单列数)添加警告信息
  • 提醒用户调整列数和宽度可能导致格式混乱
  • 建议用户谨慎调整这些高级配置项

:mag: 代码结构优化

  • 简化 render.js 逻辑,移除冗余判断
  • 提升代码质量和可维护性
  • 为后续的代码重构打下基础

:memo: readme中更新日志

  • 1.9.1-beta.1+20260325 :rocket:

    • :wrench: 统一渲染器行为
      • 将 SVG 的 renderInfo 判断逻辑移至内部,与 Puppeteer 保持一致
      • 简化 render.js 逻辑,移除冗余判断
    • :art: 优化 SVG 布局
      • 右侧标签整体右移,提升视觉效果
      • 左侧文字长度增加 2-3 个字符,减少省略号出现
    • :crescent_moon: 配置项重命名
      • darkMode 改名为 enablePuppeteerDarkMode,命名更清晰
    • :memo: 指令参数增强
      • command6command9 添加 --mode 参数
      • 支持 light / dark / 白天 / 黑夜 选项
      • 优先级:命令行参数 > 配置项默认值
    • :warning: 配置提示优化
      • svgWidthsvgColumns 添加警告信息
      • 提醒用户调整列数和宽度可能导致格式混乱
    • :package: 版本更新
      • 升级到 v1.9.1-beta.1+20260325
  • 1.9.0-beta.1+20260324 :tada:

    • :sparkles: 新增 resvg resvg 轻量级 SVG 渲染功能!
      • :crab: 基于 Rust 编写:内存安全,性能卓越
      • :rocket: 比 Puppeteer 资源占用低!(某些情况下 可能渲染还会更快捏)
      • :floppy_disk: 不依赖浏览器:内存和 CPU 占用极低
      • :wrench: 易于部署:无需配置 Puppeteer 服务
      • :package: 引入 @resvg/resvg-js 依赖,Puppeteer 依旧保持可选依赖
    • :art: 新增出图模式多选配置
      • :bar_chart: renderMode 配置项支持多选:svg / puppeteer / text
      • :white_check_mark: 默认只启用 SVG 模式,用户可根据需求自由组合
    • :crescent_moon: SVG 暗黑模式支持
      • enableSvgDarkMode 配置项,默认亮色模式
      • 可自定义主题色 svgThemeColor(默认 Koishi 紫 #7e57c2
      • 可调整渲染缩放比例 svgScale(默认 3.3x)
    • :memo: 配置智能提示
      • 插件启动时自动显示当前出图模式配置
      • Puppeteer 配置项在未启用时自动禁用

:dart: 技术亮点

:crab: resvg Rust 驱动的 SVG 渲染器

本插件使用 Rust 编写的高性能 SVG 渲染器(基于 @resvg/resvg-js),具有以下优势:

  • :zap: 性能卓越:比 Puppeteer 快 3 倍以上,渲染速度极快
  • :floppy_disk: 资源占用低:不依赖浏览器,内存和 CPU 占用极低
  • :art: 渲染质量高:支持高 DPI 缩放,输出图片清晰锐利
  • :wrench: 易于部署:无需配置 Puppeteer 服务,开箱即用
  • :crescent_moon: 支持暗黑模式:内置亮色/暗黑主题,可自定义主题色

:performing_arts: Puppeteer Puppeteer 渲染器

Puppeteer 渲染器基于浏览器,具有以下优点:

  • :art: 样式更加精美:支持更多复杂样式和特效
  • :iphone: 兼容性更好:基于标准浏览器渲染,支持更多 CSS 特性
  • :wrench: 可定制性强:支持多种渲染样式和自定义字体
  • :package: 功能丰富:支持背景图片、模糊效果等高级特性

:warning: 注意:Puppeteer 渲染需要浏览器支持,内存占用较高

  • 内存资源充裕的机器可以选择此模式
  • 建议配置 Swap 以避免浏览器爆内存:配置 Swap 指南

:bar_chart: 多模式渲染支持

插件支持三种渲染模式,可根据需求自由组合:

  • SVG 模式(默认):高性能、低资源占用,推荐使用
  • Puppeteer 模式:传统方式,兼容性好,样式精美
  • 文本模式:纯文本输出,轻量简洁

:package: 安装方式

通过 Koishi 插件市场安装

  1. 打开 Koishi 控制台
  2. 进入插件市场
  3. 搜索 music-link-vincentzyu-fork
  4. 点击安装

通过 npm 安装

# 在koishi根目录执行:
# npm
npm install koishi-plugin-music-link-vincentzyu-fork

# yarn
yarn add koishi-plugin-music-link-vincentzyu-fork


:musical_note: 功能特性

支持的音乐平台

  • :musical_note: 网易云音乐:支持多种音质,包括无损和 Hi-Res
  • :notes: QQ音乐:支持多音质选择,包括臻品母带 2.0

渲染模式

  • :art: SVG 渲染:高性能、低资源占用,推荐使用
  • :paintbrush: Puppeteer 渲染:传统方式,支持多种样式
  • :memo: 文本模式:纯文本输出,轻量简洁

点歌方式

  • :mag: 歌名搜索:输入歌曲名称进行搜索
  • :1234: ID 点歌:直接输入歌曲 ID 快速点歌
  • :flower_playing_cards: 音乐卡片:支持自动解析音乐卡片并点歌

:memo: 更新日志详情

修复的问题

  • 统一了 SVG 和 Puppeteer 渲染器的 renderInfo 生成逻辑
  • 优化了 SVG 歌单的标签位置和文字长度
  • 修复了配置项命名不一致的问题

新增的功能

  • 为点歌指令添加了 --mode 参数,支持动态切换渲染模式
  • 增强了配置项的提示信息,提供更好的用户体验

优化的内容

  • 简化了渲染逻辑,提升了代码质量
  • 优化了 SVG 歌单的视觉效果
  • 改进了配置项的命名和描述

:handshake: 反馈与支持

  • :speech_balloon: QQ 交流群:259248174(这个群G了
  • :speech_balloon: QQ 交流群:1085190201
  • :bug: Bug 反馈GitHub Issues
  • :bulb: 功能建议GitHub Discussions
  • :e-mail: 联系作者:在群里直接艾特我,回复更快哦~

1 个赞

更新一下readme:

效果预览

:art: SVG 渲染模式 (v1.9.0+ 新增)

:sparkles: ** resvg 渲染 resvg** - 基于 Rust 编写的高性能 SVG 渲染器,不依赖浏览器!

  • :crab: Rust 驱动:使用 Rust 编写,内存安全,性能卓越
  • :floppy_disk: 低资源占用:不依赖浏览器,内存和 CPU 占用极低
  • :art: 高清晰度:支持高 DPI 缩放,输出图片清晰锐利
  • :wrench: 易于部署:无需配置 Puppeteer 服务,开箱即用

https://gitee.com/vincent-zyu/koishi-plugin-music-link-vincentzyu-fork/releases/download/example_image/songlist_example_svg.png


https://gitee.com/vincent-zyu/koishi-plugin-music-link-vincentzyu-fork/releases/download/example_image/discord_example.png

:paintbrush: Puppeteer 渲染模式(传统方式)

:performing_arts: ** Puppeteer 渲染 Puppeteer ** - 基于浏览器的传统渲染方式

  • :art: 样式更加精美:支持更多复杂样式和特效
  • :iphone: 兼容性更好:基于标准浏览器渲染,支持更多 CSS 特性
  • :wrench: 可定制性强:支持多种渲染样式和自定义字体
  • :package: 功能丰富:支持背景图片、模糊效果等高级特性

:warning: 注意:Puppeteer 渲染需要浏览器支持,内存占用较高

  • 内存资源充裕的机器可以选择此模式
  • 建议配置 Swap 以避免浏览器爆内存:配置 Swap 指南
    … 图片略,上面发过了捏
1 个赞

新增一个table配置项,可以自由配置歌单的渲染模式~

  1. 配置选中哪些
  2. 配置顺序
  3. 配置是否并行还是串行
1 个赞

1 个赞

1 个赞


这个 \t, 强迫症舒服了~

1 个赞