mcpField
B
biliup

biliup

github.com/biliupクリエイティブ・メディア5.6k48 回インストール1 日前に更新
リポジトリ

biliup について

biliup コマンドラインツールのインストールと操作を支援するスキルです。セットアップに加え、録画、動画の投稿・ダウンロード、ログイン、コレクション管理を案内します。

主な機能

  1. 01バイナリまたは npm での導入案内
  2. 02WebUI サーバーの起動
  3. 03設定ファイルによる録画タスク実行
  4. 04ログインと Cookie の管理
  5. 05動画の投稿・追加・ダウンロード
  6. 06動画コレクションの管理

活用シーン

  1. 01biliup を導入して CLI を確認
  2. 02認証付き WebUI サーバーの起動
  3. 03設定ファイルで録画タスクを実行
  4. 04投稿済み動画とコレクションの管理

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/biliup/biliup --skill biliup

インストール後、Claude Code で/biliupを入力して読み込まれたか確認します。

詳細

biliup

ユーザーがコマンドラインツール biliup のインストールまたは操作を希望する場合に、このスキルを使用します。

biliup を使うと、WebUI サーバーの起動、設定ファイルからの録画タスクの実行、ログイン、動画のアップロード、動画の追加、動画情報の確認、動画のダウンロード、アップロード済み動画の一覧表示、ユーザーのコレクション(合集)の管理ができます。

インストールの流れ

ユーザーが biliup のインストールを必要としている場合は、オペレーティングシステムとユーザーの希望に応じて、インストール方法を1つ選択します。

GitHub Releases のビルド済みパッケージ

ユーザーが GitHub Releases からビルド済みバイナリをインストールしたい場合は、この方法を使用します。

Linux または macOS では、次のスクリプトを生成して実行します。必要に応じて、INSTALL_DIR をユーザーのインストール先ディレクトリに設定します。

set -euo pipefail

REPO="biliup/biliup"
INSTALL_DIR="${INSTALL_DIR:-$HOME/.local/bin}"
OS="$(uname -s)"
ARCH="$(uname -m)"

case "$OS" in
  Linux) os="linux" ;;
  Darwin) os="macos" ;;
  *) echo "Unsupported OS: $OS" >&2; exit 1 ;;
esac

case "$ARCH" in
  x86_64|amd64) arch="x86_64" ;;
  aarch64|arm64) arch="aarch64" ;;
  armv7l|armv7*) arch="arm" ;;
  *) echo "Unsupported architecture: $ARCH" >&2; exit 1 ;;
esac

asset="$(curl -fsSL "https://api.github.com/repos/${REPO}/releases/latest" \
  | python3 -c 'import json,sys; data=json.load(sys.stdin); os=sys.argv[1]; arch=sys.argv[2]; assets=[a["name"] for a in data["assets"]]; matches=[n for n in assets if n.endswith(".tar.xz") and f"-{arch}-{os}.tar.xz" in n]; print(matches[0] if matches else "")' "$os" "$arch")"

if [ -z "$asset" ]; then
  echo "No matching biliup release asset for ${arch}-${os}" >&2
  exit 1
fi

url="https://github.com/${REPO}/releases/latest/download/${asset}"
tmp="$(mktemp -d)"
trap 'rm -rf "$tmp"' EXIT

curl -fL "$url" -o "$tmp/$asset"
tar -xJf "$tmp/$asset" -C "$tmp"
mkdir -p "$INSTALL_DIR"
install -m 755 "$(find "$tmp" -type f -name biliup | head -n 1)" "$INSTALL_DIR/biliup"

"$INSTALL_DIR/biliup" --help

Windows PowerShell では、次のスクリプトを生成して実行します。必要に応じて、$InstallDir をユーザーのインストール先ディレクトリに設定します。

$ErrorActionPreference = "Stop"

$Repo = "biliup/biliup"
$InstallDir = if ($env:INSTALL_DIR) { $env:INSTALL_DIR } else { Join-Path $env:USERPROFILE "bin" }
$Arch = if ([Environment]::Is64BitOperatingSystem) { "x86_64" } else { throw "Unsupported Windows architecture" }

$Release = Invoke-RestMethod "https://api.github.com/repos/$Repo/releases/latest"
$Asset = $Release.assets | Where-Object { $_.name -like "biliupR-v*-$Arch-windows.zip" } | Select-Object -First 1
if (-not $Asset) { throw "No matching biliup release asset for $Arch-windows" }

$Tmp = New-Item -ItemType Directory -Force (Join-Path ([IO.Path]::GetTempPath()) ([Guid]::NewGuid().ToString()))
try {
  $Zip = Join-Path $Tmp.FullName $Asset.name
  Invoke-WebRequest $Asset.browser_download_url -OutFile $Zip
  Expand-Archive $Zip -DestinationPath $Tmp.FullName -Force
  New-Item -ItemType Directory -Force $InstallDir | Out-Null
  $Exe = Get-ChildItem $Tmp.FullName -Recurse -Filter biliup.exe | Select-Object -First 1
  if (-not $Exe) { throw "biliup.exe not found in release archive" }
  Copy-Item $Exe.FullName (Join-Path $InstallDir "biliup.exe") -Force
  & (Join-Path $InstallDir "biliup.exe") --help
} finally {
  Remove-Item $Tmp.FullName -Recurse -Force
}

インストール先ディレクトリが PATH に含まれていない場合は、biliup をフルパスで実行するか、インストール先ディレクトリを PATH に追加するようユーザーに伝えます。

npm

ユーザーが Node.js(npm)を利用できる場合は、この方法を使用します。

npm i -g @biliup/cli

次に、以下を実行して確認します。

biliup --help

操作の流れ

ユーザーが認証付きで WebUI サーバーを起動したい場合は、次を使用します。

biliup server --auth

ユーザーがアドレスまたはポートを指定した場合は、それらを明示的に指定します。

biliup server --bind 0.0.0.0 --port 19159 --auth

ユーザーが biliup 1.0.7 形式の設定ファイルから実行したい場合は、次を使用します。

biliup server --config config.toml

config.toml をユーザーの設定ファイルのパスに置き換えます。

ユーザーが Linux または macOS でサーバーをバックグラウンド実行したい場合は、次を使用します。

nohup biliup server --auth &

ユーザーがコレクション(合集)を管理したい場合は、season サブコマンドを使用します。ログイン情報は Cookie ファイル(-u/--user-cookie。デフォルトは cookies.json)から読み込まれるため、ファイルが存在しない場合は先に biliup login を実行します。機械可読な出力を得るには、--json を追加します。

biliup season list
biliup season sections <season_id>
biliup season add <section_id> --vid <BV or av>
biliup season remove <episode_id>
biliup season sort <section_id> <episode_id>...

list はシーズン ID とセクション ID を表示し、sections は各エピソードの episode_id(aid ではありません)を表示します。remove と sort ではこの ID を指定します。add は cid とタイトルを自動で取得し、--vid を複数回指定できます。sort は指定したエピソードを指定順に先頭へ移動し、残りは現在の順序のままにします。--reverse を使うと、代わりにセクション全体の順序を反転します。

ヘルプの流れ

ユーザーが利用可能なコマンドを尋ねた場合は、次を表示します。

biliup --help

ユーザーがサーバーのオプションについて尋ねた場合は、次を表示します。

biliup server --help

ユーザーが特定のコマンドについて尋ねた場合は、次を使用します。

biliup <command> --help

<command> を、要求されたサブコマンドに置き換えます。

コマンド

CLI には、次のサブコマンドが含まれています。

login
renew
upload
append
show
comments
reply
dump-flv
download
server
season
user
list

コマンドを生成する際は、そのコマンドに必要な Cookie ファイル、設定ファイル、動画ファイルのパスなど、具体的なパスを含めます。

コメント