npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

koishi-plugin-asmrone

v1.7.4

Published

利用 asmr.one API,在聊天平台中搜索、获取详情并收听音声作品。

Readme

koishi-plugin-asmrone

npm

利用 asmr.one 的 API,提供在聊天平台中搜索、查看并收听音声作品的功能。

注意:部分内容可能不适合在所有场合使用 (NSFW),请在合适的范围内使用本插件。

功能

  • 搜索功能: 支持关键词、标签、声优、社团等多种筛选条件,并可按发售日、评分、销量等多种方式排序。
  • 结果展示: 支持两种模式展示搜索结果和作品详情:
    • 图片菜单: (需 puppeteer 服务) 将内容渲染为图片菜单发送,直观且能有效规避平台风控。
    • 文本消息: 以纯文本或合并转发的形式发送。
  • 收听方式: 支持多种方式发送音轨:
    • card: 音乐卡片 (仅部分平台支持,如 OneBot)。
    • file: 逐个发送原始音频文件。
    • zip: 将多个音轨打包为 ZIP 压缩包发送,支持加密和自定义压缩级别。
    • player: 发送一个在线播放器链接,支持播放列表。
    • link: 发送音轨的直接下载链接。
    • voice: 以语音形式发送 (仅部分平台支持,需配置 FFmpeg)。
  • 交互操作:
    • 列表指令后可回复序号选择,[F]下一页,[P]上一页。
    • 详情页可回复[B]返回列表。
    • 所有交互均可回复[N/取消]随时中断。
  • 权限管理: 支持白名单和黑名单模式,可精细控制插件可用性。
  • 可自定义: 支持自定义图片菜单外观、文件命名规则、缓存策略等。

安装

可从 Koishi 插件市场搜索 asmrone 安装。

指令说明

搜音声 <关键词> [筛选条件] [排序方式] [页码]

根据关键词搜索并获取音声列表。查询语句可包含关键词筛选条件排序方式页码的组合。

  • 示例: 搜音声 山田 tag:舔耳 order:发售日 2

高级筛选与排序

通过在查询语句中添加 key:value 格式的参数来进行高级筛选和排序。

| 筛选器 | 说明 | 示例 | | :------- | :-------------------- | :------------------ | | tag | 标签 | tag:舔耳 | | va | 声优 | va:藤田茜 | | circle | 社团 | circle:C-Lab. | | rate | 评分 (大于等于) | rate:4.5 | | sell | 销量 (大于等于) | sell:1000 | | price | 价格 (日元, 大于等于) | price:1000 | | age | 年龄分级 | age:general age:r15 age:adult | | lang | 语言 | lang:JPN lang:CHI_HANS | | order | 排序方式 | order:评分 | | -key | 排除条件 | -tag:男性向け |


可用排序值 (用于 order:值,默认按销量排序)

发售日, 最新收录, 发售日-正序, 销量, 价格-正序, 价格, 评分, 评价数, RJ号, RJ号-正序, 随机


热门音声 [页码]

获取当前热门作品列表 (排序方式固定,不支持自定义)。

  • 页码 (可选): 用于翻页。
  • 示例: 热门音声 3

听音声 <RJ号> [音轨序号] [发送方式]

获取作品信息并发送音轨。

  • RJ号: 必需。支持 RJ00123456123456 等格式,支持自动补全。
  • 音轨序号 (可选): 一个或多个数字序号或范围,用空格分隔 (如 1 3 5-8)。
    • 若提供,则直接获取指定音轨。
    • 若省略,则返回作品详情并等待交互选择。
  • 发送方式 (可选): card | file | zip | link | player | voice
    • 指定本次发送的格式,若省略则使用配置中的默认方式。

使用示例

  1. 获取详情并等待交互:

    听音声 RJ00123456

    机器人将回复作品详情,等待输入音轨序号。

  2. 直接获取指定音轨 (含范围,指定zip模式):

    听音声 RJ00123456 1 3 5-8 zip
  3. 在交互中指定发送方式:

    使用 听音声 RJ00123456 后,可通过回复 2 4-6 card 来获取第 2、4、5、6 轨,并以音乐卡片收听。

配置项

基础设置

| 配置项 | 类型 | 默认值 | 说明 | | :------------------- | :-------- | :------------------------------ | :--------------------------------------------- | | apiBaseUrl | string | https://api.asmr-200.com/api | 音声数据 API 地址。 | | defaultSendMode | string | player | 默认音轨发送方式。 | | useImageMenu | boolean | true | 启用图片菜单 (需 puppeteer)。 | | useForward | boolean | true | (文本模式) 启用合并转发发送长消息,减少刷屏。 | | showSearchImage | boolean | false | (文本模式) 在搜索结果的文本消息中也显示封面图。| | showLinks | boolean | false | 在详情中显示 asmr.one/DLsite 链接。 | | pageSize | number | 10 | 每页结果数量 (1-40)。 | | interactionTimeout | number | 60 | 交互操作超时时间 (秒)。 |

权限设置

| 配置项 | 类型 | 默认值 | 说明 | | :---------- | :--------- | :------ | :----------------------------------------------------------- | | accessMode| string | all | 访问权限模式: all (所有), whitelist (白名单), blacklist (黑名单)。 | | whitelist | string[] | [] | 白名单列表 (群号/频道 ID),仅白名单模式生效。 | | blacklist | string[] | [] | 黑名单列表 (群号/频道 ID),仅黑名单模式生效。 |

下载与发送设置

| 配置项 | 类型 | 默认值 | 说明 | | :------------------------ | :------- | :------- | :----------------------------------------------------------- | | downloadConcurrency | number | 3 | 同时下载文件的最大数量。 | | downloadTimeout | number | 300 | 单个文件下载的超时时间 (秒)。 | | maxRetries | number | 3 | API请求及文件下载失败时的最大重试次数。 | | cardModeNonAudioAction | string | skip | Card模式下对非音频文件的操作: skip (跳过) 或 fallbackToFile (转为file模式发送)。 | | voiceModeNonAudioAction | string | skip | Voice模式下对非音频文件的操作: skip (跳过) 或 fallbackToFile (转为file模式发送)。 | | zipMode | string | single | 多文件压缩方式: single (合并为一包) 或 multiple (每轨一包)。 | | zipCompressionLevel | number | 1 | ZIP 压缩级别 (0不压缩, 1最快, 9最高)。 | | usePassword | boolean| false | 是否为生成的 ZIP 压缩包设置密码。 | | password | string | - | 压缩包密码 (需先启用 usePassword)。 |

命名规则设置

| 配置项 | 类型 | 默认值 | 说明 | | :----------------- | :-------- | :------ | :-------------------------- | | prependRjCodeCard| boolean | false | Card 标题添加 RJ 号。 | | prependRjCodeFile| boolean | true | File 文件名添加 RJ 号。 | | prependRjCodeZip | boolean | true | Zip 包名/文件夹添加 RJ 号。 | | prependRjCodeLink| boolean | true | Link 模式标题添加 RJ 号。 |

在线播放器设置

| 配置项 | 类型 | 默认值 | 说明 | | :-------------- | :------- | :----------------------------------------------------- | :------------------------- | | playerBaseUrl | string | https://yuzuharayuka.github.io/amsrone-audio-player/ | 在线播放器页面的基础 URL。 |

缓存设置

| 配置项 | 类型 | 默认值 | 说明 | | :-------------------- | :-------- | :----- | :----------------------------------------------------------- | | cache.enableCache | boolean | true | 启用音频文件缓存,避免重复下载。 | | cache.cacheMaxAge | number | 1 | 音频缓存文件保留时间 (小时),0 表示永久。 | | cache.enableRenderCache | boolean | true | 启用图片菜单的渲染缓存。 | | cache.renderCacheMaxAge | number | 1 | 图片缓存保留时间 (小时),0 表示永久。 |

图片菜单与渲染

| 配置项 | 类型 | 默认值 | 说明 | | :---------------------- | :-------- | :-------- | :----------------------------------------------------------- | | imageRenderScale | number | 1 | 图片渲染质量 (缩放比例)。越高越清晰,但生成越慢,图片越大。 | | enableAntiCensorship | boolean | true | 图片抗风控处理,会略微增加生成耗时。 | | imageMenu | object | - | (折叠项) 用于自定义图片菜单的各种颜色,如背景、文本、标题等。 |

调试设置

| 配置项 | 类型 | 默认值 | 说明 | | :------ | :-------- | :------ | :------------------------------------- | | debug | boolean | false | 开启Debug模式 (在控制台输出详细API日志)。 |

致谢

  • asmr.one: 提供强大、及时的 API 服务。
  • Koishi: 插件所依赖的机器人框架。