Skip to content

Repository files navigation

BiliSummary

Desktop-first Bilibili summarizer with AI-generated Markdown output, favorites workflow, and unified browse/reading UX.

Features

  • URL mode: summarize videos from pasted Bilibili URLs.
  • UP mode: summarize recent videos by UP name or UID.
  • Favorites mode:
    • QR login to Bilibili.
    • Load favorite folders and videos.
    • Summarize unsummarized favorites in batch.
    • Unfavorite with short-window undo.
  • Browse mode:
    • Unified card system with Favorites.
    • Thumbnail / compact view toggle.
    • Click-through reading page.
  • Reading UX:
    • Unified top action buttons.
    • Global gutter back button between sidebar and content.
  • ASR fallback:
    • For videos without subtitles, trigger speech-to-text summarize flow.

Stack

  • Backend: FastAPI + Uvicorn
  • Frontend: Vanilla JS + CSS (tokenized design system)
  • Desktop shell: pywebview
  • Bilibili integration: bilibili-api-python
  • AI summarize: Anthropic-compatible API
  • ASR: GLM ASR integration
  • Audio: PyAV

Quick Start

  1. Install dependencies:
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
  1. Create .env.local:
ANTHROPIC_AUTH_TOKEN=your_api_key
ANTHROPIC_BASE_URL=https://open.bigmodel.cn/api/anthropic
  1. Run desktop app:
python app.py

Project Layout

app.py                # Desktop entry (pywebview)
server.py             # FastAPI app
summarize.py          # Summarization pipeline
routes/               # API route modules
static/               # Frontend assets (index.html / app.js / style.css)
docs/                 # Design system and project status
summary/              # Generated summaries

Documentation

  • Design system: /Users/jakevin/code/bilibili-summary/docs/design-system.md
  • Current status and next tasks: /Users/jakevin/code/bilibili-summary/docs/project-status.md

License

MIT

About

AI-powered Bilibili video summarizer with ASR support

Resources

Stars

20 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages