百幕达字幕下载器 V5 入门版(CLI / SKILL)
把「百幕达字幕下载器 V5」这套多源字幕搜索 + 下载 + 后处理引擎抽成无图形界面的命令行,
让 AI 脱离 GUI 就能按片名搜字幕、下载、失败自动跨源回退。
> 入门版定位:V5 引擎不含「同集多语言全套收集」(简/繁/英/日 分名落盘)。
> 那个能力在升级版 V6 里。两版共用同一套 CLI,CLI 会自动探测引擎能力:
> 本技能的 V5 引擎下载时只做「主条目 + 失败跨源回退」,并提示可换 V6 做四语收集。
何时用
- 用户给出片名/季集/关键词,要它的字幕(中文字幕、繁体字幕、英语字幕…)。
- 要搜索、抓取、批量下载字幕文件,或把 ASS 转 SRT、去广告水印行。
- 需要更完整的四语同集收集 → 改用
bimuda-subtitle-downloader(V6 升级版)。
不适用:纯影视资源(视频本体)下载;本 skill 只碰字幕。
前置:确认 Python 解释器
CLI 需要 requests(可选 charset-normalizer)。优先用本机已带这些库的 Python:
# Windows:百幕达自带的便携运行时(requests 已装,最稳)
PY="E:/百幕达字幕下载器/_runtime/py311/python.exe"
# 跨机器通用:先跑一次依赖自检/安装
"$PY" <skill>/scripts/setup_env.py
下文用 $PY 指代该解释器,<skill> 指本 skill 根目录。
核心命令(都在 scripts/subtitle_cli.py)
# 1) 看有哪些源、哪些可用、哪些要密钥(并提示本引擎是否支持多语言收集)
"$PY" <skill>/scripts/subtitle_cli.py providers
# 2) 搜索(多源聚合 + 打分,默认 3 源;--json 给机器解析)
"$PY" <skill>/scripts/subtitle_cli.py search "庆余年 第二季 S01E05" --top 15
# 3) 下载主条目(失败自动在同池候选里跨源回退,最多 3 条)
"$PY" <skill>/scripts/subtitle_cli.py download "古董局中局" --dir "D:/subs"
# ASS 转 SRT: --as-srt
# 保留源文件名: --no-rename
# 关闭引擎能力提示: --main-only
# 机器可读汇总: --json
download 会:搜 → 取命中最高的一条为主条目(按其语言档存 片名.zh/.cht/.en/.ja,
无标注档存 .other)→ 主条目下载失败时自动试同池下一候选(跨源回退,最多 3 条)。
V5 引擎不做四语分名收集;--langs 对本版无效果(会被自动忽略)。
数据源与密钥
默认启用 3 个免密钥源:xunlei(迅雷) subhd(SubHD) subdl(SubDL,已带内置 key)。
另 3 个需密钥,填了才自动参与搜索:
# 改配置(点路径赋值,可多次 --set):
"$PY" <skill>/scripts/subtitle_cli.py config --set providers.opensubtitles=true --set opensubtitles.api_key=<KEY>
"$PY" <skill>/scripts/subtitle_cli.py config --set providers.assrt=true --set assrt.token=<TOKEN>
# 自定义 JSON 源:providers.generic=true + generic.url_template / generic.fields.*(见 references/providers.md)
配置/缓存落在 <skill>/config/(首次自动生成 config.json),不改注册表、不写用户目录。
冷门商番号默认 3 源收录有限,属正常;要扩冷门收录就补 OpenSubtitles/ASSRT 密钥。
排障
- 某源「可用=False 需密钥」→ 该源没填密钥或未启用,按上面 config 命令补。
- 主条目下载失败 → CLI 已自动跨源回退;仍全失败说明各源都没收录该片。
- 换 Python 环境报缺
requests→ 先跑setup_env.py装依赖,或用自带 py311。 - 更多细节(各源字段、config 全项、后处理开关、V5 语言档说明)见
references/下文档。