Skip to content

Support Bilibili subtitles (including AI-generated Chinese captions) in browser-only mode #533

Open

Description

@laolxun

Problem

In the Chrome extension, YouTube summarization works in Direct AI + Browser media mode, but Bilibili video summarization repeatedly fails even when the Bilibili player can display AI-generated Chinese subtitles.

The AI provider connection works through a local OpenAI-compatible endpoint (CLIProxyAPI). The failure appears to occur during content acquisition, before a usable video transcript is available; this is an observation, not a confirmed root cause.

Observed behavior

  1. Open a Bilibili video whose player offers AI-generated Chinese subtitles.
  2. Use the extension with AI connection set to Direct and media runtime set to Browser (no Summarize daemon).
  3. Request a video summary.
  4. The extension reports:

独立模式下无法转录此媒体:The active media source is not fetchable outside the page。请在“运行环境”中选择“守护进程”以支持更多媒体格式。

Browser capture still produces six slide images, but no transcript or OCR text is available. Summarizing page text only does not provide the video's spoken content.

Relevant diagnostic fields from the extension logs:

extractor.try: extractor=url-daemon matched=false
extractor.route.fail: reason=no-extractor-result
slides:payload:applied: slides=6 sourceKind=browser-capture slideRuntime=browser transcriptAvailable=false ocrAvailable=false
slides:text:rebuilt: slides=6 descriptions=6 summaries=0 titles=0 transcriptAvailable=false ocrAvailable=false textMode=transcript source=none

YouTube summaries work in the same setup; a timestamped transcript is available on the tested YouTube page. The exact successful extraction route was not independently verified.

Requested improvement

  • Add or improve Bilibili-specific retrieval of existing subtitles, including AI-generated Chinese captions, preferably within the active browser session and without requiring audio retranscription.
  • Preserve timestamps and select the current video part where applicable.
  • Prefer retrieved subtitle text for summaries and follow-up chat; use audio transcription only as a fallback.
  • Distinguish unavailable/unreadable subtitles from inaccessible media sources in diagnostics, and clarify when the limitation is browser-only support versus a login/permission requirement.
  • Clearly indicate when only title/description/page text is available so it cannot be mistaken for a full video summary.

Scope and missing reproduction details

This request concerns Bilibili browser-mode support, not a claim that all Chinese websites fail. Daemon mode has not been tested. Exact extension/Chrome versions and a public Bilibili reproduction URL have not yet been recorded, so this is submitted as a feature/support request rather than a fully isolated regression report.

If existing Bilibili subtitle support requires a particular setting or permission, documentation of that setup would also help.

Activity

  1. added
    clawsweeper:intake:featurePreliminary submission classification; full source review pending.
    P2Normal priority bug or improvement with limited blast radius.
    clawsweeper:needs-maintainer-reviewClawSweeper marked this issue as needing maintainer review before automation.
    clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.
    clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.
    impact:ux-frictionUser-facing flow adds avoidable confusion or support burden without fully blocking progress.
    issue-rating: 🦪 silver shellfishThin issue quality; more reproduction proof or environment detail is needed.
    and removed
    clawsweeper:intake:featurePreliminary submission classification; full source review pending.
    on Oct 20, 2026
  2. clawsweeper commented on Oct 20, 2026

    @clawsweeper

    Codex review: this still needs some work.

    Summary
    This issue remains necessary because main lacks Bilibili browser-caption retrieval, and an open implementation already owns the work.

    Reproducibility: Current source establishes the missing Bilibili caption route and matching generic-media error; the discussion supplies a captioned fixture and reported retrieval, but this review performed no live browser reproduction.

    Root-cause cluster
    Relationship: canonical
    Canonical: #533
    Summary: This issue owns the browser-caption request, with an open implementation candidate and separate CLI and YouTube-chat work.

    Members:

    Proposal only: this assessment does not dispatch repair, suppress jobs, mutate sibling items, close, or merge anything.

    Maintainer decision needed

    • Question: Should initial Bilibili support automatically select JSON captions with English-first ordering while leaving protobuf-only inventories unsupported?
    • Recommendation: Accept bounded initial support: Approve the existing candidate's routing and language order, retain explicit Page selection, and document the unsupported inventory format.
    • Why: The existing candidate explicitly leaves these defaults for approval, and its discussion contains no recorded maintainer decision.

    Next step
    Review #542 and decide its routing, language defaults, and initial inventory coverage before resolving this issue.

    Review details

    Best possible solution:

    Provide session-local caption-first extraction with part identity, timestamps, provenance, and clear in-product Page recovery when captions are unavailable.

    Do we have a high-confidence way to reproduce the issue?

    Current source establishes the missing Bilibili caption route and matching generic-media error; the discussion supplies a captioned fixture and reported retrieval, but this review performed no live browser reproduction.

    Is this the best way to solve the issue?

    Retrieving existing captions inside the active session directly addresses the request, and the existing browser candidate fits the preparation pipeline; the CLI workaround does not fulfill browser-only support.

    AGENTS.md: found and applied where relevant.

    Remaining risk / open question:

    • Automatic caption routing, English-first selection, and JSON-only initial coverage have no recorded maintainer approval.
    • The candidate's same-profile authenticated extension flow and live multipart caption selection remain unverified.

    Codex review notes: model internal, reasoning medium; reviewed against 72d28de39fa5.

    Label changes

    Label changes:

    No label changes.

    Label justifications:

    • P2: This is a concrete site-specific capability request with an existing implementation candidate and no established urgent regression.
    • impact:ux-friction: Captioned videos encounter generic media errors or page-only content, and Page selection cannot supply their spoken content.
    Evidence reviewed

    What I checked:

    Likely related people:

    • Peter Steinberger: Raw commit ccea21d adds apps/chrome-extension/src/lib/media-extraction-plan.ts:20 relative to its recorded parents. This identifies author metadata, not feature responsibility or a PR merger. (role: source-line author; confidence: high; commits: ccea21d48e59; files: apps/chrome-extension/src/lib/media-extraction-plan.ts)
    How this review workflow works
    • ClawSweeper keeps one durable marker-backed review comment per issue or PR.
    • Re-runs edit this comment so the latest verdict, findings, and automation markers stay together instead of adding duplicate bot comments.
    • A fresh review can be triggered by eligible @clawsweeper re-review comments, exact-item GitHub events, scheduled/background review runs, or manual workflow dispatch.
    • PR/issue authors and users with repository write access can comment @clawsweeper re-review or @clawsweeper re-run on an open PR or issue to request a fresh review only.
    • Maintainers can also comment @clawsweeper review to request a fresh review only.
    • Fresh-review commands do not start repair, autofix, rebase, CI repair, or automerge; those execution lanes are retired.
    • Maintainers can comment @clawsweeper explain to ask for more context, or @clawsweeper stop to stop active automation.

    Reviewed October 27, 2026, 10:34 AM ET / 14:34 UTC.

  3. added
    clawsweeper:intake:featurePreliminary submission classification; full source review pending.
    clawsweeper:fix-shape-clearClawSweeper found a clear likely implementation shape for this issue.
    and removed
    clawsweeper:intake:featurePreliminary submission classification; full source review pending.
    clawsweeper:fix-shape-clearClawSweeper found a clear likely implementation shape for this issue.
    on Oct 23, 2026
  4. 55 remaining items

  5. added
    clawsweeper:intake:featurePreliminary submission classification; full source review pending.
    and removed
    clawsweeper:intake:featurePreliminary submission classification; full source review pending.
    on Oct 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Normal priority bug or improvement with limited blast radius.clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.impact:ux-frictionUser-facing flow adds avoidable confusion or support burden without fully blocking progress.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions