Install
openclaw skills install @thcjp/bilibili-all-in-one-freeopenclaw skills install @thcjp/bilibili-all-in-one-free| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---|---|---|---|
| LLM API | API | 必需 | 由Agent内置LLM提供 |
需要配置对应API Key,详见上文环境配置章节
API Key配置方式:
export API_KEY="your_api_key_here"
配置后需重启会话或开启新终端生效。API Key应妥善保管,避免泄露到版本控制系统。
get_hot 获取热门视频、get_trending 获取热门系列、get_weekly 获取每周必看榜、get_rank 按分区获取排行,支持 all/anime/music/dance/game/tech/life/food/car/fashion/entertainment/movie/tv 等13个分区get_info 获取视频信息、get_formats 列出可用清晰度、download 单视频下载,支持 360p/480p/720p/1080p 四档清晰度与 mp4 格式输出watch 获取视频详情、get_stats 获取当前互动统计、compare 多视频数据对比,支持 BV 短ID与完整URL两种输入play 获取完整播放信息、get_playurl 获取标准清晰度直链、get_danmaku 获取弹幕(支持滚动/底部固定/顶部固定三种模式)、get_playlist 获取分P列表app.execute(module, action, **params) 异步调用,返回 {"success": bool, ...} 统一JSON结构,CLI支持 python main.py <module> <action> <params_json>SESSDATA/bili_jct/buvid3 等会话Cookie执行热门监控 (hot_monitor)操作,处理用户输入并返回结果。
输入: 用户提供热门监控 (hot_monitor)所需的参数和指令。
输出: 返回热门监控 (hot_monitor)的处理结果。
热门监控 (hot_monitor)操作,处理输入数据并返回结果热门监控 (hot_monitor)相关配置参数进行设置执行视频下载 (downloader)操作,处理用户输入并返回结果。
输入: 用户提供视频下载 (downloader)所需的参数和指令。
输出: 返回视频下载 (downloader)的处理结果。
视频下载 (downloader)操作,处理输入数据并返回结果视频下载 (downloader)相关配置参数进行设置执行数据追踪 (watcher)操作,处理用户输入并返回结果。
输入: 用户提供数据追踪 (watcher)所需的参数和指令。
输出: 返回数据追踪 (watcher)的处理结果。
数据追踪 (watcher)操作,处理输入数据并返回结果数据追踪 (watcher)相关配置参数进行设置本skill还覆盖以下能力场景: 站热门监控、标准清晰度下载、数据追踪与弹幕获、取基础工具集、无需登录凭据、站全功能工具箱的、免费基础版、集成热门监控、与播放信息、四大公共、支持热门、分区排行获取、视频下载与、播放量、评论统计与多视频、弹幕获取与分、列表解析、无需任何登录凭据、不包含、高清下载、字幕处理、视频投稿等需要会、的付费能力。这些能力在上述核心功能中均有对应处理逻辑。
bilibili-all-in-one-free的相关能力pip install httpx aiohttp beautifulsoup4 lxml requests
# 可选: 视频流合并
# 系统安装 ffmpeg
Python >= 3.8,操作系统 Windows / macOS / Linux。
import asyncio
from main import BilibiliAllInOne
app = BilibiliAllInOne()
async def main():
hot = await app.execute("hot_monitor", "get_hot", page_size=10)
print(hot)
asyncio.run(main())
CLI调用:
python main.py hot_monitor get_hot '{"page_size": 10}'
python main.py hot_monitor get_rank '{"category": "game", "limit": 10}'
获取热门视频与游戏分区排行:
python main.py hot_monitor get_hot '{"page_size": 10}'
python main.py hot_monitor get_rank '{"category": "game", "limit": 10}'
python main.py hot_monitor get_weekly
python main.py hot_monitor get_trending '{"limit": 5}'
import asyncio
from main import BilibiliAllInOne
app = BilibiliAllInOne()
async def main():
hot = await app.execute("hot_monitor", "get_hot", page_size=10)
rank = await app.execute("hot_monitor", "get_rank", category="game", limit=10)
print(hot, rank)
asyncio.run(main())
下载1080p视频并获取弹幕:
python main.py downloader download '{"url": "BV1xx411c7mD", "quality": "1080p", "format": "mp4"}'
python main.py player get_danmaku '{"url": "BV1xx411c7mD"}'
python main.py watcher compare '{"urls": ["BV1xx411c7mD", "BV1yy411c8nE"]}'
result = await app.execute("downloader", "download", url="BV1xx411c7mD", quality="1080p")
danmaku = await app.execute("player", "get_danmaku", url="BV1xx411c7mD")
现象: 请求返回412状态码或 {"code": -509, "message": "请求过于频繁"}。
原因: 短时间高频请求触发B站反爬。
处理: 降低调用频率,单次批量不超过20个视频,批量间间隔5-10秒;复用同一会话的httpx Client保持连接一致性。
现象: downloader.download 指定 1080p+/4k 后实际下载为 720p 或返回不支持。
原因: 免费版仅支持360p-1080p四档清晰度,1080p+/4K需要付费版携带 SESSDATA 会话Cookie。
处理: 切换到 1080p 及以下档位;若需1080p+/4K高清下载,请升级付费版。
现象: 下载的视频只有画面无声音,或合并时报 ffmpeg not found。
原因: B站高清流为音视频分离的DASH流,需要ffmpeg合并;系统未安装ffmpeg或未加入PATH。
处理: 安装ffmpeg(brew install ffmpeg / apt install ffmpeg / Windows下载二进制并配置PATH)。
现象: get_danmaku 返回弹幕数量明显少于实际播放量。
原因: B站弹幕按分P与时间分段存储,长视频弹幕分多段,默认只返回第一段。
处理: 通过 get_playlist 获取分P列表后逐P调用 get_danmaku,并指定 segment 索引遍历所有分段。
现象: get_info/download 返回 {"success": false, "message": "video not found"}。
原因: BV号错误、视频已被UP主删除或被B站下架。
处理: 核对BV号格式(以BV开头12位);在浏览器访问确认视频可正常播放;已下架视频无法恢复。
不需要。免费版全部功能基于B站公共API,无需 SESSDATA/bili_jct/buvid3 等会话Cookie,直接 BilibiliAllInOne() 初始化即可使用。
免费版支持 360p/480p/720p/1080p 四档清晰度与 mp4 格式。1080p+/4k 高清档位与 flv/mp3 格式需升级付费版并携带会话Cookie。
不能。视频上传、定时发布、草稿编辑等 publisher 模块能力需要 SESSDATA+bili_jct 完整会话Cookie,属付费版功能。
B站高清流(720p+)采用DASH协议,音频与视频独立传输。库内部会调用ffmpeg合并为单文件;若系统无ffmpeg,需自行安装或将清晰度降至360p/480p(这些档位为单流)。
| 错误场景 | 原因 | 处理方式 |
|---|---|---|
| LLM响应超时或无响应 | 网络延迟或模型负载过高 | 执行ping命令测试网络连通性,检查防火墙和代理设置连接,执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令请求;确认Agent平台LLM服务正常 |
| 输入内容格式不正确 | 用户输入不符合skill预期格式 | 检查输入是否符合skill使用说明中的格式要求,参考示例章节 |
| 执行结果与预期不符 | 指令描述不够明确或上下文不足 | 提供更详细的指令描述,补充必要的上下文信息 |
| 命令执行失败 | 运行环境不满足要求或权限不足 | 确认运行环境符合依赖说明中的要求;检查命令权限设置 |
mp4 格式输出,不包含 flv 与 mp3 音频提取subtitle 字幕处理模块与 faster-whisper 语音识别兜底publisher 视频投稿模块(上传/定时发布/草稿编辑)当前为免费版,仅包含公共API基础能力。升级付费版可获得:
1080p+/4k 高清下载与 flv/mp3 格式转换subtitle 字幕处理模块(SRT/ASS转换 + faster-whisper 语音识别兜底)publisher 视频投稿模块(上传/定时发布/草稿编辑)watcher.track 长期指标追踪付费版slug: bilibili-all-in-one