Token导航 LogoToken导航

Agent Skill · 效率

bilibili-all-in-one(哔哩哔哩全合一)

bilibili-all-in-one 用于辅助视频、动画、脚本化剪辑和多媒体生成流程,适合在 OpenClaw 中需要整理视频素材、生成脚本或维护合成项目时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

bilibili-all-in-one 是效率类 Agent Skill,可用宿主为 OpenClaw,通过ClawHub获取,权限为接触敏感数据;许可证为 MIT-0,第三方扫描已通过,按安装量在效率类的 21,003 个 Skill 里排第 32。

总安装 640,997周安装 26,978GitHub Stars 21下载 224,457核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
MIT-0
版本
1.0.21

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:bilibili-all-in-one(哔哩哔哩全合一)
来源仓库:https://github.com/wscats/bilibili-all-in-one
安装命令:
openclaw skills install bilibili-all-in-one
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install bilibili-all-in-one

这个 Skill 是做什么的

效率类 Skill 把重复的整理、汇总、转换工作交给助手完成,减少手工复制粘贴。

用于辅助视频素材整理和多媒体生成流程。bilibili-all-in-one 属于效率类 Skill,可作为该场景下的辅助能力补充。适合在 OpenClaw 中需要生成脚本或维护合成项目时使用。可结合来源仓库和 README 核验具体用法,安装前需确认权限和维护状态。建议检查是否会触发联网、命令执行或文件读写操作。

适用于监控热门、下载视频、播放、字幕下载和发布的综合工具包。

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 OpenClaw;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 openclaw skills install bilibili-all-in-one;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要接触敏感数据,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

bilibili-all-in-one 怎么安装?

在终端执行 openclaw skills install bilibili-all-in-one。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

bilibili-all-in-one 支持哪些 AI 工具?

公开资料标注支持 OpenClaw。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

bilibili-all-in-one 需要什么权限?

权限级别是接触敏感数据。该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

bilibili-all-in-one 是免费的吗?

来源标注的许可证是 MIT-0。本站不代收任何费用,也不托管安装包;能否商用、要不要署名,以许可证原文为准。

bilibili-all-in-one 用的人多吗?

公开数据是累计安装 640,997 次,近一周安装 26,978 次,下载 224,457 次,GitHub 21 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

bilibili-all-in-one 安全吗?

第三方扫描结果为通过,但这只覆盖已知的静态检查项,不能替代自己读一遍源码和安装命令。

值得选的地方和要先想清楚的地方

值得选的地方

  • 专注 OpenClaw 一种宿主,触发方式和使用习惯不用来回切换。
  • 许可证明确为 MIT-0,商用和分发边界好判断。
  • 第三方扫描已通过,常见的高风险行为没有命中。

先想清楚的地方

  • 需要接触敏感数据,装到常用环境前要先评估影响面。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 OpenClaw,想直接扩展它能力的人。
  • 需要处理效率类任务、又不想每次都手写提示词的人。
  • 需要许可证清楚、并且有第三方扫描结果的团队项目。

不太适合

  • 环境里有大量密钥、凭证,不方便给第三方 Skill 读取的人。
  • 需要厂商级技术支持和 SLA 的生产系统。

效率类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
github

GitHub 代码协作 · OpenClaw

7,632,918545需要联网MIT-0通过
nano-pdf

Nano PDF 文档 · OpenClaw

4,249,476231需要联网MIT-0通过
auto-updater

自动更新程序 · OpenClaw

2,964,063386操作浏览器MIT-0通过
video-frames

视频帧 · OpenClaw

2,621,304112需要联网MIT-0通过
gemini

Gemini 助手 · OpenClaw

2,547,39648需要联网MIT-0有提醒
bilibili-all-in-one

哔哩哔哩全合一 · 本页

640,99721接触敏感数据MIT-0通过

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

name
bilibili-all-in-one
description
>
version
1.0.18
type
code
implementation
python
interface
cli-and-api
runtime
python>=3.8
languages
tags
author
wscats
license
MIT
homepage
https://github.com/wscats/bilibili-all-in-one
repository
https://github.com/wscats/bilibili-all-in-one
entry_point
main.py
required_env_vars
[]
optional_env_vars
install
pip install -r requirements.txt

Bilibili All-in-One Skill

A comprehensive Bilibili toolkit that integrates hot trending monitoring, video downloading, video watching/playback, subtitle downloading, and video publishing capabilities into a single unified skill.

⚠️ Optional Environment Variables: BILIBILI_SESSDATA, BILIBILI_BILI_JCT (optional), BILIBILI_BUVID3 (optional), BILIBILI_PERSIST (optional) These are sensitive Bilibili session cookies needed only for publishing and high-quality (1080p+/4K) downloads. Most features work WITHOUT any credentials: hot monitoring, standard-quality downloads, subtitle listing, danmaku, stats viewing. 📦 Install: pip install -r requirements.txt (all standard PyPI packages: httpx, aiohttp, beautifulsoup4, lxml, requests) 🔗 Source: github.com/wscats/bilibili-all-in-one

何时激活

当用户明确请求以下 Bilibili 相关操作时,本 Skill 可被激活:

触发场景匹配的模块典型触发词
查看B站热门、热搜、排行榜、必看榜🔥 Hot Monitor"热门"、"热搜"、"排行"、"趋势"、"必看"、"流行"、"榜单"
下载B站视频、提取音频、批量下载⬇️ Downloader"下载"、"保存视频"、"提取音频"、"导出MP4"、"批量下载"
查看视频播放量、点赞数、数据追踪、对比👀 Watcher"播放量"、"点赞"、"数据"、"统计"、"对比"、"监控"、"追踪"、"观看量"
下载字幕、转换字幕格式、合并字幕📝 Subtitle"字幕"、"CC"、"SRT"、"ASS"、"字幕下载"、"字幕转换"、"翻译"
播放视频、获取弹幕、播放列表▶️ Player"播放"、"弹幕"、"播放地址"、"分P"、"播放列表"、"danmaku"
上传视频、发布、定时发布、草稿、编辑📤 Publisher"上传"、"发布"、"投稿"、"定时发布"、"草稿"、"编辑视频"
⚠️ 注意:本 Skill 不会仅因消息中出现 Bilibili 链接或 BV 号就自动激活。只有当用户明确表达了操作意图(如"下载这个视频"、"查看热门"等)时才会被调用。涉及写操作(发布/编辑)时,需要用户显式提供凭证。

Features

ModuleDescription
🔥 Hot MonitorMonitor Bilibili hot/trending videos and topics in real-time
⬇️ DownloaderDownload Bilibili videos with multiple quality and format options
👀 WatcherWatch and track video engagement metrics (supports Bilibili)
📝 SubtitleDownload and process subtitles in multiple formats and languages
▶️ PlayerGet playback URLs, danmaku (bullet comments), and playlist info
📤 PublisherUpload, schedule, edit, and manage videos on Bilibili

Installation

Requirements

  • Python >= 3.8
  • ffmpeg (optional, for merging video/audio streams)

Install Dependencies

pip install -r requirements.txt

Dependencies

  • httpx >= 0.24.0
  • aiohttp >= 3.8.0
  • beautifulsoup4 >= 4.12.0
  • lxml >= 4.9.0
  • requests >= 2.31.0
  • faster-whisper >= 1.0.0 *(optional, for speech recognition subtitle fallback)*

Configuration

Some features (downloading high-quality videos, publishing, etc.) require Bilibili authentication. You can provide credentials in three ways:

1. Environment Variables

export BILIBILI_SESSDATA="your_sessdata"
export BILIBILI_BILI_JCT="your_bili_jct"
export BILIBILI_BUVID3="your_buvid3"

2. Credential File

Create a JSON file (e.g., credentials.json):

{
  "sessdata": "your_sessdata",
  "bili_jct": "your_bili_jct",
  "buvid3": "your_buvid3"
}

3. Direct Parameters

Pass credentials directly when initializing:

from main import BilibiliAllInOne

app = BilibiliAllInOne(
    sessdata="your_sessdata",
    bili_jct="your_bili_jct",
    buvid3="your_buvid3",
)

4. Persistent Storage (Optional)

By default, credentials are kept in-memory only and are not saved to disk. To enable automatic persistence across sessions:

# Via environment variable
export BILIBILI_PERSIST=1
# Or via code
app = BilibiliAllInOne(persist=True)

When persistence is enabled:

  • Credentials are auto-saved to .credentials.json (with 0600 permissions) after initialization
  • On next startup, credentials are auto-loaded from this file
  • You can toggle persistence at runtime: app.auth.persist = True / app.auth.persist = False
  • To delete the persisted file: app.auth.clear_persisted()
How to get cookies: Log in to bilibili.com, open browser DevTools (F12) → Application → Cookies, and copy the values of SESSDATA, bili_jct, and buvid3.

⚠️ Security & Privacy

Credential Handling

This skill handles sensitive Bilibili session cookies. Please read the following carefully:

ConcernDetail
What credentials are needed?SESSDATA, bili_jct, buvid3 — Bilibili full browser session cookies (not limited API keys). Providing them grants broad access to your Bilibili account.
Which features require authentication?Publishing (upload/edit/schedule/draft), downloading 1080p+/4K quality videos
Which features work WITHOUT credentials?Hot monitoring, standard-quality downloads, subtitle listing, danmaku fetching, stats viewing
Where are credentials sent?To official Bilibili API endpoints (api.bilibili.com, member.bilibili.com) over HTTPS only
Are credentials persisted to disk?NO by default — credentials stay in memory. Set persist=True or BILIBILI_PERSIST=1 to opt-in to automatic persistence (saved to .credentials.json with 0600 permissions). You can also manually call auth.save_to_file()
File permissions for saved credentials0600 (owner read/write only) — restrictive by default

Best Practices

  1. 🧪 Use a test account — Do NOT provide your primary Bilibili account cookies for evaluation/testing purposes. These are full session cookies that grant broad account access (not limited API keys).
  2. 🔒 Prefer in-memory credentials — Pass credentials via environment variables or direct parameters rather than saving to a file. Only enable persist=True if you need credentials to survive across sessions.
  3. 📁 If you enable persistence — Credentials are saved with 0600 permissions. Use auth.clear_persisted() or auth.persist = False to remove the file when no longer needed.
  4. 🐳 Run in isolation — When possible, run this skill in an isolated container/environment and inspect network traffic.
  5. 🌐 Verify network traffic — All HTTP requests go to Bilibili's official domains only. You can verify by monitoring outbound connections.
  6. ❌ No exfiltration — This skill does NOT send credentials to any third-party service, analytics endpoint, or telemetry server.
  7. 🔑 Credential scope — SESSDATA and bili_jct are full session cookies. They are NOT scoped/limited API keys. Treat them with the same care as your account password.

Network Endpoints Used

DomainPurpose
api.bilibili.comVideo info, stats, hot lists, subtitles, danmaku, playback URLs
member.bilibili.comVideo publishing (upload, edit)
upos-sz-upcdnbda2.bilivideo.comVideo file upload CDN
www.bilibili.comWeb page scraping fallback

Credential Requirement by Module

ModuleAuth Required?Notes
🔥 Hot Monitor❌ NoAll public APIs
⬇️ Downloader⚠️ OptionalRequired only for 1080p+ / 4K quality
👀 Watcher❌ NoPublic stats APIs
📝 Subtitle❌ NoPublic subtitle APIs
▶️ Player⚠️ OptionalRequired for high-quality playback URLs
📤 Publisher✅ RequiredAll operations need SESSDATA + bili_jct

Usage

CLI

python main.py <skill_name> <action> [params_json]

Python API

import asyncio
from main import BilibiliAllInOne

app = BilibiliAllInOne()

async def demo():
    result = await app.execute("hot_monitor", "get_hot", limit=5)
    print(result)

asyncio.run(demo())

Skills Reference

1. 🔥 Hot Monitor (bilibili_hot_monitor)

Monitor Bilibili hot/trending videos and topics in real-time. Supports filtering by category, tracking rank changes.

Actions
ActionDescriptionParameters
get_hotGet popular/hot videospage, page_size
get_trendingGet trending series/topicslimit
get_weeklyGet weekly must-watch listnumber (week number, optional)
get_rankGet category ranking videoscategory, limit
Supported Categories

all, anime, music, dance, game, tech, life, food, car, fashion, entertainment, movie, tv

Examples
# Get top 10 hot videos
python main.py hot_monitor get_hot '{"page_size": 10}'

# Get trending topics
python main.py hot_monitor get_trending '{"limit": 5}'

# Get this week's must-watch
python main.py hot_monitor get_weekly

# Get game category rankings
python main.py hot_monitor get_rank '{"category": "game", "limit": 10}'
# Python API
result = await app.execute("hot_monitor", "get_hot", page_size=10)
result = await app.execute("hot_monitor", "get_rank", category="game", limit=10)

2. ⬇️ Downloader (bilibili_downloader)

Download Bilibili videos with support for multiple quality options, batch downloading, and format selection.

Actions
ActionDescriptionParameters
get_infoGet video informationurl
get_formatsList available qualities/formatsurl
downloadDownload a single videourl, quality, output_dir, format, page
batch_downloadDownload multiple videosurls, quality, output_dir, format
Quality Options

360p, 480p, 720p, 1080p (default), 1080p+, 4k

Format Options

mp4 (default), flv, mp3 (audio only)

Examples
# Get video info
python main.py downloader get_info '{"url": "BV1xx411c7mD"}'

# List available formats
python main.py downloader get_formats '{"url": "BV1xx411c7mD"}'

# Download in 1080p MP4
python main.py downloader download '{"url": "BV1xx411c7mD", "quality": "1080p", "format": "mp4"}'

# Extract audio only
python main.py downloader download '{"url": "BV1xx411c7mD", "format": "mp3"}'

# Batch download
python main.py downloader batch_download '{"urls": ["BV1xx411c7mD", "BV1yy411c8nE"], "quality": "720p"}'
# Python API
info = await app.execute("downloader", "get_info", url="BV1xx411c7mD")
result = await app.execute("downloader", "download", url="BV1xx411c7mD", quality="1080p")

3. 👀 Watcher (bilibili_watcher)

Watch and monitor Bilibili videos. Track view counts, comments, likes, and other engagement metrics over time.

Actions
ActionDescriptionParameters
watchGet detailed video informationurl
get_statsGet current engagement statisticsurl
trackTrack metrics over timeurl, interval (minutes), duration (hours)
compareCompare multiple videosurls
Supported Platforms
  • Bilibili: https://www.bilibili.com/video/BVxxxxxx or BVxxxxxx
Examples
# Get video details
python main.py watcher watch '{"url": "BV1xx411c7mD"}'

# Get current stats
python main.py watcher get_stats '{"url": "BV1xx411c7mD"}'

# Track views every 30 minutes for 12 hours
python main.py watcher track '{"url": "BV1xx411c7mD", "interval": 30, "duration": 12}'

# Compare multiple videos
python main.py watcher compare '{"urls": ["BV1xx411c7mD", "BV1yy411c8nE"]}'
# Python API

comparison = await app.execute("watcher", "compare", urls=["BV1xx411c7mD", "BV1yy411c8nE"])

4. 📝 Subtitle (bilibili_subtitle)

Download and process subtitles/CC from Bilibili videos. Supports multiple subtitle formats and languages.

When no CC subtitles are available, the module automatically falls back to:

  1. Speech Recognition — Downloads the video's audio and transcribes it using faster-whisper (requires pip install faster-whisper)
  2. Danmaku Extraction — Fetches bullet comments from the video as a text reference

Both fallback results are returned together when triggered.

Actions
ActionDescriptionParameters
listList available subtitlesurl
downloadDownload subtitles (with auto-fallback)url, language, format, output_dir
convertConvert subtitle formatinput_path, output_format, output_dir
mergeMerge multiple subtitle filesinput_paths, output_path, output_format
Supported Formats

srt (default), ass, vtt, txt, json

Supported Languages

zh-CN (default), en, ja, and other language codes available on the video.

Fallback Strategy

When download is called and no CC subtitles exist:

CC Subtitle Available? ──Yes──▶ Download CC subtitle
        │
       No
        │
        ▼
┌─────────────────────────────────────┐
│  Fallback 1: Speech Recognition     │
│  Download audio → faster-whisper    │
│  Output: {title}_transcribed.srt    │
├─────────────────────────────────────┤
│  Fallback 2: Danmaku Extraction     │
│  Fetch bullet comments → SRT        │
│  Output: {title}_danmaku.srt        │
└─────────────────────────────────────┘
Examples
# List available subtitles
python main.py subtitle list '{"url": "BV1xx411c7mD"}'

# Download Chinese subtitles in SRT format (auto-fallback if no CC)
python main.py subtitle download '{"url": "BV1xx411c7mD", "language": "zh-CN", "format": "srt"}'

# Download English subtitles in ASS format
python main.py subtitle download '{"url": "BV1xx411c7mD", "language": "en", "format": "ass"}'

# Convert SRT to VTT
python main.py subtitle convert '{"input_path": "./subtitles/video.srt", "output_format": "vtt"}'

# Merge subtitle files
python main.py subtitle merge '{"input_paths": ["part1.srt", "part2.srt"], "output_path": "merged.srt"}'
# Python API
subs = await app.execute("subtitle", "list", url="BV1xx411c7mD")
result = await app.execute("subtitle", "download", url="BV1xx411c7mD", language="zh-CN", format="srt")

# When no CC subtitles, result includes both fallback outputs:
# result["transcription"]["filepath"]  → speech recognition SRT
# result["danmaku"]["filepath"]        → danmaku SRT

5. ▶️ Player (bilibili_player)

Play Bilibili videos with support for playback control, playlist management, and danmaku (bullet comments) display.

Actions
ActionDescriptionParameters
playGet complete playback infourl, quality, page
get_playurlGet direct play URLsurl, quality, page
get_danmakuGet danmaku/bullet commentsurl, page, segment
get_playlistGet playlist/multi-part infourl
Danmaku Modes
ModeDescription
1Scroll (right to left)
4Bottom fixed
5Top fixed
Examples
# Get playback info
python main.py player play '{"url": "BV1xx411c7mD", "quality": "1080p"}'

# Get direct play URLs
python main.py player get_playurl '{"url": "BV1xx411c7mD", "quality": "720p"}'

# Get danmaku
python main.py player get_danmaku '{"url": "BV1xx411c7mD"}'

# Get playlist for multi-part video
python main.py player get_playlist '{"url": "BV1xx411c7mD"}'

# Get page 3 of a multi-part video
python main.py player play '{"url": "BV1xx411c7mD", "quality": "1080p", "page": 3}'
# Python API
play_info = await app.execute("player", "play", url="BV1xx411c7mD", quality="1080p")
danmaku = await app.execute("player", "get_danmaku", url="BV1xx411c7mD")
playlist = await app.execute("player", "get_playlist", url="BV1xx411c7mD")

6. 📤 Publisher (bilibili_publisher)

Publish videos to Bilibili. Supports uploading videos, setting metadata, scheduling publications, and managing drafts.

⚠️ Authentication Required: All publisher actions require valid Bilibili credentials.
Actions
ActionDescriptionParameters
uploadUpload and publish a videofile_path, title, description, tags, category, cover_path, dynamic, no_reprint, open_elec
draftSave as draftfile_path, title, description, tags, category, cover_path
scheduleSchedule future publicationfile_path, title, schedule_time, description, tags, category, cover_path
editEdit existing video metadatabvid, file_path, title, description, tags, cover_path
Upload Parameters
ParameterTypeDefaultDescription
file_pathstring*required*Path to the video file
titlestring*required*Video title (max 80 chars)
descriptionstring""Video description (max 2000 chars)
tagsstring[]["bilibili"]Tags (max 12, each max 20 chars)
categorystring"171"Category TID
cover_pathstringnullPath to cover image (JPG/PNG)
no_reprintint11 = original content, 0 = repost
open_elecint01 = enable charging, 0 = disable
Examples
# Upload and publish
python main.py publisher upload '{"file_path": "./video.mp4", "title": "My Video", "description": "Hello World", "tags": ["test", "demo"], "category": "171"}'

# Save as draft
python main.py publisher draft '{"file_path": "./video.mp4", "title": "Draft Video"}'

# Schedule publication
python main.py publisher schedule '{"file_path": "./video.mp4", "title": "Scheduled Video", "schedule_time": "2025-12-31T20:00:00+08:00"}'

# Edit video metadata (requires re-uploading the video file)
python main.py publisher edit '{"bvid": "BV1xx411c7mD", "file_path": "./video.mp4", "title": "New Title", "tags": ["updated"]}'
# Python API (authentication required)
app = BilibiliAllInOne(sessdata="xxx", bili_jct="xxx", buvid3="xxx")

result = await app.execute("publisher", "upload",
    file_path="./video.mp4",
    title="My Video",
    description="Published via bilibili-all-in-one",
    tags=["python", "bilibili"],
)

# Edit video (requires file_path for re-upload)
result = await app.execute("publisher", "edit",
    bvid="BV1xx411c7mD",
    file_path="./video.mp4",
    title="New Title",
    tags=["updated"],
)

Project Structure

bilibili-all-in-one/
├── skill.json              # Skill configuration & parameter schema
├── skill.md                # This documentation file
├── README.md               # Project README (Chinese)
├── LICENSE                  # MIT License
├── requirements.txt        # Python dependencies
├── .gitignore              # Git ignore rules
├── main.py                 # Entry point & unified BilibiliAllInOne class
└── src/
    ├── __init__.py         # Package exports
    ├── auth.py             # Authentication & credential management
    ├── utils.py            # Shared utilities, API constants, helpers
    ├── hot_monitor.py      # Hot/trending video monitoring
    ├── downloader.py       # Video downloading
    ├── watcher.py          # Video watching & stats tracking
    ├── subtitle.py         # Subtitle downloading & processing
    ├── player.py           # Video playback & danmaku
    └── publisher.py        # Video uploading & publishing

Response Format

All skill actions return a JSON object with a unified structure:

{
  "success": true,
  "...": "action-specific fields"
}

On error:

{
  "success": false,
  "message": "Error description"
}

License

MIT

平台分布

OpenClaw

70.29%
按下载量换算157,771

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

通过

权限和风险

接触敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills