Bilibili 動画を構造化されたモデル可読コンテンツに変換する MIT ライセンスの DSH プラグイン。ローカル ASR と OCR を備え、厳重に扱うべき資格情報ファイルを生成します。
DSH 統合
ネイティブ実行
作者による申告
安全性監査
未監査
最終検証日
2026-11-13
ライセンス
MIT
01どんなタスクに使えるのか?
動画を見なくても agent が Bilibili の内容を理解できるようにする
構造化メタデータ、概要、人気コメント、弾幕のピーク、字幕またはローカル文字起こし、フレーム OCR のテキストを manifest とサマリにまとめ、モデルがそのまま消費できる形にします
リンクを渡すだけでなく、動画の内容について agent に推論させたい DSH ユーザー
使える字幕がない動画からテキストを取り出す
AI 字幕 → ローカル文字起こし → フレーム OCR → 画像読み取りの 4 段フォールバック。どの段が答えたかを記録し、4 段すべて外れたら終了コード 1
講演・チュートリアル・解説の要約を作りたいが、公式字幕が無いか怪しい人
ローカル依存と Bilibili ログインを DSH パネルから管理する
依存ごとの準備状況・実パス・容量、ワンクリック導入、QR ログイン、キャッシュ削除、18 個の実行時パラメータ
ffmpeg、Python venv、資格情報ファイルを手で組み立てるより、パネルで数回クリックしたい人
02DeepSeek Harness への導入方法
前提条件
- Node.js 22 以上
- 変更してよい profile を持つ DSH 環境(README では `--profile web`)
- 能力ごとの任意依存:フレーム抽出に ffmpeg、ASR に Python 3.10〜3.14 と faster-whisper、OCR に rapidocr_onnxruntime、Bilibili 以外の URL に yt-dlp
インストール手順
- 01
`dsh plugin --profile web add dsh-bili-watch` を実行 —— DSH 0.2.0-rc.2 以降は `dsh.profile.bundles` に自動で書き込まれ、それ以前は profile の `package.json` に手で追加します
$ dsh plugin --profile web add dsh-bili-watch
- 02
DSH を再起動 —— 0.3.2 以降は再起動直後から有効で、プラグインページのスイッチ操作は不要です
- 03
任意:`node scripts/fetch-deps.mjs all` で重い依存をまとめて導入するか、パネルから 1 つずつ入れます
導入成功の確認
- `dsh --profile web --dump-config` の出力に `dsh-bili-watch` が含まれる
- プラグインページのカードからパネルが開き、依存状況・QR ログイン・キャッシュ削除・実行時パラメータが並ぶ
ロールバック
- `dsh plugin --profile web remove dsh-bili-watch` を実行して DSH を再起動
- 依存と設定はパッケージ外の `$DSH_HOME/bili-watch/deps` にあるため、アンインストールでは削除されません
- ログイン資格情報 `$DSH_HOME/bili-watch/credential.json` もパッケージ外です。消したい場合は手動で削除します
03DSH 統合と能力の範囲
ネイティブ DSH プラグイン bundle:`index.js` が `bili_watch` ツール、`/bili` コマンド、Web パネルを登録し、いずれも引数を整えてから npm CLI と同じ `tools/look.mjs` サブプロセスを起動します
匿名での Bilibili 読み取り(view / comments / danmaku / search / hot)
BV 番号、`b23.tv` 短縮リンク、av 番号、URL→メタデータ、概要、人気コメント、時間バケット別の弾幕ピーク、検索結果、総合トレンド
`api.bilibili.com` と `comment.bilibili.com` を匿名で呼び出す字幕とコメントをキャッシュディレクトリの該当サブディレクトリに保存する4 段テキストフォールバック(`text`)
動画ターゲット。`--fast` でローカル文字起こしを飛ばし、`--asr-max` で長い動画に制限をかけられます→字幕、ローカル文字起こし、フレーム OCR テキスト、画像読み取りのいずれか。どの段が答えたかを「来源」行に記録します
フレーム抽出が必要なときは 360p の映像をダウンロードする4 段すべて外れると終了コード 1 で終わるハルシネーション判定付きのローカル ASR
動画の音声トラック→文字起こしと「信頼 / ハルシネーション疑い」の判定。VAD の音声が 0.5 秒未満、繰り返しテキストが多い、`no_speech_prob` が高い場合は疑いと判定します
faster-whisper の venv をあなたのマシンで実行し、何もアップロードしないフレーム抽出・コンタクトシート・OCR
`frames`、`sheet`、`substrip` に `--step`、`--at`、`--grid` を組み合わせ、`--ocr` で文字認識を追加→フレーム画像、9 コマのコンタクトシート(任意で各コマに台詞)、字幕の縦連結、画面テキストの OCR 結果
ffmpeg が必要で、無い場合は導入方法を示してエラーになるダウンロード物は `cache/frames-dl` と `cache/audio-dl` に残り、`clean` では自動削除されない依存管理と QR ログイン付きの Web パネル
DSH のプラグインページにある `dsh-bili-watch` カード→依存の準備状況、ワンクリック導入、QR ログイン、キャッシュ削除、18 個の調整可能な実行時パラメータ
Bilibili のログイン資格情報を `$DSH_HOME/bili-watch/credential.json` に書き込む依存のダウンロード中に DSH が終了するとダウンロードも止まる
04誰に向いているのか?使うべきでない場面は?
向いている用途
- リンクを渡すだけでなく、動画の内容について agent に推論させたい DSH ユーザー
- 講演・チュートリアル・解説の要約を作りたいが、公式字幕が無いか怪しい人
- ffmpeg、Python venv、資格情報ファイルを手で組み立てるより、パネルで数回クリックしたい人
不向きな用途
- スマホの QR ログインは Bilibili のログイン資格情報を `$DSH_HOME/bili-watch/credential.json` に書き込みます(キャッシュルートの中ではなく隣)。このファイルはアカウントのログイン状態そのものなので、外部に渡したりリポジトリにコミットしたりしてはいけません。キャッシュ削除時に親ディレクトリを消さないこと、アンインストールでもこのファイルは残ることに注意してください。
- レート制限は内蔵されていないため、バッチ利用では自分で sleep を入れる必要があります。また yt-dlp 経由の汎用 URL は内部アドレスのフィルタを行わないので、社内サービスへ向けてはいけません。
- 字幕とコメントは第三者のユーザー生成コンテンツです。プラグインは注入らしい行を警告し長文に印を付けますが、README はこれが注意喚起と印付けの層でありセキュリティ境界ではないと明言しています。文字起こしが要求してきたからといって権限を追加で渡さないでください。
05互換性・メンテナンス・セキュリティ上の注意
- スマホの QR ログインは Bilibili のログイン資格情報を `$DSH_HOME/bili-watch/credential.json` に書き込みます(キャッシュルートの中ではなく隣)。このファイルはアカウントのログイン状態そのものなので、外部に渡したりリポジトリにコミットしたりしてはいけません。キャッシュ削除時に親ディレクトリを消さないこと、アンインストールでもこのファイルは残ることに注意してください。
- Bilibili 側は読み取り専用で、いいね・コメント・弾幕投稿・視聴履歴には対応しません。ログインが必要なのは AI 字幕だけで、メタデータ・コメント・弾幕・検索・トレンドは匿名で使えます。
- レート制限は内蔵されていないため、バッチ利用では自分で sleep を入れる必要があります。また yt-dlp 経由の汎用 URL は内部アドレスのフィルタを行わないので、社内サービスへ向けてはいけません。
- 字幕とコメントは第三者のユーザー生成コンテンツです。プラグインは注入らしい行を警告し長文に印を付けますが、README はこれが注意喚起と印付けの層でありセキュリティ境界ではないと明言しています。文字起こしが要求してきたからといって権限を追加で渡さないでください。
MIT · README の記載のみ、最新リリース v0.4.10、セキュリティ監査なし
06よくある質問
DeepSeek Harness への導入方法は?
`dsh plugin --profile web add dsh-bili-watch` を実行して DSH を再起動します。DSH 0.2.0-rc.2 以降は `dsh.profile.bundles` に自動で書き込まれ、それ以前は profile の `package.json` に `"dsh-bili-watch"` を手で追加します。`dsh --profile web --dump-config` の出力に `dsh-bili-watch` があれば導入済みです。0.3.2 以降は再起動だけで有効になり、プラグインページのスイッチ操作は不要です。
Bilibili のログイン資格情報はどこに保存され、どう扱うべきですか?
パネルの QR ログインが `$DSH_HOME/bili-watch/credential.json` に書き込みます。キャッシュルートの隣にあるファイルです。README はこれがアカウントのログイン状態と同等だと明言しており、外部送信もリポジトリへのコミットも禁止です。キャッシュ削除時に親ディレクトリを消さないこと、アンインストールでも削除されないことを覚えておき、不要なら手動で消してください。
DSH のワークスペースやホームディレクトリに何を書き込みますか?
ダウンロード物、フレーム、コンタクトシート、文字起こしは `$DSH_HOME/bili-watch/cache`(`BILI_WATCH_CACHE` で変更可)に、依存と設定はパッケージ外の `$DSH_HOME/bili-watch/deps` に置かれます。だから再インストールしても 2 つの venv と文字起こしモデルは消えません。`clean` は自分の成果物だと証明できる項目だけを削除し、名前でディレクトリごと消すことはありません。
ffmpeg、Python、Bilibili アカウントは必須ですか?
対応する能力ごとにだけ必要です。メタデータ・コメント・弾幕・検索・トレンドは匿名で使え、追加依存も不要。フレーム抽出は ffmpeg、ローカル ASR は Python 3.10〜3.14 と faster-whisper、OCR は rapidocr_onnxruntime、Bilibili 以外の URL は yt-dlp が要ります。足りない段はスキップされ、フォールバックは次の段へ進むので全体が失敗することはありません。
なぜ字幕が信頼できないと警告するのですか?
字幕とコメントはユーザー生成の第三者コンテンツなので、プラグインは素材として扱い命令とはみなしません。注入らしい行を警告し、JSON 出力には `_untrusted` フィールドを追加し、モデルが読む用にフェンス付きのコピーも書き出します。README はこれが注意喚起と印付けの層でセキュリティ境界ではないと明言しているため、文字起こしの要求を理由に権限を渡さないでください。
07関連する DSH ワークフロー
modlens
by liustack
DeepSeek Harness 用のビジョンプラグイン。DeepSeek や GLM などのテキスト専用モデルに画像認識を外付けし、画像を貼るだけで OCR・レイアウト・意味情報を構造化 JSON として取得
dsh-image-gen
by shanliuling
DeepSeek Harness チャット内で直接画像生成
dsh-vision-router
by ysr666
テキスト専用 DeepSeek Harness エージェントに目を与えるプラグイン。キー不要の無料ビジョンチェーン内蔵に加え、QA、グラウンディング、切り抜き、OCR などのツールをワンコマンドで導入可能
agent-vision-toolkit
by anionex
テキスト専用モデルに「見る目」を与えるビジョンツールボックスとスキル。複数画像の理解、画像 QA、長いスクリーンショットの OCR、フロントエンド UI 復元、GUI 自動化に対応
08データと出典
DSH 插件 / CLI 工具:把 B 站视频解析成模型可消费的结构化内容(元数据、评论、弹幕、AI 字幕、本地 ASR 转写、抽帧 OCR)。
上排是 `index.js` 里的三个注册点,它们都只做参数整形,最后 spawn 同一个子进程;业务逻辑全在 `tools/look.mjs`,npm bin 与插件调的是同一个文件。
dsh plugin --profile web add dsh-bili-watch
このページは、プロジェクトの公開ドキュメント、リポジトリのメタデータ、および DSH Plugins の構造化解析に基づいて生成されています。最終検証日:2026-11-13。誤りを見つけた場合は、修正を送信してください。
dsh プラグイン おすすめ
最初に入れたい 12 のプラグイン。全カタログ・全カテゴリから厳選しました。
