夸克网盘资源搜索插件(项目已废弃,接口不再维护)

通过关键词搜索夸克网盘资源,返回资源标题与下载链接,支持分页浏览。
作者: 蜥蜴


⚠️ 项目状态

本项目已废弃,所对接的第三方接口不再维护,插件可能无法正常返回搜索结果。

本文保留作为使用记录与实现参考。如需在现有机器人中使用,请自行评估接口可用性。


背景

使用夸克网盘查找资源时,通常需要在搜索引擎或第三方站点中检索,再逐条筛选可用的分享链接,操作较为繁琐。若希望在日常聊天中直接获取,需要通过机器人调用第三方搜索接口。

koishi-plugin-quark-search-lizard 将搜索、分页浏览与结果下发整合为一条聊天指令,可在群聊或私聊中完成完整的检索流程。


工具定位

koishi-plugin-quark-search-lizard 是一款基于 Koishi 框架的资源搜索插件,主要能力如下:

能力 说明
关键词搜索 通过关键词检索夸克网盘资源
分页浏览 结果较多时支持翻页查看
数量控制 每页条目数可通过配置调整
超时结束 超时或错误次数过多时自动结束搜索
结果下发 返回资源标题与下载链接

当前版本为 2.0.0,依赖 Koishi ^4.18.0。


安装

前置条件

  • 已搭建并可正常运行的 Koishi 项目(koishi-app)

方式一:通过插件市场安装(推荐)

  1. 启动 Koishi 项目,打开控制台(默认地址 http://localhost:5140)。
  2. 进入左侧「插件市场」。
  3. 在搜索框中输入 quark-search-lizard。
  4. 找到插件后点击「添加」,Koishi 会自动完成依赖安装与配置写入。

方式二:通过 npm 安装

在 Koishi 项目根目录执行:

1
npm install koishi-plugin-quark-search-lizard

随后在 koishi.yml 中手动添加配置:

1
2
3
4
plugins:
quark-search-lizard:
apiUrl: https://www.hhlqilongzhu.cn/api/duanju_cat.php
pageSize: 10

方式三:通过 yarn / pnpm 安装

若项目使用 yarn 或 pnpm,可执行:

1
2
3
4
5
# yarn
yarn add koishi-plugin-quark-search-lizard

# pnpm
pnpm add koishi-plugin-quark-search-lizard

验证安装

在任意已接入机器人的聊天窗口输入:

1
资源搜索 海贼王

若能返回资源列表或提示「未找到匹配的夸克网盘资源!」,则说明安装成功。


配置

配置项

参数 类型 默认值 取值范围 说明
apiUrl string https://www.hhlqilongzhu.cn/api/duanju_cat.php — 第三方接口地址,默认值请勿更改
pageSize number 10 1 ~ 20 每页显示的条目数

配置示例

1
2
3
4
plugins:
quark-search-lizard:
apiUrl: https://www.hhlqilongzhu.cn/api/duanju_cat.php
pageSize: 10

接口地址由 apiUrl 统一提供,搜索请求基于该地址拼接关键词参数。pageSize 控制每页返回的条目数,默认 10 条,最大 20 条。


使用流程

指令列表

指令 说明 示例
资源搜索 <关键词> 关键词搜索夸克网盘资源 资源搜索 海贼王

流程一:关键词搜索

步骤 1:发送搜索指令

1
资源搜索 海贼王

若无关键词,插件返回「请提供搜索关键词!」。

步骤 2:接收搜索结果

插件返回带分页信息的资源列表:

1
2
3
4
5
6
7
8
9
10
标题:海贼王
下载链接:https://pan.quark.cn/s/...

标题:海贼王全集
下载链接:https://pan.quark.cn/s/...

当前第 1 页,共 3 页
输入【q/上一页】查看上一页
输入【e/下一页】查看下一页
输入【0/退出】退出

若结果只有一页,则直接返回列表并附加「当前第 1 页,共 1 页」,不进入分页监听。

步骤 3:分页浏览

插件进入分页监听状态,等待用户输入:

输入 行为
e / 下一页 查看下一页
q / 上一页 查看上一页
0 / 退出 结束搜索

翻页时仅在当前页存在上一页或下一页时才生效。

步骤 4:结束搜索

搜索会在以下情况结束:

  • 输入 0 或 退出:手动结束,提示「搜索已手动结束。」
  • 15 秒内无输入:超时结束,提示「输入超时,搜索结束!」
  • 连续两次无效输入:提示「错误次数过多,搜索结束!」。首次无效输入时会提示剩余尝试次数

步骤 5:无结果处理

若无匹配资源,插件返回「未找到匹配的夸克网盘资源!」。


使用场景

场景一:群聊内快速检索

群聊中提及某个资源时,可直接通过 资源搜索 <关键词> 检索并分享夸克网盘链接。

场景二:多结果分页浏览

当搜索结果较多时,可通过翻页逐页浏览,无需一次性接收全部内容。


技术实现

技术栈

技术 用途
Koishi 机器人框架
TypeScript 开发语言
第三方搜索接口 资源数据来源

接口调用

插件通过 apiUrl 拼接关键词参数获取数据:

1
const searchUrl = config.apiUrl + searchResourceApi + encodeURIComponent(keyword);

searchResourceApi 固定为 ?name=,关键词通过 encodeURIComponent 编码后拼接,返回数据取自响应中的 data 字段。

核心设计

分页监听

分页逻辑通过 listenForPageSelection 实现。结果超过一页时,进入循环并调用 session.prompt 等待用户输入:

1
2
3
4
5
while (isSearchActive) {
session.send(sendPageResults(page));
const userInput = await session.prompt(15 * 1000);
// 处理用户输入
}

session.prompt 的超时时长为 15 秒,超时视为结束搜索。

错误计数

无效输入会被累计,超过上限(maxErrorCount = 2)时结束搜索:

1
2
3
4
5
errorCount++;
if (errorCount >= maxErrorCount) {
session.send('错误次数过多,搜索结束!');
isSearchActive = false;
}

翻页成功时 errorCount 会归零。

结果分段展示

列表按 pageSize 切片后逐条格式化:

1
2
const start = (page - 1) * pageSize;
const paginatedResource = resourceData.slice(start, start + pageSize);

每条结果展示标题与下载链接。


注意事项

1. 项目已废弃

所依赖的第三方接口已不再维护,插件可能无法正常返回搜索结果。本文档仅作为使用记录保留。

2. 接口稳定性

默认接口为第三方服务,可能出现限流或返回异常。如遇请求失败,建议稍后重试,不建议自行修改 apiUrl。

3. 分页超时

分页监听状态下,超过 15 秒未输入会结束搜索。需重新发起搜索。

4. 错误次数限制

连续两次无效输入会结束搜索。首次无效输入时会提示剩余尝试次数。

5. 平台选择

请合理使用,避免因滥用导致接口限制或封禁。


常见问题

Q1:安装后输入指令无响应?

依次检查以下项:

  • 插件是否已在控制台启用
  • 机器人是否已成功连接至目标平台
  • 指令是否完整输入(资源搜索 与关键词之间以空格分隔)

Q2:提示「未找到匹配的夸克网盘资源!」?

可能的原因包括:

  • 关键词与实际内容不匹配,可尝试更换关键词
  • 第三方接口暂时不可用
  • 该资源未收录于接口数据源中

Q3:如何在结果较多时翻页?

结果超过一页时,插件会进入分页监听状态,按提示输入 e / 下一页 或 q / 上一页 即可翻页。

Q4:搜索为什么会自动结束?

搜索会在以下情况自动结束:15 秒内无输入、连续两次无效输入。可重新发起搜索继续查找。

Q5:每页的条目数可以调整吗?

可以。通过 pageSize 配置项调整,默认 10 条,取值范围为 1 至 20。

Q6:为什么翻页没有生效?

翻页仅在当前页存在上一页或下一页时才生效。例如在第 1 页输入 q 不会生效。


获取工具