NetDisk Search

Data & APIs

网盘资源搜索 - 通过网盘搜索API搜索百度/夸克/阿里/115等14种网盘资源,支持多关键词、过滤、链接检测。Docker一键部署。

Install

openclaw skills install netdisk-search

网盘资源搜索 Skill

功能概述

这是一个高性能网盘资源搜索 API 服务(GitHub: fish2018/pansou, 13.3k stars),提供以下核心能力:

  • 多网盘支持:覆盖 14 种主流网盘类型(百度/夸克/阿里/天翼/UC/115/PikPak/迅雷/123/磁力等)
  • 插件生态:内置 80+ 搜索插件,持续更新
  • 智能排序:按相关度、时间、插件等级等维度综合排序
  • 链接检测:验证网盘链接是否有效,过滤失效资源
  • 灵活部署:Docker 一键部署,支持本地和云端

前置条件

依赖要求说明
Docker20.10+部署搜索服务(必需)
Python3.6+运行脚本(仅标准库,无额外依赖)

安装为 Skill

方式一:Hermes Agent 安装

# 克隆到 skills 目录
git clone https://github.com/godzx001-dot/NDS.git ~/.hermes/skills/netdisk-search

然后在 Hermes 对话中说"搜资源"即可触发。

方式二:OpenClaw 安装

将仓库克隆到 OpenClaw 的 skills 目录:

git clone https://github.com/godzx001-dot/NDS.git ~/.openclaw/skills/netdisk-search

或在 OpenClaw 配置中添加远程 skill 源。

方式三:手动下载

# 下载并解压
curl -L https://github.com/godzx001-dot/NDS/archive/main.zip -o nds.zip
unzip nds.zip -d ~/.hermes/skills/
mv ~/.hermes/skills/NDS-main ~/.hermes/skills/netdisk-search
rm nds.zip

首次使用:部署搜索服务

安装 skill 后,需要先部署搜索服务(一次性操作):

cd ~/.hermes/skills/netdisk-search
bash scripts/deploy.sh

或手动部署:

docker run -d --name netdisk-search -p 8888:8888 --restart unless-stopped ghcr.io/fish2018/pansou:latest

验证部署成功:

curl http://localhost:8888/api/health

Agent 中的使用方式

安装后,在 Agent 对话中可以用自然语言触发:

搜索资源

用户: 帮我搜一下 "速度与激情" 的网盘资源
用户: 找一下 Python教程,只要百度和夸克
用户: 搜个唐朝诡事录,要合集不要预告
用户: 帮我找4K电影资源

Agent 会自动调用 search.py 执行搜索并格式化展示结果。

检测链接

用户: 帮我检测一下这个链接还能不能用: https://pan.quark.cn/s/xxx
用户: 验证这几个链接是否有效(附链接列表)

Agent 会调用 check_links.py 检测并返回结果。

部署服务

用户: 帮我部署一下网盘搜索服务
用户: 把网盘搜索部署到 9000 端口

Agent 会调用 deploy.sh 完成部署。

Skill 内部调用流程

当 Agent 收到搜索请求时,执行流程:

用户: 搜一下 "Python教程"
  ↓
1. 探测 API 地址(NETDISK_API_URL > localhost:8888)
  ↓
2. 调用 scripts/search.py "Python教程"
  ↓
3. 解析结果,按网盘类型分组展示
  ↓
4. 返回格式化的搜索结果给用户

快速开始(命令行)

搜索资源

cd ~/.hermes/skills/netdisk-search

# 基础搜索
python3 scripts/search.py "速度与激情"

# 指定网盘类型
python3 scripts/search.py "Python教程" --types baidu,quark

# 过滤结果
python3 scripts/search.py "唐朝诡事录" --include "合集" --exclude "预告"

# JSON 输出
python3 scripts/search.py "机器学习" --format json --limit 10

# 只搜插件(跳过TG频道)
python3 scripts/search.py "资源" --src plugin

检测链接

# 单个链接
python3 scripts/check_links.py --url "https://pan.quark.cn/s/xxx"

# 多个链接
python3 scripts/check_links.py --url "https://pan.quark.cn/s/xxx" --url "https://pan.baidu.com/s/yyy"

# 从文件读取
python3 scripts/check_links.py --file links.txt

部署服务

# 一键部署
bash scripts/deploy.sh

# 指定端口
bash scripts/deploy.sh --port 9000

# 含前端版本
bash scripts/deploy.sh --web

# 启用认证
bash scripts/deploy.sh --auth admin:mypassword

API 端点

端点方法认证说明
/api/searchPOST/GET可选搜索资源
/api/check/linksPOST可选检测链接有效性
/api/healthGET不需要健康检查
/api/auth/loginPOST不需要登录获取 Token

搜索 API 示例

# 基础搜索
curl -X POST http://localhost:8888/api/search \
  -H "Content-Type: application/json" \
  -d '{"kw": "速度与激情"}'

# 带过滤
curl -X POST http://localhost:8888/api/search \
  -H "Content-Type: application/json" \
  -d '{
    "kw": "唐朝诡事录",
    "cloud_types": ["baidu", "quark"],
    "filter": {"include": ["合集"], "exclude": ["预告"]}
  }'

详细 API 文档见 references/api-reference.md

搜索参数详解

search.py

参数说明示例
kw搜索关键词(必填)"速度与激情"
--types网盘类型过滤--types baidu,quark
--include结果必须包含的词--include "合集,全集"
--exclude结果排除的词--exclude "预告"
--src数据来源: all/tg/plugin--src plugin
--plugins指定插件--plugins labi,zhizhen
--refresh强制刷新缓存--refresh
--format输出格式--format json
--limit最大结果数--limit 50
--apiAPI 地址--api http://1.2.3.4:8888

check_links.py

参数说明示例
--url待检测链接(可多次)--url "https://..."
--file从文件读取链接--file links.txt
--type网盘类型--type quark
--password提取码--password 1234
--proxy代理地址--proxy socks5://127.0.0.1:1080
--format输出格式--format json

支持的网盘类型

网盘标识可检测网盘标识可检测
百度网盘baidu115网盘115
阿里云盘aliyunPikPakpikpak
夸克网盘quark迅雷网盘xunlei
天翼云盘tianyi123网盘123
UC网盘uc磁力链接magnet
移动云盘mobile电驴链接ed2k

环境变量

变量名说明默认值
NETDISK_API_URLAPI 服务地址自动探测

API 地址探测优先级:

  1. 命令行 --api 参数
  2. 环境变量 NETDISK_API_URL
  3. http://localhost:8888(本地默认)

故障排查

Q: 连接被拒绝

docker ps | grep netdisk-search          # 检查容器是否运行
docker logs netdisk-search               # 查看日志
docker restart netdisk-search            # 重启

Q: 搜索结果为空

  • 确认关键词是否正确,尝试更简短的词
  • 检查网络连接,TG 搜索可能需要代理
  • 尝试只搜插件:--src plugin

Q: 链接检测超时

  • 检查网络连接
  • 使用代理:--proxy socks5://127.0.0.1:1080
  • 减少同时检测数量

与其他 Skill 的关系

Skill定位适用场景
netdisk-search底层通用搜索快速搜索、链接检测、API 集成
pansou-resource-scraper业务应用资源分类、网站生成、批量采集
  • 需要快速搜索资源 → 使用 netdisk-search
  • 需要构建资源库/生成网站 → 使用 pansou-resource-scraper

最佳实践

  1. 关键词优化:使用 2-4 个关键词,避免过于宽泛
  2. 类型过滤:明确指定网盘类型可提高搜索速度和精度
  3. 缓存利用:默认启用缓存,避免重复请求;需要最新结果时加 --refresh
  4. 资源验证:重要资源建议先检测链接有效性再使用
  5. 代理配置:国内服务器搜 TG 频道需配置代理,插件搜索一般不需要

文件结构

netdisk-search/
├── SKILL.md                    # 本文件(Skill 主文档)
├── README.md                   # GitHub 项目文档
├── .gitignore
├── scripts/
│   ├── search.py               # 搜索脚本(终端/JSON/Markdown 输出)
│   ├── check_links.py          # 链接有效性检测脚本
│   └── deploy.sh               # Docker 一键部署脚本
├── references/
│   └── api-reference.md        # API 完整参考文档
└── templates/                  # 预留模板目录

相关链接