{
  "schemaVersion": "1.0",
  "item": {
    "slug": "bili-summary",
    "name": "Bili Summary",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/lava-chen/bili-summary",
    "canonicalUrl": "https://clawhub.ai/lava-chen/bili-summary",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/bili-summary",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=bili-summary",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "scripts/bili-summary.py"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-23T16:43:11.935Z",
      "expiresAt": "2026-04-30T16:43:11.935Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
        "contentDisposition": "attachment; filename=\"4claw-imageboard-1.0.1.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/bili-summary"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/bili-summary",
    "agentPageUrl": "https://openagent3.xyz/skills/bili-summary/agent",
    "manifestUrl": "https://openagent3.xyz/skills/bili-summary/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/bili-summary/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "bili-summary",
        "body": "Bilibili (B站) video download, subtitle extraction, and AI summarization tool."
      },
      {
        "title": "When to Use",
        "body": "✅ USE this skill when:\n\n\"download Bilibili video\"\n\"extract B站 subtitles\"\n\"summarize B站 video\"\n\"B站视频总结\"\n\"bilibili transcription\"\nAny Bilibili video URL"
      },
      {
        "title": "Features",
        "body": "Get video info (title, duration, uploader)\nDownload B站 video (video + audio)\nExtract subtitles (B站 CC subtitles)\nAudio extraction + Whisper transcription (when no subtitles)\nGemini AI detailed summary (chapters + key content + key insights + conclusion)"
      },
      {
        "title": "1. Install Dependencies",
        "body": "# Using miniconda3 (recommended)\n~/miniconda3/bin/pip install yt-dlp faster-whisper\n\n# Or using system Python (may require sudo)\npip install yt-dlp faster-whisper"
      },
      {
        "title": "2. Get Gemini API Key",
        "body": "This skill uses Google Gemini 2.5 Flash for AI summarization.\n\nSteps:\n\nVisit https://aistudio.google.com/app/apikey\nSign in with your Google account\nClick \"Create API Key\"\nCopy the generated key\n\nPricing: Gemini 2.5 Flash has generous free tier (15 RPM, 1M TPM)"
      },
      {
        "title": "3. Set Environment Variable",
        "body": "# Add to your ~/.bashrc or ~/.zshrc for permanent setup\necho 'export GEMINI_API_KEY=\"your-api-key-here\"' >> ~/.bashrc\nsource ~/.bashrc\n\n# Or set temporarily for current session\nexport GEMINI_API_KEY=\"your-api-key-here\""
      },
      {
        "title": "Full Workflow (Recommended)",
        "body": "# Download audio, transcribe, and summarize in one command\nuv run {baseDir}/scripts/bili-summary.py \"https://www.bilibili.com/video/BV1xx411c7mu\" --action summary"
      },
      {
        "title": "Other Actions",
        "body": "# Get video info only\nuv run {baseDir}/scripts/bili-summary.py \"URL\" --action info\n\n# Download subtitle (if available)\nuv run {baseDir}/scripts/bili-summary.py \"URL\" --action subtitle\n\n# Download and transcribe audio only\nuv run {baseDir}/scripts/bili-summary.py \"URL\" --action transcribe\n\n# Download full video\nuv run {baseDir}/scripts/bili-summary.py \"URL\" --action video"
      },
      {
        "title": "Options",
        "body": "OptionDescriptionDefaulturlBilibili video URL (BV号或完整链接)required--actionOperation: info/subtitle/transcribe/video/summarysummary--outputOutput directory~/openclaw/workspace/coding-agent/temp/bili-summary"
      },
      {
        "title": "Output Files",
        "body": "Default output: ~/openclaw/workspace/coding-agent/temp/bili-summary/\n\ntemp/bili-summary/\n├── audio.m4a       # Downloaded audio (deleted after summary)\n├── subtitle.txt    # Transcribed text (deleted after summary)\n└── summary.txt    # AI summary content"
      },
      {
        "title": "summary (full workflow)",
        "body": "Get video info - yt-dlp fetches title, duration, uploader\nTry B站 subtitles - Call Bilibili API for CC subtitles\nFallback to Whisper - If no subtitles, download audio + faster-whisper (tiny model) transcription\nAI Summary - Call Gemini 2.5 Flash API for detailed summary"
      },
      {
        "title": "Time Estimate",
        "body": "StepTimeAudio download~15sWhisper transcription (tiny)~25sGemini summary~5sTotal~45s"
      },
      {
        "title": "Recommended API: Google Gemini",
        "body": "Model: gemini-2.5-flash\nEndpoint: https://generativelanguage.googleapis.com/v1/models/gemini-2.5-flash:generateContent\nFree Tier: 15 requests/minute, 1M tokens/minute\nSign up: https://aistudio.google.com/app/apikey"
      },
      {
        "title": "Alternative APIs (not implemented)",
        "body": "If you want to use other LLMs:\n\nOpenAI GPT-4o - https://api.openai.com/v1/chat/completions\nAnthropic Claude - https://api.anthropic.com/v1/messages\nMiniMax - https://api.minimax.chat/v1/text/chatcompletion_v2\n\nNote: Current implementation only supports Gemini. PRs welcome for other providers."
      },
      {
        "title": "Step 1: Install Python dependencies",
        "body": "# Check if miniconda3 exists\nls ~/miniconda3/bin/python\n\n# Install dependencies\n~/miniconda3/bin/pip install yt-dlp faster-whisper\n\n# Or use uv\nuv pip install yt-dlp faster-whisper"
      },
      {
        "title": "Step 2: Get API Key",
        "body": "Go to https://aistudio.google.com/app/apikey\nCreate new API key\nCopy the key"
      },
      {
        "title": "Step 3: Test the setup",
        "body": "# Set API key\nexport GEMINI_API_KEY=\"your-key-here\"\n\n# Test with a simple video\nuv run {baseDir}/scripts/bili-summary.py \"https://www.bilibili.com/video/BV1xx411c7mu\" --action info\n\nIf you see JSON output with video title, duration, etc., you're ready!"
      },
      {
        "title": "Step 4: Run full summarization",
        "body": "uv run {baseDir}/scripts/bili-summary.py \"https://www.bilibili.com/video/BV1xxx\" --action summary"
      },
      {
        "title": "\"No module named 'yt-dlp'\"",
        "body": "~/miniconda3/bin/pip install yt-dlp faster-whisper"
      },
      {
        "title": "\"GEMINI_API_KEY not found\"",
        "body": "# Check if environment variable is set\necho $GEMINI_API_KEY\n\n# Set it\nexport GEMINI_API_KEY=\"your-key\""
      },
      {
        "title": "\"No subtitles available\"",
        "body": "The skill automatically falls back to Whisper transcription. This may take longer but works for any video with audio."
      },
      {
        "title": "\"API rate limit exceeded\"",
        "body": "Wait a minute and retry, or check your API quota at https://aistudio.google.com/app/apikey"
      },
      {
        "title": "Security Notes",
        "body": "✅ API key is read from GEMINI_API_KEY environment variable only\n✅ No hardcoded API keys in source code\n✅ Temporary files stored in workspace temp directory\n⚠️ Audio/subtitle files are NOT auto-deleted (manual cleanup required)"
      },
      {
        "title": "File Structure",
        "body": "bili-summary/\n├── SKILL.md              # This documentation\n├── _meta.json            # ClawHub metadata (auto-generated)\n└── scripts/\n    └── bili-summary.py   # Main script"
      },
      {
        "title": "License",
        "body": "MIT License - Use at your own risk. Respect Bilibili's terms of service."
      }
    ],
    "body": "bili-summary\n\nBilibili (B站) video download, subtitle extraction, and AI summarization tool.\n\nWhen to Use\n\n✅ USE this skill when:\n\n\"download Bilibili video\"\n\"extract B站 subtitles\"\n\"summarize B站 video\"\n\"B站视频总结\"\n\"bilibili transcription\"\nAny Bilibili video URL\nFeatures\nGet video info (title, duration, uploader)\nDownload B站 video (video + audio)\nExtract subtitles (B站 CC subtitles)\nAudio extraction + Whisper transcription (when no subtitles)\nGemini AI detailed summary (chapters + key content + key insights + conclusion)\nPrerequisites\n1. Install Dependencies\n# Using miniconda3 (recommended)\n~/miniconda3/bin/pip install yt-dlp faster-whisper\n\n# Or using system Python (may require sudo)\npip install yt-dlp faster-whisper\n\n2. Get Gemini API Key\n\nThis skill uses Google Gemini 2.5 Flash for AI summarization.\n\nSteps:\n\nVisit https://aistudio.google.com/app/apikey\nSign in with your Google account\nClick \"Create API Key\"\nCopy the generated key\n\nPricing: Gemini 2.5 Flash has generous free tier (15 RPM, 1M TPM)\n\n3. Set Environment Variable\n# Add to your ~/.bashrc or ~/.zshrc for permanent setup\necho 'export GEMINI_API_KEY=\"your-api-key-here\"' >> ~/.bashrc\nsource ~/.bashrc\n\n# Or set temporarily for current session\nexport GEMINI_API_KEY=\"your-api-key-here\"\n\nQuick Start\nFull Workflow (Recommended)\n# Download audio, transcribe, and summarize in one command\nuv run {baseDir}/scripts/bili-summary.py \"https://www.bilibili.com/video/BV1xx411c7mu\" --action summary\n\nOther Actions\n# Get video info only\nuv run {baseDir}/scripts/bili-summary.py \"URL\" --action info\n\n# Download subtitle (if available)\nuv run {baseDir}/scripts/bili-summary.py \"URL\" --action subtitle\n\n# Download and transcribe audio only\nuv run {baseDir}/scripts/bili-summary.py \"URL\" --action transcribe\n\n# Download full video\nuv run {baseDir}/scripts/bili-summary.py \"URL\" --action video\n\nOptions\nOption\tDescription\tDefault\nurl\tBilibili video URL (BV号或完整链接)\trequired\n--action\tOperation: info/subtitle/transcribe/video/summary\tsummary\n--output\tOutput directory\t~/openclaw/workspace/coding-agent/temp/bili-summary\nOutput Files\n\nDefault output: ~/openclaw/workspace/coding-agent/temp/bili-summary/\n\ntemp/bili-summary/\n├── audio.m4a       # Downloaded audio (deleted after summary)\n├── subtitle.txt    # Transcribed text (deleted after summary)\n└── summary.txt    # AI summary content\n\nWorkflow\nsummary (full workflow)\nGet video info - yt-dlp fetches title, duration, uploader\nTry B站 subtitles - Call Bilibili API for CC subtitles\nFallback to Whisper - If no subtitles, download audio + faster-whisper (tiny model) transcription\nAI Summary - Call Gemini 2.5 Flash API for detailed summary\nTime Estimate\nStep\tTime\nAudio download\t~15s\nWhisper transcription (tiny)\t~25s\nGemini summary\t~5s\nTotal\t~45s\nAPI Configuration\nRecommended API: Google Gemini\nModel: gemini-2.5-flash\nEndpoint: https://generativelanguage.googleapis.com/v1/models/gemini-2.5-flash:generateContent\nFree Tier: 15 requests/minute, 1M tokens/minute\nSign up: https://aistudio.google.com/app/apikey\nAlternative APIs (not implemented)\n\nIf you want to use other LLMs:\n\nOpenAI GPT-4o - https://api.openai.com/v1/chat/completions\nAnthropic Claude - https://api.anthropic.com/v1/messages\nMiniMax - https://api.minimax.chat/v1/text/chatcompletion_v2\n\nNote: Current implementation only supports Gemini. PRs welcome for other providers.\n\nFirst-Time Setup Guide\nStep 1: Install Python dependencies\n# Check if miniconda3 exists\nls ~/miniconda3/bin/python\n\n# Install dependencies\n~/miniconda3/bin/pip install yt-dlp faster-whisper\n\n# Or use uv\nuv pip install yt-dlp faster-whisper\n\nStep 2: Get API Key\nGo to https://aistudio.google.com/app/apikey\nCreate new API key\nCopy the key\nStep 3: Test the setup\n# Set API key\nexport GEMINI_API_KEY=\"your-key-here\"\n\n# Test with a simple video\nuv run {baseDir}/scripts/bili-summary.py \"https://www.bilibili.com/video/BV1xx411c7mu\" --action info\n\n\nIf you see JSON output with video title, duration, etc., you're ready!\n\nStep 4: Run full summarization\nuv run {baseDir}/scripts/bili-summary.py \"https://www.bilibili.com/video/BV1xxx\" --action summary\n\nTroubleshooting\n\"No module named 'yt-dlp'\"\n~/miniconda3/bin/pip install yt-dlp faster-whisper\n\n\"GEMINI_API_KEY not found\"\n# Check if environment variable is set\necho $GEMINI_API_KEY\n\n# Set it\nexport GEMINI_API_KEY=\"your-key\"\n\n\"No subtitles available\"\n\nThe skill automatically falls back to Whisper transcription. This may take longer but works for any video with audio.\n\n\"API rate limit exceeded\"\n\nWait a minute and retry, or check your API quota at https://aistudio.google.com/app/apikey\n\nSecurity Notes\n✅ API key is read from GEMINI_API_KEY environment variable only\n✅ No hardcoded API keys in source code\n✅ Temporary files stored in workspace temp directory\n⚠️ Audio/subtitle files are NOT auto-deleted (manual cleanup required)\nFile Structure\nbili-summary/\n├── SKILL.md              # This documentation\n├── _meta.json            # ClawHub metadata (auto-generated)\n└── scripts/\n    └── bili-summary.py   # Main script\n\nLicense\n\nMIT License - Use at your own risk. Respect Bilibili's terms of service."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/lava-chen/bili-summary",
    "publisherUrl": "https://clawhub.ai/lava-chen/bili-summary",
    "owner": "lava-chen",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/bili-summary",
    "downloadUrl": "https://openagent3.xyz/downloads/bili-summary",
    "agentUrl": "https://openagent3.xyz/skills/bili-summary/agent",
    "manifestUrl": "https://openagent3.xyz/skills/bili-summary/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/bili-summary/agent.md"
  }
}