Token导航 LogoToken导航

Agent Skill · 研究检索

openakita%2fskills%40bilibili-watcher(openakita%2fskills%40bilibili 观察者)

openakita%2fskills%40bilibili-watcher 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

openakita%2fskills%40bilibili-watcher 是研究检索类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为操作浏览器;许可证信息还不明确,暂无第三方扫描结果,按安装量在研究检索类的 73,675 个 Skill 里排第 57,864。

总安装 423周安装 18GitHub Stars 1,687下载 148核验 2026-05-01

安装说明

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

安装方式

通过对话安装

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

请帮我安装这个 Agent Skill:openakita%2fskills%40bilibili-watcher(openakita%2fskills%40bilibili 观察者)
来源仓库:https://github.com/openakita/openakita
仓库路径:skills/openakita%2Fskills%40bilibili-watcher
安装命令:
npx skills add https://github.com/openakita/openakita --skill openakita/skills@bilibili-watcher
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

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

skills.shnpx skills
npx skills add https://github.com/openakita/openakita --skill openakita/skills@bilibili-watcher

这个 Skill 是做什么的

研究检索类 Skill 主要解决「找资料、核对事实、把来源整理清楚」的问题,通常会让助手先检索再总结。

openakita%2fskills%40bilibili-watcher 用于查找、检索和筛选相关信息,适合快速定位候选结果。适用于根据关键词、任务场景或来源线索进行信息检索的场景。通过 npx skills add 命令从 GitHub 仓库安装,需结合原始 README 核验具体用法。

安装前应确认权限范围、维护状态,以及是否触发联网、命令执行或文件读写操作。建议在使用前检查技能的实际功能边界和宿主环境兼容性。

来源仓库内路径:skills/openakita%2Fskills%40bilibili-watcher

上手步骤

4 步
  1. 1

    确认自己的宿主工具

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

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/openakita/openakita --skill openakita/skills@b…;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

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

  4. 4

    按最小权限试用

    它需要操作浏览器,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

openakita%2fskills%40bilibili-watcher 怎么安装?

在终端执行 npx skills add https://github.com/openakita/openakita --skill openakita/skills@bilibili-wa…。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

openakita%2fskills%40bilibili-watcher 支持哪些 AI 工具?

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

openakita%2fskills%40bilibili-watcher 需要什么权限?

权限级别是操作浏览器。该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

openakita%2fskills%40bilibili-watcher 是免费的吗?

公开资料没有标注明确许可证,收费和商用限制都无法确认。正式使用前请到来源仓库核对授权说明。

openakita%2fskills%40bilibili-watcher 用的人多吗?

公开数据是累计安装 423 次,近一周安装 18 次,下载 148 次,GitHub 1,687 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

openakita%2fskills%40bilibili-watcher 安全吗?

没有查到第三方扫描结果,安全性无法从公开资料判断,安装前请自行审查源码、依赖和命令行为。

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

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。
  • 来源仓库有 1,687 星,维护活跃度相对可查。

先想清楚的地方

  • 许可证没有明确标注,能不能商用、能不能再分发都不确定。
  • 没有第三方扫描结果,安全性只能靠自己读源码判断。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理研究检索类任务、又不想每次都手写提示词的人。

不太适合

  • 需要明确授权才能用到公司项目里的场景。
  • 要求有安全扫描结论才肯安装的团队。
  • 需要厂商级技术支持和 SLA 的生产系统。

研究检索类 Skill 对比

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

寻找技能 · Codex、Claude

31,199,81316,486操作浏览器MIT有提醒
self-improving-agent

自我改进 Agent · OpenClaw

16,464,0023,396接触敏感数据MIT-0通过
soultrace

灵魂追踪 · Codex、Claude

7,588,94412需要联网未明确有提醒
self-improving

自我完善 · OpenClaw

6,829,2841,046需要联网MIT-0通过
microsoft-foundry

微软代工厂 · Codex、Claude

6,614,144764调用外部服务未明确有提醒
openakita%2fskills%40bilibili-watcher

openakita%2fskills%40bilibili 观察者 · 本页

4231,687操作浏览器未明确未收录

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

SKILL.md 原文

Bilibili & YouTube Watcher — 双平台字幕提取

从 Bilibili(B站)和 YouTube 视频中提取字幕/转录文本,支持多语言、会员视频和内容问答。

When to Use This Skill

  • User shares a Bilibili link and wants subtitles or a summary
  • User shares a YouTube link and wants transcript extraction via yt-dlp
  • User needs subtitles from member-only (大会员) Bilibili videos
  • User wants to search or query content within a video's transcript
  • User wants to compare subtitles across languages
  • User needs to extract subtitles from videos with hardcoded subs (OCR not included — only soft subs)
  • User wants batch subtitle extraction from a playlist or series

Prerequisites

Install yt-dlp

yt-dlp is a feature-rich command-line audio/video downloader that also extracts subtitles.

Via pip (recommended):

pip install yt-dlp

Via package manager:

# macOS
brew install yt-dlp

# Ubuntu/Debian
sudo apt install yt-dlp

# Windows (scoop)
scoop install yt-dlp

Verify installation:

yt-dlp --version

Optional: ffmpeg

Some subtitle formats require ffmpeg for conversion:

# macOS
brew install ffmpeg

# Ubuntu/Debian
sudo apt install ffmpeg

# Windows (scoop)
scoop install ffmpeg

Cookie Setup for Bilibili Member Videos

Bilibili member-only (大会员) content requires authentication cookies.

Method 1: Export cookies from browser

Install a browser extension like "Get cookies.txt LOCALLY" and export cookies for bilibili.com:

# Use the exported cookies file
yt-dlp --cookies cookies.txt "https://www.bilibili.com/video/BV..."

Method 2: Use browser cookies directly

# yt-dlp can read cookies from your browser
yt-dlp --cookies-from-browser chrome "https://www.bilibili.com/video/BV..."
yt-dlp --cookies-from-browser firefox "https://www.bilibili.com/video/BV..."
yt-dlp --cookies-from-browser edge "https://www.bilibili.com/video/BV..."
Security note: Cookie files contain your login session. Do not share them or commit them to version control.

Instructions

Step 1: Identify the Platform and URL Format

Bilibili URL Formats
FormatExample
Standard BVhttps://www.bilibili.com/video/BV1xx411c7mD
With pagehttps://www.bilibili.com/video/BV1xx411c7mD?p=2
Short linkhttps://b23.tv/aBcDeFg
Bangumihttps://www.bilibili.com/bangumi/play/ep12345
Old AV formathttps://www.bilibili.com/video/av12345
Mobilehttps://m.bilibili.com/video/BV1xx411c7mD
YouTube URL Formats
FormatExample
Standardhttps://www.youtube.com/watch?v=VIDEO_ID
Shorthttps://youtu.be/VIDEO_ID
Embedhttps://www.youtube.com/embed/VIDEO_ID
Shortshttps://www.youtube.com/shorts/VIDEO_ID

Step 2: Extract Subtitles

Bilibili Subtitle Extraction

List available subtitles:

yt-dlp --list-subs "https://www.bilibili.com/video/BV..."

Download subtitles only (no video):

# Download all available subtitles
yt-dlp --write-sub --skip-download "https://www.bilibili.com/video/BV..."

# Download auto-generated subtitles as well
yt-dlp --write-sub --write-auto-sub --skip-download "https://www.bilibili.com/video/BV..."

# Download specific language (Chinese)
yt-dlp --write-sub --sub-lang zh-CN --skip-download "https://www.bilibili.com/video/BV..."

# Convert to SRT format
yt-dlp --write-sub --sub-lang zh-CN --convert-subs srt --skip-download "https://www.bilibili.com/video/BV..."

Member-only videos (require cookies):

yt-dlp --cookies-from-browser chrome --write-sub --skip-download "https://www.bilibili.com/video/BV..."
YouTube Subtitle Extraction

List available subtitles:

yt-dlp --list-subs "https://www.youtube.com/watch?v=VIDEO_ID"

Download subtitles:

# English subtitles
yt-dlp --write-sub --sub-lang en --skip-download "https://www.youtube.com/watch?v=VIDEO_ID"

# Auto-generated subtitles
yt-dlp --write-auto-sub --sub-lang en --skip-download "https://www.youtube.com/watch?v=VIDEO_ID"

# Multiple languages
yt-dlp --write-sub --sub-lang "en,zh-Hans,ja" --skip-download "URL"

# Convert to plain text (SRT format)
yt-dlp --write-auto-sub --sub-lang en --convert-subs srt --skip-download "URL"

Step 3: Parse Subtitle Files

yt-dlp downloads subtitles in various formats. Here's how to parse common ones:

import re
import json

def parse_srt(filepath: str) -> list[dict]:
    """Parse SRT subtitle file into structured segments."""
    with open(filepath, 'r', encoding='utf-8') as f:
        content = f.read()

    segments = []
    blocks = content.strip().split('\n\n')

    for block in blocks:
        lines = block.strip().split('\n')
        if len(lines) >= 3:
            time_match = re.match(
                r'(\d{2}):(\d{2}):(\d{2}),(\d{3}) --> (\d{2}):(\d{2}):(\d{2}),(\d{3})',
                lines[1]
            )
            if time_match:
                h, m, s = int(time_match[1]), int(time_match[2]), int(time_match[3])
                start_sec = h * 3600 + m * 60 + s
                text = ' '.join(lines[2:]).strip()
                # Remove HTML tags from auto-generated subs
                text = re.sub(r'<[^>]+>', '', text)
                if text:
                    segments.append({
                        'start': start_sec,
                        'text': text
                    })

    return segments

def parse_json3(filepath: str) -> list[dict]:
    """Parse YouTube JSON3 subtitle format."""
    with open(filepath, 'r', encoding='utf-8') as f:
        data = json.load(f)

    segments = []
    for event in data.get('events', []):
        start_ms = event.get('tStartMs', 0)
        segs = event.get('segs', [])
        text = ''.join(s.get('utf8', '') for s in segs).strip()
        if text and text != '\n':
            segments.append({
                'start': start_ms / 1000,
                'text': text
            })

    return segments

def segments_to_text(segments: list[dict]) -> str:
    """Convert segments to plain text with timestamps."""
    lines = []
    for seg in segments:
        minutes = int(seg['start'] // 60)
        seconds = int(seg['start'] % 60)
        lines.append(f"[{minutes:02d}:{seconds:02d}] {seg['text']}")
    return '\n'.join(lines)

Step 4: Summarize or Query the Content

Once you have the transcript text, generate summaries or answer questions about the content.

For summarization, combine all subtitle text and apply a structured prompt:

Based on the following video transcript, provide:

1. **概要** (Executive Summary): 2-3 sentences in the video's language
2. **要点** (Key Points): Bulleted list with timestamps [MM:SS]
3. **详细笔记** (Detailed Notes): Organized by topic sections
4. **问答** (Q&A): Answer any specific questions the user has

Transcript:
{full_transcript_text}

For Q&A, search the transcript for relevant segments first, then answer based on context.


Workflows

Workflow 1: Quick Bilibili Subtitle Extraction

User says: "提取这个B站视频的字幕: https://www.bilibili.com/video/BV..."

  1. Run yt-dlp --list-subs to check available subtitles
  2. Download Chinese subtitles: yt-dlp --write-sub --sub-lang zh-CN --convert-subs srt --skip-download URL
  3. Parse the SRT file
  4. Present the clean transcript to the user

Workflow 2: Bilibili Member Video

User says: "这是大会员视频,帮我提取字幕"

  1. Inform user that cookies are needed
  2. Use --cookies-from-browser chrome (or user's preferred browser)
  3. Extract subtitles with authentication
  4. If cookies fail, guide user to export cookies.txt manually

Workflow 3: YouTube Multi-Language

User says: "Get both English and Chinese subtitles from this YouTube video"

  1. List available subtitle languages
  2. Download both en and zh-Hans subtitles
  3. Parse both files
  4. Present side-by-side or merged view

Workflow 4: Video Content Q&A

User says: "视频里有没有提到关于 X 的内容?"

  1. Extract full transcript
  2. Search for keywords related to X
  3. Return matching segments with timestamps
  4. Provide a concise answer based on the matching content

Workflow 5: Batch Playlist Extraction

User provides a playlist or series URL:

  1. Use yt-dlp --flat-playlist to list all videos
  2. Extract subtitles from each video sequentially
  3. Save each transcript as a separate file
  4. Generate a combined index with video titles and file paths

Workflow 6: Bilibili Bangumi (番剧) Subtitles

User shares a bangumi URL:

  1. Bangumi often has official multi-language subtitles
  2. Use --list-subs to show all available languages
  3. Download preferred language(s)
  4. Note: Some bangumi require 大会员 cookies

Output Format

Transcript Output

# 📝 Subtitles: [Video Title]

**Platform**: Bilibili / YouTube
**Language**: 中文 (zh-CN)
**Duration**: ~XX minutes
**Subtitle Type**: Manual / Auto-generated

---

[00:00] 大家好,欢迎来到今天的视频
[00:05] 今天我们要讨论的话题是...
[00:12] 首先我们来看一下背景
...

Summary Output

# 📋 Video Summary: [Title]

## 概要
[2-3 sentence summary in the video's language]

## 要点
- **[00:00]** 开场介绍和主题说明
- **[02:15]** 第一个核心观点
- **[08:30]** 关键论据和数据
- **[15:00]** 实际演示
- **[22:45]** 总结与下一步

## 详细笔记

### 第一部分: [主题] (00:00 - 05:30)
[详细内容笔记]

### 第二部分: [主题] (05:30 - 12:00)
[详细内容笔记]

Common Pitfalls

1. Bilibili Geo-Restrictions

Problem: Some Bilibili content is restricted to mainland China.

Solutions:

  • Use a proxy or VPN with a Chinese IP: yt-dlp --proxy socks5://127.0.0.1:1080 URL
  • Set the --geo-bypass flag: yt-dlp --geo-bypass URL
  • For persistent issues, use --geo-bypass-country CN
yt-dlp --geo-bypass-country CN --write-sub --skip-download "URL"

2. Member-Only Content Without Cookies

Problem: yt-dlp returns an error or empty subtitles for 大会员 videos.

Solution: Always check if the video requires 大会员 access. If so, cookies are mandatory:

# If this fails:
yt-dlp --list-subs "URL"
# ERROR: This video requires premium membership

# Try with cookies:
yt-dlp --cookies-from-browser chrome --list-subs "URL"

If browser cookie extraction fails (common on Linux), export cookies manually to a cookies.txt file.

3. No Subtitles Available

Problem: Many Bilibili videos, especially older ones or user-generated content, have no subtitles at all.

Solution: Inform the user clearly. Unlike YouTube, Bilibili does not always generate auto-subtitles. The video may only have hardcoded (burned-in) subtitles which require OCR — beyond the scope of this skill.

4. yt-dlp Version Issues

Problem: Bilibili frequently changes its API, causing older yt-dlp versions to fail.

Solution: Always ensure yt-dlp is up to date:

pip install -U yt-dlp
# or
yt-dlp -U

5. Subtitle Format Inconsistencies

Problem: Different videos return subtitles in different formats (SRT, VTT, JSON3, ASS).

Solution: Use --convert-subs srt to normalize all subtitles to SRT format:

yt-dlp --write-sub --convert-subs srt --skip-download "URL"

6. Rate Limiting on Bilibili

Problem: Rapid successive requests may get temporarily blocked.

Solutions:

  • Add delays between batch requests: --sleep-requests 2
  • Use --sleep-interval 5 for playlists
  • Limit concurrent downloads: --max-downloads 10

7. Short Link Resolution

Problem: Bilibili short links (b23.tv) may not resolve properly.

Solution: yt-dlp handles most redirects automatically, but if it fails:

# Manually resolve the short link first
curl -sI "https://b23.tv/aBcDeFg" | grep -i location

Multi-Language Subtitle Support

Common Language Codes

PlatformLanguageCode
Bilibili中文zh-CN, zh
BilibiliEnglishen
Bilibili日本語ja
YouTubeEnglishen
YouTube中文(简体)zh-Hans
YouTube中文(繁体)zh-Hant
YouTube日本語ja
YouTube한국어ko

Checking Available Languages

# Bilibili
yt-dlp --list-subs "https://www.bilibili.com/video/BV..."

# YouTube
yt-dlp --list-subs "https://www.youtube.com/watch?v=..."

The output shows both manual and auto-generated subtitle tracks with their language codes.


Platform Comparison

FeatureBilibiliYouTube
Auto-generated subtitlesRareCommon
Manual subtitlesCommon (CC)Common
Multi-language subsSome (bangumi)Many
Cookie auth needed大会员 contentAge-restricted
Geo-restrictionsSome content CN-onlyVaries
Subtitle formatsSRT, JSONSRT, VTT, JSON3
Playlist supportYes (multi-page)Yes
Rate limitingModerateModerate

平台分布

Codex

39.1%
按下载量换算58

Claude

29.7%
按下载量换算44

Cursor

18.23%
按下载量换算27

Gemini CLI

9.78%
按下载量换算14

安全审计

暂无安全审计结果可展示。

权限和风险

操作浏览器

该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

安装前确认

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

继续浏览同类 Skills