feat: init media-center skill
资源中心——从多渠道获取资源链接,转存到夸克网盘并整理归档。 - sources/tencent-doc: 腾讯文档读取 - sources/search: 网盘搜索 - storage/quark: 夸克网盘操作 - ref/: 来源 skill 参考归档 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
# 网盘搜索 — 安装配置
|
||||
|
||||
## 前置依赖
|
||||
|
||||
- Node.js >= 18
|
||||
- mcporter
|
||||
|
||||
```bash
|
||||
# 检查 mcporter
|
||||
mcporter --version || npm i -g mcporter
|
||||
```
|
||||
|
||||
## 安装 MCP Server
|
||||
|
||||
搜索功能由 `@ptbsare/netdisk-mcp-server` 提供,无需单独搜索模块,该包同时提供搜索和夸克网盘操作能力。
|
||||
|
||||
```bash
|
||||
npm i -g @ptbsare/netdisk-mcp-server
|
||||
```
|
||||
|
||||
## 配置到 mcporter
|
||||
|
||||
```bash
|
||||
mcporter config add netdisk \
|
||||
--stdio "npx -y @ptbsare/netdisk-mcp-server" \
|
||||
--env "NETDISK_QUARK_COOKIE=你的夸克Cookie" \
|
||||
--env "PANSOU_URL=你的PanSou地址(可选)"
|
||||
```
|
||||
|
||||
> 夸克 Cookie 获取:登录 pan.quark.cn → F12 → Network → 复制任意请求的 Cookie
|
||||
|
||||
如果使用内置 PanSou 搜索(免费版),`PANSOU_URL` 可留空,将使用默认公共实例。
|
||||
|
||||
## 验证
|
||||
|
||||
```bash
|
||||
mcporter list netdisk
|
||||
```
|
||||
|
||||
列出 6 个工具即配置成功。
|
||||
|
||||
```bash
|
||||
# 搜索测试
|
||||
mcporter call 'netdisk.search(query: "测试", cloud_types: ["quark"])'
|
||||
```
|
||||
@@ -0,0 +1,50 @@
|
||||
# 网盘搜索 — 维护
|
||||
|
||||
## 信息来源
|
||||
|
||||
| 当前模块内容 | 来源(ref/ 路径) | 说明 |
|
||||
|-------------|------------------|------|
|
||||
| MCP 安装配置 | `ref/netdisk-mcp-server/SKILL.md` | netdisk-mcp-server 官方文档 |
|
||||
| 搜索使用 | `ref/netdisk-mcp-server/SKILL.md` | 搜索功能由同一包提供 |
|
||||
|
||||
## 常见故障
|
||||
|
||||
### 1. 搜索无结果
|
||||
|
||||
**可能原因**:
|
||||
- PanSou 公共实例限流或不可用
|
||||
- 搜索关键词太具体
|
||||
- `source: "tg"` 下 Telegram 频道可能已失效
|
||||
|
||||
**解决**:更换搜索词 / 自建 PanSou 实例配置 `PANSOU_URL`
|
||||
|
||||
### 2. `netdisk.search` 报错
|
||||
|
||||
**解决**:
|
||||
- 确认 `mcporter list netdisk` 工具是否正常
|
||||
- 可能是 PanSou 服务端问题,稍后重试
|
||||
|
||||
### 3. 函数式语法报错
|
||||
|
||||
**现象**:
|
||||
```
|
||||
Error: Folder not found in Quark: "D:" ...
|
||||
```
|
||||
|
||||
**原因**:使用了 `key=value` 语法
|
||||
|
||||
**解决**:必须用 `'netdisk.search(query: "...")'` 格式
|
||||
|
||||
## 更新检查
|
||||
|
||||
```bash
|
||||
# 查看版本
|
||||
npm ls -g @ptbsare/netdisk-mcp-server
|
||||
|
||||
# 更新
|
||||
npm i -g @ptbsare/netdisk-mcp-server@latest
|
||||
```
|
||||
|
||||
GitHub 仓库:[github.com/ptbsare/netdisk-mcp-server](https://github.com/ptbsare/netdisk-mcp-server)
|
||||
|
||||
当 `ref/netdisk-mcp-server/` 有更新时,同步到本模块的 `v2/` 版本。
|
||||
@@ -0,0 +1,59 @@
|
||||
# 网盘搜索 — 使用
|
||||
|
||||
## 搜索资源
|
||||
|
||||
```bash
|
||||
# 夸克网盘搜索
|
||||
mcporter call 'netdisk.search(query: "流浪地球", cloud_types: ["quark"])'
|
||||
|
||||
# 多平台搜索
|
||||
mcporter call 'netdisk.search(query: "权力的游戏", cloud_types: ["quark", "baidu", "aliyun"])'
|
||||
|
||||
# 搜索磁力链接
|
||||
mcporter call 'netdisk.search(query: "奥本海默", cloud_types: ["magnet"])'
|
||||
```
|
||||
|
||||
## 支持的平台
|
||||
|
||||
| cloud_types | 平台 |
|
||||
|-------------|------|
|
||||
| `quark` | 夸克网盘 |
|
||||
| `baidu` | 百度网盘 |
|
||||
| `aliyun` | 阿里云盘 |
|
||||
| `115` | 115 网盘 |
|
||||
| `xunlei` | 迅雷网盘 |
|
||||
| `pikpak` | PikPak |
|
||||
| `tianyi` | 天翼云盘 |
|
||||
| `uc` | UC 网盘 |
|
||||
| `123` | 123 网盘 |
|
||||
| `magnet` | 磁力链接 |
|
||||
| `ed2k` | eD2K 链接 |
|
||||
|
||||
## 高级搜索
|
||||
|
||||
```bash
|
||||
# 包含+排除关键词
|
||||
mcporter call 'netdisk.search(query: "电视剧", include: ["合集"], exclude: ["预告", "花絮"])'
|
||||
|
||||
# 指定来源
|
||||
mcporter call 'netdisk.search(query: "电影", source: "tg")'
|
||||
# source: "all"(默认全部), "tg"(Telegram频道), "plugin"(搜索插件)
|
||||
|
||||
# 强制刷新(跳过缓存)
|
||||
mcporter call 'netdisk.search(query: "最新电影", refresh: true)'
|
||||
```
|
||||
|
||||
## 搜索结果处理
|
||||
|
||||
搜索结果包含:标题、分享 URL、提取码、日期、来源。
|
||||
|
||||
```bash
|
||||
# 找到目标链接后,查看分享内容
|
||||
mcporter call 'netdisk.view(share_link: "https://pan.quark.cn/s/xxx")'
|
||||
```
|
||||
|
||||
## 注意事项
|
||||
|
||||
- **调用必须用函数式语法**:`'netdisk.search(query: "...")'`,不能用 `key=value`
|
||||
- **搜索质量依赖 PanSou 服务**:免费版结果可能不全
|
||||
- **磁力链接**需要通过 115 网盘的离线下载功能处理(`netdisk.offline_download`)
|
||||
@@ -0,0 +1,54 @@
|
||||
# 腾讯文档 MCP — 安装配置
|
||||
|
||||
## 前置依赖
|
||||
|
||||
- Node.js >= 18
|
||||
- npm(随 Node 自带)
|
||||
- mcporter(MCP 客户端)
|
||||
|
||||
```bash
|
||||
# 检查 mcporter 是否已安装
|
||||
mcporter --version
|
||||
|
||||
# 如未安装则全局安装
|
||||
npm i -g mcporter
|
||||
```
|
||||
|
||||
## 安装 MCP Server
|
||||
|
||||
腾讯文档的 MCP 通过远程 API 调用,无需本地安装服务端,只需配置 mcporter。
|
||||
|
||||
### 1. 授权认证
|
||||
|
||||
```bash
|
||||
bash ref/tencent-docs/setup.sh tdoc_check_and_start_auth
|
||||
```
|
||||
|
||||
输出 `AUTH_REQUIRED:<url>` 时,在浏览器打开该链接,用 QQ/微信扫码授权。
|
||||
|
||||
### 2. 获取 Token
|
||||
|
||||
授权完成后回复"已完成授权",然后执行:
|
||||
|
||||
```bash
|
||||
bash ref/tencent-docs/setup.sh tdoc_fetch_token
|
||||
```
|
||||
|
||||
输出 `TOKEN_READY` 表示成功。
|
||||
|
||||
### 3. 验证
|
||||
|
||||
```bash
|
||||
mcporter list tencent-docs
|
||||
```
|
||||
|
||||
列出 98 个工具即配置成功。
|
||||
|
||||
## 快速验证
|
||||
|
||||
```bash
|
||||
# 查看个人空间
|
||||
mcporter call tencent-docs query_space_list
|
||||
|
||||
# 正常返回即一切就绪
|
||||
```
|
||||
@@ -0,0 +1,49 @@
|
||||
# 腾讯文档 — 维护
|
||||
|
||||
## 信息来源
|
||||
|
||||
本文档来源于以下参考项目。当工具调用方式变更时,查阅 `ref/` 中对应副本获取最新用法:
|
||||
|
||||
| 当前模块内容 | 来源(ref/ 路径) | 说明 |
|
||||
|-------------|------------------|------|
|
||||
| 安装流程 | `ref/tencent-docs/SKILL.md`、`ref/tencent-docs/references/auth.md` | 腾讯文档 OAuth 授权 |
|
||||
| 大文档读取(tencentdoc) | `ref/tx-doc-large-reader/SKILL.md` | `doc.resolve_document_structure` 替代方案 |
|
||||
| Smartcanvas 读取 | `ref/tencent-docs/SKILL.md` | 官方分页读取 |
|
||||
|
||||
## 常见故障
|
||||
|
||||
### 1. Token 过期
|
||||
|
||||
**现象**:`mcporter call tencent-docs` 返回 `400006`
|
||||
|
||||
**解决**:重新授权
|
||||
|
||||
```bash
|
||||
bash ref/tencent-docs/setup.sh tdoc_check_and_start_auth
|
||||
```
|
||||
|
||||
→ 浏览器授权 → `bash ref/tencent-docs/setup.sh tdoc_fetch_token`
|
||||
|
||||
### 2. 工具调用报错 `-32603`
|
||||
|
||||
**现象**:`tool execution failed`
|
||||
|
||||
**解决**:
|
||||
- 检查参数名和类型是否匹配
|
||||
- `mcporter list tencent-docs --schema` 查看当前工具参数定义
|
||||
|
||||
### 3. 大文档读取超时
|
||||
|
||||
**现象**:`get_content` 5 秒超时
|
||||
|
||||
**解决**:改用 `doc.resolve_document_structure`(见 usage.md)
|
||||
|
||||
## 更新检查
|
||||
|
||||
腾讯文档 MCP 会更新版本。参考 `ref/tencent-docs/SKILL.md` 中的更新检查流程:
|
||||
|
||||
```bash
|
||||
mcporter call "https://docs.qq.com/openapi/mcp" "check_skill_update" --args '{"version": "<当前版本>"}'
|
||||
```
|
||||
|
||||
当 `ref/tencent-docs/` 有更新时,同步到本模块的 `v2/` 版本。
|
||||
@@ -0,0 +1,71 @@
|
||||
# 腾讯文档 — 使用
|
||||
|
||||
## 读取文档内容
|
||||
|
||||
### 从 URL 提取 file_id
|
||||
|
||||
URL 格式:`https://docs.qq.com/doc/DR2xUcFdrSVhJTkZu`
|
||||
|
||||
提取 `DR2xUcFdrSVhJTkZu` 部分即为 file_id。
|
||||
|
||||
### 第一步:判断文档类型
|
||||
|
||||
```bash
|
||||
mcporter call tencent-docs smartcanvas.read file_id=<FILE_ID> size=10
|
||||
```
|
||||
|
||||
- 报错 `file is tencentdoc, not smartcanvas` → 传统文档,走第二步 A
|
||||
- 返回正常 JSON → smartcanvas 文档,走第二步 B
|
||||
|
||||
### 第二步 A:tencentdoc 类型(大文档推荐)
|
||||
|
||||
```bash
|
||||
# 获取完整文档结构
|
||||
mcporter call tencent-docs doc.resolve_document_structure file_id=<FILE_ID> > doc_raw.json
|
||||
|
||||
# 提取纯文本
|
||||
python -X utf8 -c "
|
||||
import json
|
||||
with open('doc_raw.json','r',encoding='utf-8') as f:
|
||||
data=json.load(f)
|
||||
texts=[]
|
||||
for n in data.get('nodes',[]):
|
||||
p=n.get('text_preview','')
|
||||
hl=n.get('heading_level',0)
|
||||
if p:
|
||||
texts.append(('#'*hl+' '+p) if hl>0 else p)
|
||||
with open('doc_content.txt','w',encoding='utf-8') as f:
|
||||
f.write('\n'.join(texts))
|
||||
print(f'Done: {len(texts)} paragraphs')
|
||||
"
|
||||
|
||||
# 清理中间文件(可选)
|
||||
rm doc_raw.json
|
||||
```
|
||||
|
||||
### 第二步 B:smartcanvas 类型(支持分页)
|
||||
|
||||
```bash
|
||||
# 首次读取
|
||||
mcporter call tencent-docs smartcanvas.read file_id=<FILE_ID> size=50
|
||||
|
||||
# 翻页(用上一页返回的 next_token)
|
||||
mcporter call tencent-docs smartcanvas.read file_id=<FILE_ID> next_token=<TOKEN> size=50
|
||||
```
|
||||
|
||||
## 搜索关键字获取资源链接
|
||||
|
||||
```bash
|
||||
# 在导出的文本中搜索
|
||||
grep -n "关键词" doc_content.txt
|
||||
```
|
||||
|
||||
链接格式参考:
|
||||
- `[普通链接: https://pan.quark.cn/s/xxx]` — 夸克分享链接
|
||||
- `[腾讯文档链接: https://docs.qq.com/doc/...]` — 其他腾讯文档
|
||||
|
||||
## 注意事项
|
||||
|
||||
- **超大文档**(>10万字)不要用 `get_content`,必超时
|
||||
- **Windows 编码**:带 emoji 的文档必须用 `python -X utf8`
|
||||
- **链接格式**:提取出的链接在 `text_preview` 中带 `[普通链接: ...]` 包裹,直接用中间的真实 URL
|
||||
Reference in New Issue
Block a user