bilibili-cli について
bilibili-cliは、Bilibiliの動画検索やユーザープロフィールの閲覧、動画への操作を行うコマンドラインツールです。YAMLとJSONの構造化出力に対応し、動画分析では字幕を優先する使い方を示しています。
主な機能
- 01動画情報と字幕の取得
- 02動画とユーザーの検索
- 03人気動画、ランキング、フィードの閲覧
- 04プロフィールと投稿動画の確認
- 05動画へのいいね、コイン、登録
- 06YAMLまたはJSONでの出力
活用シーン
- 01特定のテーマの動画を検索
- 02字幕を読んで動画内容を要約
- 03投稿者と最近の動画を調査
- 04お気に入り、後で見る、視聴履歴を管理
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ public-clis/ bilibili-cli --skill bilibili-cliインストール後、Claude Code で/bilibili-cliを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
LICENSEREADME.mdCHANGELOG.md.gitignoreSCHEMA.mdpyproject.toml.github/ISSUE_TEMPLATE/feature_request.ymlbug_report.yml.github/workflows/publish.ymlci.ymlbili_cli/__init__.pyauth.pycli.pyclient.pypayloads.pyformatter.pyexceptions.pybili_cli/commands/__init__.pycollections.pycommon.pyaudio.pyaccount.pyinteractions.pydiscovery.pyuser_search.pyvideo.pytests/conftest.pytest_audio.pytest_cli.pytest_auth.py詳細
bilibili-cli スキル
Bilibili(哔哩哔哩)を操作するための CLI ツールです。動画情報の取得、コンテンツの検索、ユーザープロフィールの閲覧、いいねや三連打などの操作に使用します。
エージェントのデフォルト設定
機械可読な出力が必要な場合:
- まず
--yamlを使用してください。通常、整形済み JSON よりもトークン効率が高いためです。 - 下流のツールで JSON が厳密に必要な場合にのみ、
--jsonを使用してください。 --max、--page、または--offsetを使って、結果セットを小さくしてください。- 範囲の広いコマンドより、具体的なコマンドを優先してください。例:大規模なタイムラインを取得する代わりに、
bili user-videos 946974 --max 3 --yamlを使用します。 - 動画を要約する場合は、まず字幕を取得してください。字幕には通常、動画の核となる内容が含まれており、要約の主な情報源として最適です。
- 字幕が利用できない場合や、明らかに不十分な場合に限り、
--ai、コメント、または音声抽出を使用してください。
前提条件
# Install (requires Python 3.10+)
uv tool install bilibili-cli
# Or: pipx install bilibili-cli
# If you need audio extraction support (requires PyAV)
uv tool install "bilibili-cli[audio]"
# Or: pipx install "bilibili-cli[audio]"
# Upgrade to latest (recommended to avoid API errors)
uv tool upgrade bilibili-cli
# Or: pipx upgrade bilibili-cli
認証
ほとんどの読み取りコマンドは、ログインせずに使用できます。字幕、お気に入り/フォロー中/後で見る/履歴、フィード、および操作にはログインが必要です。
bili status # Check if logged in (exit 0 = yes, 1 = no)
bili login # QR code login (if not authenticated)
認証時には、ローカルブラウザーの Cookie(Chrome/Firefox/Edge/Brave)が自動検出されます。Cookie が見つかり、有効であれば手動ログインは不要です。認証情報は ~/.bilibili-cli/credential.json に保存されます。
コマンドリファレンス
動画
# Get video details (accepts BV ID or full URL)
bili video BV1ABcsztEcY
bili video https://www.bilibili.com/video/BV1ABcsztEcY
# Options
bili video BV1ABcsztEcY --subtitle # Show subtitles (plain text)
bili video BV1ABcsztEcY --subtitle-timeline # Show subtitles with timestamps
bili video BV1ABcsztEcY -st --subtitle-format srt # Export as SRT format
bili video BV1ABcsztEcY --ai # Show B站 AI summary
bili video BV1ABcsztEcY --comments # Show top comments
bili video BV1ABcsztEcY --related # Show related videos
bili video BV1ABcsztEcY --yaml # Token-efficient YAML output
bili video BV1ABcsztEcY --json # Structured JSON envelope
ユーザー
# Look up user profile (by UID or username)
bili user 946974
bili user "影视飓风"
# List user's videos
bili user-videos 946974 --max 20
bili user-videos "影视飓风" --yaml
検索
# Search users (default)
bili search "关键词"
# Search videos
bili search "关键词" --type video
# Pagination and limit
bili search "关键词" --type video --max 5
bili search "关键词" --page 2
ディスカバリー
bili hot # Trending/popular videos
bili hot --page 2 --max 10 # Page 2, limit 10
bili rank # Site-wide ranking (3-day)
bili rank --day 7 --max 30 # 7-day ranking, top 30
bili feed # Dynamic timeline (requires login)
bili feed --offset 1234567890 # Next page via returned cursor
bili my-dynamics # My posted dynamics (requires login)
bili dynamic-post "hello" # Publish text dynamic (requires write credential)
bili dynamic-delete 123456789 # Delete one dynamic (requires write credential)
コレクション(ログインが必要)
bili favorites # List favorite folders
bili favorites <ID> --page 2 # Videos in a folder
bili following # Following list
bili watch-later # Watch later list
bili history # Watch history
音声抽出
bilibili-cli[audio] エクストラ(PyAV)が必要です。uv tool install "bilibili-cli[audio]" でインストールしてください。
# Download audio and split into ASR-ready WAV segments (25s each, 16kHz mono)
bili audio BV1ABcsztEcY # Split to /tmp/bilibili-cli/{title}/
bili audio BV1ABcsztEcY --segment 60 # 60s per segment
bili audio BV1ABcsztEcY --no-split # Full m4a file, no splitting
bili audio BV1ABcsztEcY -o ~/data/ # Custom output directory
操作(ログインが必要)
bili like BV1ABcsztEcY # Like a video
bili like BV1ABcsztEcY --undo # Unlike
bili coin BV1ABcsztEcY # Give 1 coin
bili coin BV1ABcsztEcY -n 2 # Give 2 coins
bili triple BV1ABcsztEcY # 一键三连 (like + coin + favorite)
bili unfollow 946974 # Unfollow by UID
アカウント
bili status # Quick login check
bili status --yaml # Structured auth status
bili whoami # Detailed profile info
bili whoami --yaml # Profile as YAML
bili whoami --json # Profile as JSON
bili login # QR code login
bili logout # Clear credentials
構造化出力
主要なクエリコマンドは、機械可読な出力として --yaml と --json の両方をサポートしています。エージェントで使用する場合は YAML を優先してください。
bili status --yaml # Quick structured auth check
bili video BV1ABcsztEcY --yaml # Preferred for AI agents
bili hot --max 5 --yaml # Smaller, token-efficient payload
bili user 946974 --json | jq -r '.data.user.name' # JSON when jq is needed
標準出力が TTY でない場合、bilibili-cli はデフォルトで自動的に YAML を出力します。
OUTPUT=yaml|json|rich|auto を使うと、デフォルトの出力モードを上書きできます。
すべての機械可読な出力では、SCHEMA.md に記載されているエンベロープを使用します。
デバッグ
bili -v <command> # Enable verbose/debug logging for any command
AI エージェント向けの一般的なパターン
# For video summarization, fetch subtitles first
bili video BV1ABcsztEcY --subtitle
# Only use AI summary as a fallback or secondary signal
bili video BV1ABcsztEcY --ai
# Get comments for sentiment analysis
bili video BV1ABcsztEcY --comments
# Extract audio for speech-to-text (ASR)
# Segments are saved to /tmp/bilibili-cli/{title}/seg_000.wav, seg_001.wav, ...
bili audio BV1ABcsztEcY --segment 25
# Find a user's latest video BV ID with minimal payload
bili user-videos 946974 --max 1 --yaml
# Check if logged in before performing actions
bili status && bili like BV1ABcsztEcY
# Search and inspect the first few results
bili search "topic" --type video --max 3 --yaml
ワークフロー:動画コンテンツの分析
# 1. Search for a topic
bili search "AI" --type video --max 5
# 2. Get subtitles first for summarization
bili video BV1xxx --subtitle
# 3. If subtitles are missing or incomplete, try AI summary
bili video BV1xxx --ai
# 4. If there is still not enough content, extract audio for ASR
bili audio BV1xxx --segment 25
# 5. Get comments for audience reaction
bili video BV1xxx --comments
ワークフロー:UP主の調査
# 1. Look up UP主 profile
bili user "影视飓风"
# 2. Get their recent videos
bili user-videos 946974 --max 10
# 3. Inspect a specific video
bili video BV1xxx --ai --comments
エラー処理
- コマンドは成功時に終了コード 0、失敗時に 0 以外を返します
- エラーメッセージには ❌ が付加されます
- ログインが必要なコマンドでは ⚠️ とともに、
bili loginを実行するよう案内が表示されます - 無効な BV ID には、明確なエラーメッセージが表示されます
安全に関する注意事項
- チャットログで認証情報や Cookie の値そのものを共有するようユーザーに求めないでください。
- 手動で秘密情報をコピー&ペーストするより、ローカルブラウザーの Cookie 抽出を優先してください。
- 認証に失敗した場合は、
bili loginから再ログインするようユーザーに案内してください。