bilibili-cli — ターミナルで使うBilibiliクライアント

Tool

概要

bilibili-cli は、Bilibili をターミナル上で手軽に閲覧・操作するための Python 製コマンドラインインターフェースです。動画の詳細情報や字幕の取得、AI要約、コメント閲覧、関連動画やランキングの取得といった機能に加え、音声の抽出とASR(自動音声認識)用に分割するワークフローを備えています。ユーザーのプロフィールや投稿一覧、フォローリストの参照、キーワード検索、トレンドやフィードの取得など、ブラウザで行う多くの操作を端末から効率的に実行できます。開発者向けにスクリプトや自動化用途でも使いやすい設計が意識されています。

GitHub

リポジトリの統計情報

  • スター数: 116
  • フォーク数: 9
  • ウォッチャー数: 116
  • コミット数: 26
  • ファイル数: 9
  • メインの言語: Python

主な特徴

  • 動画関連操作: 動画のメタ情報表示、字幕取得、AIによる要約表示、コメントの閲覧、関連動画の一覧取得が可能。ターミナル上で詳細を確認できる。
  • 音声処理ワークフロー: 動画から音声を抽出し、ASR用に分割する機能を備え、音声認識や文字起こし前処理を支援。
  • ユーザー/検索機能: ユーザープロファイルや投稿、フォローリストの参照、キーワードによるユーザー・動画検索をサポート。
  • トレンドとフィード: サイト全体のランキングやホット動画、フォローによる動的タイムライン(フィード)を取得し、日々のトレンドチェックをターミナルで実行。

技術的なポイント

bilibili-cli は Python 製の CLI アプリケーションとして設計され、ネットワーク通信、メディア処理、テキスト整形の三つの主要な関心事に焦点を当てています。HTTP リクエストを通じて Bilibili の公開 API もしくは Web エンドポイントとやり取りし、動画メタデータやコメント、ランキングなどを取得します。字幕や音声抽出はメディアファイルの扱いを伴うため、ffmpeg 等の外部ツールや Python ライブラリによるラップを想定した設計になっており、抽出後の音声をASRに適した長さで分割する処理を実装しています。AI要約機能はテキスト要約のための外部サービスやローカルモデルと連携できるよう柔軟に組める構造で、CLIからワークフローを簡潔に呼び出せる設計です。表示部分はターミナル環境に配慮した整形(表や色付けなど)を採用し、スクリプトからの呼び出しやパイプ処理にも対応しやすいコマンド構造を持っています。設定や認証情報は外部ファイル/環境変数で管理できるようにしておくと、自動化や CI 環境での利用がしやすくなります。

プロジェクトの構成

主要なファイルとディレクトリ:

  • .github: dir — GitHub Actions や ISSUE テンプレートなどの設定を置くディレクトリ(CI 設定がある可能性)。
  • .gitignore: file — 管理対象外ファイルの定義。
  • LICENSE: file — ライセンス情報(リポジトリの利用条件を明記)。
  • README.md: file — プロジェクトの概要、インストール手順、使用例など。
  • SKILL.md: file — 機能や使い方、設計方針などの補足ドキュメント。
  • requirements.txt / setup.py 等(想定): Python 依存関係やパッケージング情報が置かれている可能性が高い。
  • main スクリプト群: CLI のエントリポイントとコマンド定義(動画取得、検索、音声抽出など)を含む。
  • utils / modules: Bilibili API 呼び出し、字幕処理、音声分割、表示整形などのヘルパーモジュール。
  • サンプル設定・テンプレート: 認証情報や外部サービス連携用のサンプル設定ファイルが置かれていることが多い。
    (実際のファイル数は9件で、上記は主要な役割ごとの想定説明です)

まとめ

ターミナル中心のワークフローでBilibiliを扱いたい開発者に便利なツールです(約50字)。

リポジトリ情報:

READMEの抜粋:

bilibili-cli

A CLI for Bilibili — browse videos, users, favorites from the terminal 📺

English | 中文

Features

  • 🎬 Video — details, subtitles, AI summary, comments, related videos
  • 🎵 Audio — extract audio and split into ASR-ready WAV segments
  • 👤 User — profile, video list, following list
  • 🔍 Search — search users or videos by keyword
  • 🔥 Trending — hot videos and site-wide ranking
  • 📰 Feed — dynamic timeline from your follows
  • 📂 **Fa…