Skip to content

CZX2244/dsh-bilibili

30Last commit Aug 15, 2026

dsh-bilibili DSH plugin

This plugin adds a `bilibili_extract` tool to DSH agents. It can fetch full video metadata, timestamped transcripts, hot comments, and danmaku density peaks, and automatically transcribe videos without subtitles using online or local ASR engines. Optionally, it captures keyframes and describes them via local or cloud vision models, and produces a structured summary with a customizable template.

How to install the dsh-bilibili DSH plugin

dsh plugin --profile web add git+https://github.com/CZX2244/dsh-bilibili

Copying does not run this command. Review the repository and version before installing the dsh-bilibili DSH plugin.

dsh-bilibili DSH plugin data source

dsh-bilibili DSH plugin snapshot date: Aug 16, 2026

discovered

What the dsh-bilibili DSH plugin can do

  • Extract full text: metadata, timestamped transcript, hot comments with replies, danmaku density samples
  • Auto-transcribe no-subtitle videos: Bijian ASR (default), sherpa-onnx (Chinese), or whisper.cpp (offline)
  • Optional frame vision descriptions via Ollama, llama.cpp, or any OpenAI-compatible vision API
  • Automatic frame selection: scene-change detection + even-interval backfill, with sharp-frame preference (blurdetect)
  • Two-pass workflow: agent reads transcript first, then requests frames for specific timestamps
  • Replaceable output template: bundled summary template, can point to custom file

Where the dsh-bilibili DSH plugin fits

  • Quickly summarize a Bilibili video without watching it fully
  • Create timestamped notes or study guides from video content
  • Analyze danmaku hot topics and comment sentiment
  • Extract keyframes for visual reference in reports or presentations
  • Offline transcription of Bilibili videos using local ASR engines

Who the dsh-bilibili DSH plugin is for

  • DSH users who need to analyze Bilibili video content textually and visually
  • Content creators, researchers, and students who want automated video analysis

dsh-bilibili DSH plugin limitations

  • Requires Node 18+, ffmpeg on PATH, and pnpm for installation
  • Local ASR (sherpa-onnx, whisper.cpp) needs manual download of models and binaries
  • Frame capture relies on video download (≤30 min / ≤800MB), otherwise falls back to remote per-frame extraction
  • Bilibili API may rate-limit (412) – exponential backoff is implemented but not guaranteed
  • Login-required subtitles need SESSDATA cookie to be set in config

dsh-bilibili DSH plugin: from the repository README

Quoted from the CZX2244/dsh-bilibili README, the upstream source of the dsh-bilibili DSH plugin. Copyright remains with the original authors.

A DeepSeek Harness tool plugin that gives agents a `bilibili_extract` tool. Send a Bilibili link and the agent extracts the video's text information (transcript / comments / danmaku), captures keyframes on demand, and produces a summary. > This plugin bundles no third-party binaries or models; the open-source projects and services it invokes are listed in [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md). --- ## ✨ Features - **Full text extraction**: metadata, complete timestamped transcript (long transcripts are truncated with a full-text time index), hot comments (with replies), danmaku (top repeated messages + **density-peak timeline samples** — opening spam no longer dominates); **videos without a subtitle track are auto-transcribed** — Bijian ASR by default (the same anonymous capability behind Bilibili's "live AI subtitles", 24h cache), or switch to local engines — **sherpa-onnx (Chinese, SenseVoice)** or **whisper.cpp** — fully offline; one failing source never breaks the rest (each degrades to empty with a note); - **Optional frame vision descriptions**: vision-less main models can still "see" frames — send each frame to a local **Ollama / llama.cpp** backend (Qwen3-VL 2

Read the full READMERepository license: MIT

dsh-bilibili DSH plugin questions

How do I install the dsh-bilibili plugin?

Make sure you have Node 18+, ffmpeg on PATH, and pnpm installed. Then run `dsh plugin --profile web add git+https://github.com/CZX2244/dsh-bilibili`. After that, restart the web profile with `dsh web` and the bilibili_extract tool will be available in new sessions.

What ASR engines are supported for transcription?

The plugin supports three ASR engines: Bijian (bcut, the default, zero-config), sherpa-onnx (recommended for Chinese, fully offline), and whisper.cpp (also offline). You can switch between them using the `asrProvider` config option. Local engines require you to download the respective binaries and models separately.

How can I configure the plugin to use local ASR?

Set `asrProvider` to `sherpa-onnx` or `whisper-local` in your DSH config file. For sherpa-onnx, you'll need to download the sherpa-onnx-offline binary and a SenseVoice model (e.g., from ModelScope) and set `sherpaBin`, `sherpaModel`, and `sherpaTokens` accordingly. For whisper.cpp, set `whisperBin` to the whisper-cli path and `whisperModel` to the model size or path.

How do I get Bilibili SESSDATA for logged-in subtitles?

Log in to Bilibili in your browser, open developer tools, go to Application > Cookies, and copy the value of the `SESSDATA` cookie. Set it in the plugin config under `sessdata`. Note that SESSDATA may expire after some time, so you'll need to refresh it periodically.

Why does frame extraction fail sometimes?

Frame extraction can fail if the video is longer than 30 minutes or larger than 800MB, in which case the plugin falls back to remote per-frame extraction, which may be slower or unreliable. Also, ensure ffmpeg is installed and on PATH. If you're using vision descriptions, check that the vision endpoint (Ollama/llama.cpp or OpenAI-compatible) is running and correctly configured.