解析B站视频链接,导出字幕或本地转写文本
27.2/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/19 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add rudyz666/dsh-bili-asr该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:待复验
是什么
dsh 原生插件 · platform
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 72 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 25 处,展示前 21 条)
- 发起网络请求lib/bili.js:236
return await fetch(url, options); - 写入本地文件lib/bili.js:259
var ws = createWriteStream(outPath); - 读取本地文件lib/bili.js:286
if (!cacheDir || !existsSync(cacheDir)) return null; - 读取本地文件lib/bili.js:290
try { entries = readdirSync(dir); } catch (e) { return; } - 读取本地文件lib/bili.js:294
try { st = statSync(p); } catch (e) { continue; } - 读取本地文件lib/bili.js:311
if (explicit && existsSync(explicit)) return explicit; - 读取本地文件lib/bili.js:318
try { if (existsSync(candidate)) return candidate; } catch (e) {} - 读取本地文件lib/bili.js:323
try { if (existsSync(cp)) return cp; } catch (e) {} - 写入本地文件lib/bili.js:333
try { mkdirSync(cache, { recursive: true }); } catch (e) {} - 删除本地文件lib/bili.js:392
try { unlinkSync(m4s); } catch (e) {} - 删除本地文件lib/bili.js:394
try { unlinkSync(wav); } catch (e) {} - 删除本地文件lib/bili.js:395
try { unlinkSync(join(asr.cache, 'asr-' + cid + '.json')); } catch (e) {} - 写入本地文件lib/bili.js:563
try { mkdirSync(dir, { recursive: true }); } catch (e) {} - 写入本地文件lib/bili.js:566
if (typeof ex.srt === 'string') { var srt = join(dir, safe + '.srt'); writeFileSync(srt, ex.srt, 'utf8'); files.push(srt); } - 写入本地文件lib/bili.js:567
if (typeof ex.txt === 'string') { var txt = join(dir, safe + '.txt'); writeFileSync(txt, ex.txt, 'utf8'); files.push(txt); } - 写入本地文件lib/bili.js:568
if (typeof ex.json === 'string') { var json = join(dir, safe + '.json'); writeFileSync(json, ex.json, 'utf8'); files.push(json); } - 执行外部命令来自配置/变量lib/proc.js:15
child = spawn(bin, args, { stdio: ['ignore', 'pipe', 'pipe'], cwd: opts.cwd }); - 读取本地文件lib/asr.js:57
try { if (existsSync(jsonPath)) unlinkSync(jsonPath); } catch (e) {} - 删除本地文件lib/asr.js:57
try { if (existsSync(jsonPath)) unlinkSync(jsonPath); } catch (e) {} - 读取本地文件lib/asr.js:60
if (!existsSync(jsonPath)) { - 读取本地文件lib/asr.js:63
var data = JSON.parse(readFileSync(jsonPath, 'utf8'));
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-tools@deepseek-ai/schemastery给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 解析B站视频链接
- 提取字幕轨
- 本地whisper转写
解析 B站视频链接,提取完整脚本/字幕:优先字幕轨,无字幕用本地 whisper 转写,导出 SRT/TXT/JSON。DeepSeek Harness 插件,跨平台 Windows/macOS/Linux(纯 Node)。
README
由 DeepSeek 最新模型翻译生成dsh-bili-asr
DeepSeek Harness 插件:解析 B站(bilibili) 视频链接,一键提取完整脚本 / 字幕,并导出 SRT / TXT / JSON。
跨平台许可 DSH
功能特性
- 🎬 链接宽容解析:支持 BV 号 / av 号 / b23.tv 短链 / bilibili.com 链接 / 分享文本(如 【标题】 https://b23.tv/xxxx)。
- 💬 字幕轨优先:优先读取视频自带字幕(AI 字幕 / CC 字幕),秒出、无额外依赖。
- 🎙️ 无字幕自动转写:无字幕时用本地 whisper (large-v3-turbo) 转写音频,自动下载音频并转为 16kHz 单声道。
- 🧾 带时间戳全文:返回 [mm:ss] 文本 的完整转写,逐条时间轴。
- 📦 一键导出:导出 SRT / TXT / JSON 三种格式到 baseDir/.bili-exports/。
- 🌍 跨平台:纯 Node 实现(fetch + node:fs + node:child_process),不依赖 powershell 或 Windows 路径,Windows / macOS / Linux 通用。
- 🧠 作为模型工具:注册为 bili_script 宿主工具,代理自动调用,无需 UI 操作。
展开完整文档(README 剩余 1 节)
dsh-bili-asr DeepSeek Harness 插件:解析 B站(bilibili) 视频链接,一键提取完整脚本 / 字幕,并导出 SRT / TXT / JSON。 跨平台许可 DSH 功能特性 - 🎬 链接宽容解析:支持 BV 号 / av 号 / b23.tv 短链 / bilibili.com 链接 / 分享文本(如 【标题】 https://b23.tv/xxxx)。 - 💬 字幕轨优先:优先读取视频自带字幕(AI 字幕 / CC 字幕),秒出、无额外依赖。 - 🎙️ 无字幕自动转写:无字幕时用本地 whisper (large-v3-turbo) 转写音频,自动下载音频并转为 16kHz 单声道。 - 🧾 带时间戳全文:返回 [mm:ss] 文本 的完整转写,逐条时间轴。 - 📦 一键导出:导出 SRT / TXT / JSON 三种格式到 baseDir/.bili-exports/。 - 🌍 跨平台:纯 Node 实现(fetch + node:fs + node:child_process),不依赖 powershell 或 Windows 路径,Windows / macOS / Linux 通用。 - 🧠 作为模型工具:注册为 bili_script 宿主工具,代理自动调用,无需 UI 操作。 工作原理 1. 识别链接:parseBiliUrl / extractBiliUrl 抠出 BV / av / b23 链接;b23.tv 短链自动跟随重定向拿到真实地址。 2. 获取视频信息:调用 x/web-interface/view,得到标题、UP主、分P(cid) 等。 3. 取字幕:先试 x/player/v2(含 WBI 签名 wbi/v2)读取字幕轨。 - 有字幕 → 直接取字幕 JSON,标记 source = subtitle。 - 无字幕 → 走本地 whisper: - playurl 取最低码率 dash.audio 并下载; - ffmpeg 转 16kHz 单声道 wav; - whisper-cli -m -f -l auto 转写,解析 stdout 时间戳,标记 source = asr。 4. 构建全文:按分P整理为带时间戳文本,同时生成 SRT / TXT / JSON。 5. 导出:写入 baseDir/.bili-exports/.,并返回文件路径。 支持范围 | 输入 | 示例 | | BV 号 | BV1dL8K6HEm3 | | av 号 | av170001 | | b23.tv 短链 | https://b23.tv/xxxx | | 完整链接 | https://www.bilibili.com/video/BV1dL8K6HEm3 | | 分享文本 | 【标题】 https://b23.tv/xxxx | - 多分P视频:默认遍历所有分P;URL 带 ?p=N 时只取指定分P。 - 标题、UP主、时长、来源(字幕轨 / 本地转写 / 无脚本)均会返回。 安装 通过 DeepSeek Harness 的 dsh plugin add 安装(本质是 pnpm 安装到 profile,并自动加入 dsh.profile.bundles)。 方式一:从 git 直接安装(推荐,含 macOS / Linux) dsh plugin add git+https://github.com/rudyz666/dsh-bili-asr.git 方式二:克隆后装本地 git clone https://github.com/rudyz666/dsh-bili-asr.git cd dsh-bili-asr dsh plugin add ./ 安装完成后 重启 DSH Desktop,bili_script 工具即随启动自动加载(常驻,重启不丢失)。 使用 重启后在聊天里贴一个 B站 链接,代理会自动调用 bili_script: 解析这个视频的脚本:BV1dL8K6HEm3 返回内容: - 标题、UP主、时长、来源(字幕轨 / 本地语音转写) - 总条数 + 带时间戳的完整文本 [mm:ss] 内容 - 导出文件路径(baseDir/.bili-exports/.srt|.txt|.json) 工具在需要在脚本/台词/字幕时调用,模型判断后自动触发。 本地转写依赖(无字幕视频需要) 字幕轨视频开箱即用(只走 B站 API,无需额外安装)。无字幕视频需要本机有 whisper-cli 与 ffmpeg: | 平台 | 安装 | 说明 | | macOS | brew install whisper-cpp ffmpeg | 二进制在 /opt/homebrew/bin(Apple Silicon)或 /usr/local/bin(Intel) | | Windows | 下载 whisper.cpp 的 whisper-cli.exe 与 ffmpeg.exe(放入 PATH 或缓存目录) | 也支持已有的 GPU(cuBLAS) 版 | | Linux | 用发行版包管理器安装 whisper-cpp / ffmpeg | 或源码编译 | 工具会自动下载 Whisper 模型 ggml-large-v3-turbo-q8_0.bin(约 874MB,仅首次),缓存到 baseDir/.bili-asr/。GPU 版 whisper 自动优先(检测到 cublas 目录即为 GPU)。 若二进制不在 PATH,可用环境变量指定绝对路径: export BILI_WHISPER_BIN=/path/to/whisper-cli # Windows 用 set export BILI_FFMPEG_BIN=/path/to/ffmpeg 性能与无 GPU 说明 GPU 不是必需:插件对硬件是无感的,它只是调用 whisper-cli。没有独立显卡(如 Mac、纯 CPU 机器)也能正常转写,准确率与 GPU 版完全一致(同一 large-v3-turbo q8_0 模型),只是速度慢。 - 有 GPU(如 NVIDIA RTX,cuBLAS 版):芜湖,快。实测 14 分钟视频约 30 秒。 - 无 GPU / Mac(CPU 版):能跑、结果相同、耗时长。14 分钟视频通常数分钟(取决于芯片与机型)。 macOS 提速可选(Apple Silicon):用支持 Metal 的构建来获得 GPU 加速。Homebrew 默认 build 不保证带 Metal,但不带也能用(纯 CPU)。如需要: 用 Metal 构建 whisper.cpp(更快的 Apple Silicon 路径) git clone https://github.com/ggml-org/whisper.cpp && cd whisper.cpp WHISPER_METAL=1 make -j 把生成的 whisper-cli 路径通过 BILI_WHISPER_BIN 指向它 export BILI_WHISPER_BIN=$PWD/whisper-cli 参考:whisper.cpp 官方仓库、Homebrew whisper-cpp、Intel Mac 用 Metal 指南。 嫌慢的话,也可换更小的模型(如 medium / small)换速度,但中文准确率略降。 配置 在 profile 的 cordis.patch.yml 里用 - id: dsh-bili-asr 覆盖插件配置(config 会整块替换,需同时给出要保留的键): - id: dsh-bili-asr config: baseDir: '/Users/you/.dsh/bili-asr' # 缓存与导出目录根 writeFiles: true # 是否写导出文件(默认 true) | 键 | 默认 | 说明 | | baseDir | $DSH_HOME 或 ~/.dsh/bili-asr | 缓存 .bili-asr/ 与导出 .bili-exports/ 的根目录 | | writeFiles | true | 是否把 SRT/TXT/JSON 写到磁盘 | 插件包结构 dsh-bili-asr/ ├── index.js 宿主插件:注册 bili_script 模型工具(defineTool) ├── lib/ │ └── bili.js 核心:B站 API / 字幕 / whisper 转写 / 导出(纯 Node 跨平台) ├── cordis.patch.yml 注册宿主行(dsh.bundle.patch) ├── package.json 包清单(dsh.bundle.patch + 依赖 + dshhub 元数据) ├── README.md ├── LICENSE └── screenshots/ ├── flow.svg 提取流程 └── architecture.svg 插件集成结构 常见问题(FAQ) Q:视频有字幕,但返回"无脚本"? A:该视频可能只有硬字幕(烧录在画面里,不是单独字幕轨)。这种情况请依赖本地 whisper 转写;若仍报"无脚本",检查 whisper-cli / ffmpeg 是否已安装(见上文平台表)。 Q:报"本地 whisper/ffmpeg 二进制缺失"? A:说明当前机器没有这俩工具。按上表安装(macOS 用 brew,Windows 下载或放 PATH),或设置 BILI_WHISPER_BIN / BILI_FFMPEG_BIN。 Q:转写很慢 / 占资源? A:首次会下载约 874MB 模型(仅一次)。转写用 CPU 或 GPU(优先检测 cublas 版)。长视频耗时随时长增长。 Q:git push 时不走代理 / 连接重置? A:若你本机有代理(如 Clash 127.0.0.1:7890),让 git 走代理: git config --global http.proxy http://127.0.0.1:7890 git config --global https.proxy http://127.0.0.1:7890 Q:怎么卸载? A:dsh plugin remove dsh-bili-asr(会自动从 dsh.profile.bundles 移除),再重启。缓存目录 baseDir/.bili-asr 与导出 baseDir/.bili-exports 需手动删除。 技术说明 - 依赖 @deepseek-ai/dsh-tools(defineTool)与 @deepseek-ai/schemastery(Config schema),均为 DSH 官方包。 - 只依赖宿主侧,无客户端 bundle,因此无需 Web 重建,直接作为 profile bundle 加载。 - 网络统一走 B站公开 Web API(x/web-interface/、x/player/),并带 User-Agent / Referer 头。 许可 MIT
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
rudyz666/dsh-bili-asr
解析B站视频链接,导出字幕或本地转写文本
相关插件 · 平台集成
智能体工程课walkinglabs/learn-harness-engineering
一门项目制课程,教你搭建环境、管理状态、做验证、加控制机制,让 AI 编程智能体稳定干活。
★ 21,155已汉化DSH
71.7
视频翻译配音liuzhao1225/YouDub-webui
开源视频本地化工作台:导入视频,识别、翻译并逐句克隆原声,生成字幕和配音成片。
★ 5,792已汉化Cordis
71.4
失败经验库Ikalus1988/MisakaNet
📚 零依赖、由 git 支撑的微课程库,让 AI 智能体异步分享并检索经过验证的调试经验。| https://misakanet.org
★ 550已汉化DSH
71.2
桌面智能体工作区freestylefly/wesight
WeSight 是开源桌面控制台,面向本地 AI 智能体。它帮你安装或复用 Claude…
★ 933已汉化MCP
71
IM 机器人接入xmanrui/dsh-im
让 DeepSeek Harness 触手可及 Connecting DeepSeek Harness
★ 3,110已汉化DeepSeek 客户端
70.9
中国平台研究引擎Jesseovo/last30days-skill-cn
给 AI Agent 的中文互联网研究 Skill:检索 8 大平台最近 30…
★ 2,031已汉化DSH
70.7
这是你的仓库?认领条目