粘贴一条 B 站视频链接,自动抓取该视频的完整文稿,本地存储、可导出 Markdown / SRT。
- 三级字幕自动降级:人工 CC 字幕 → B 站 AI 字幕 → 本地 SenseVoice 语音转写。
- 本地转写:复用 sherpa-onnx SenseVoice(中文高精度离线模型,网络断开也能转)。
- 补标点分段:转写结果经本地 Ollama(qwen3)补标点、按语义分段。
- 本地文件库:
~/Library/Application Support/BiliTranscript/library/<UP主名>/<标题>_pNN.txt,自动去重。 - 导出:Markdown / SRT(CC/AI 字幕命中时为真实时间轴,转写来源为估算时间轴)。
- 苹果风 UI:毛玻璃卡片、Lucide 图标、Plus Jakarta Sans 字体。
Tauri 2 + React 18 + TypeScript + Vite + Tailwind CSS 4;抓取核心为 Python(yt-dlp + sherpa-onnx),Rust 通过子进程调用、以 NDJSON 事件回传进度。
- macOS 13+(Apple Silicon)
- Rust、Node 18+、pnpm
- Python 3.10+(本项目用
.venv,/opt/homebrew/bin/python3.12 -m venv .venv) - ffmpeg(
brew install ffmpeg) - Ollama(可选,用于补标点:
ollama pull qwen3:8b) - SenseVoice 模型:下载 sherpa-onnx SenseVoice int8 模型(目录名
sherpa-onnx-sense-voice-zh-en-ja-ko-yue-int8-2025-09-09),放到~/models/下,或export BILI_SENSEVOICE_DIR=/模型目录
pnpm install
.venv/bin/pip install yt-dlp sherpa-onnx numpy
pnpm tauri dev # 开发模式
pnpm tauri build # 打包 .app / .dmg.venv/bin/python python/main.py --url "https://www.bilibili.com/video/BV..."
.venv/bin/python python/main.py --list
.venv/bin/python python/main.py --export <id> --format md- 仅下载字幕/文本,不下载视频本体。
- Cookie/登录态仅存本机。
- 仅供个人学习交流,请勿用于商业或侵权用途。