Home
Softono
BiliSum

BiliSum

Open source MIT Python
289
Stars
24
Forks
5
Issues
2
Watchers
1 week
Last Commit

About BiliSum

为 Bilibili、YouTube 及本地视频提供 AI 视频摘要和知识库.AI video summarizer and knowledge base for Bilibili, YouTube and local videos.

Platforms

Web Self-hosted

Languages

Python

Links

BiliSum Banner

BiliSum

AI 视频总结与知识库工具

把 B 站、YouTube 和本地视频,沉淀成可检索、可追问、可导出的知识笔记。

Python 3.12 License: MIT Platform: Windows | macOS

快速开始 · 产品特性 · 技术栈 · 贡献指南


深度优化 B 站体验,同时支持 YouTube 与本地视频。自动转写、总结、图文笔记、思维导图、知识库 RAG 问答,数据全部落本地。

BiliSum 首页

产品特性

B 站 / YouTube / 本地视频  →  转写  →  文本笔记  →  图文笔记  →  思维导图  →  知识库
         ↓                          ↓                          ↓
    B 站扫码登录              可回溯的任务历史             AI 检索问答

图文笔记(VLM 理解型) 新增

VLM 理解型图文笔记是一版从零设计的笔记生成方式:VLM 阅读原始笔记和所有截图的客观信息,以画面为线索重新组织文章结构。每张图跟在对应知识段落后面,不是原文里插几张图,也不是把所有截图堆在末尾。

  • 支持 OpenAI / Anthropic / 兼容接口 / 自定义端点作为视觉模型
  • 帧描述→客观事实列表,从源头杜绝流水账描述
  • 精选配图(3-6 张),段落与图片交替呈现
  • 合成超时 300s,预过滤低质量帧

在设置页 → 图文笔记形式中选择「VLM 理解型图文笔记」启用。

VLM 模式会调用多模态模型处理截图,API 费用比纯文本高。想控制成本可以把「最多截图数」调小或「截图最小间隔」调大。超长视频的笔记可能偏简略,截图逻辑还在优化中——设置页可以自定义截图规划的提示词。

VLM 理解型图文笔记

VLM 理解型图文笔记:段落与截图交替排列,禁止图片堆积末尾

视觉模型独立配置 新增

画面理解和图文笔记合成可以独立配置视觉模型,不再跟随主 LLM。支持多提供商自动适配——选中 OpenAI / Anthropic / 兼容接口后,图片格式、端点、认证全部自动切换。第三方端点图片请求不兼容时也会自动回退。

文本笔记 / 思维导图

  • LLM 摘要:不只是压缩,而是识别论点、案例、结论,生成结构化知识卡片
  • 思维导图:线性视频转放射状知识网络,支持缩放、拖拽、节点高亮
  • 转写全文:章节时间轴 + 关键句定位,数学公式和代码块自动格式化
  • 重跑机制:换套模型重生成摘要,不满意就再来
BiliSum 思维导图

线性视频转放射状知识网络,一眼看清内容结构和逻辑脉络

知识库

  • 跨视频 RAG 检索问答,语义搜索 + 关键词搜索
  • 自动/手动标签,标签关系网络可视化
  • 支持本地 LLM,断网也能用
BiliSum 知识库

跨视频 AI 检索与问答,标签管理,可生长的知识体系

多 P 视频与全集总结

自动检测分 P 视频,支持选择单个分 P 或批量创建任务。全集总结模式可聚合所有分 P 内容生成一篇总笔记。

ASR 转写

  • SiliconFlow ASR:长音频自动切片 + 并发识别,突破 60 分钟限制
  • FunASR(QwenASR):阿里本地语音识别引擎,中文效果超越 Whisper,CPU 速度约 34 倍,GPU 约 13 倍。支持 VAD / 自动标点 / 说话人识别
  • 多模态 ASR:支持 OpenAI 兼容的音频模型(如 mimo-v2-omni),切片时长和重试次数可调
  • 本地 Whisper:CPU / CUDA 可选

导入导出

  • 导入:B 站链接、YouTube 链接、本地视频文件(mp4 / mkv / mov / webm)
  • 导出:Markdown、Obsidian 格式,一键打包笔记和截图

B 站风控

桌面端内置扫码登录,自动保存 Cookies。也支持手动导入 cookies.txt。

桌面端 macOS 新增

  • Windows / macOS 双平台,自绘窗口栏,统一 UI 风格
  • 动画启动画面
  • 应用内自动更新,设置页一键检查新版本

技术栈

模块 技术选型
桌面端 Electron + React + TypeScript + Vite
后端服务 FastAPI + SQLite
视频下载 yt-dlp
语音转写 SiliconFlow ASR / 多模态 ASR / 本地 Whisper / FunASR(QwenASR)
摘要生成 OpenAI-compatible / Anthropic Claude / 本地规则降级
视觉模型 OpenAI / Anthropic / 兼容接口(自动格式适配)
知识库 RAG Embedding 向量检索 + LLM Agent
思维导图 ReactFlow
知识网络 D3 Force Graph
打包分发 PyInstaller onedir + electron-builder + Docker

快速开始

环境要求

  • Python 3.12
  • Node.js 20+
  • Windows / macOS
  • 可选:ffmpeg、CUDA

安装依赖

uv sync --python 3.12 --all-packages
npm install --prefix .\apps\desktop

环境变量

Copy-Item .env.example .env

编辑 .env

VIDEO_SUM_HOST=127.0.0.1
VIDEO_SUM_PORT=3838
VIDEO_SUM_ACCESS_TOKEN=replace-with-a-long-random-token

# 转写(SiliconFlow)
VIDEO_SUM_TRANSCRIPTION_PROVIDER=siliconflow
VIDEO_SUM_SILICONFLOW_ASR_BASE_URL=https://api.siliconflow.cn/v1
VIDEO_SUM_SILICONFLOW_ASR_MODEL=TeleAI/TeleSpeechASR
VIDEO_SUM_SILICONFLOW_ASR_API_KEY=your-key

# LLM 摘要
VIDEO_SUM_LLM_ENABLED=true
VIDEO_SUM_LLM_PROVIDER=openai-compatible
VIDEO_SUM_LLM_BASE_URL=https://coding.dashscope.aliyuncs.com/v1
VIDEO_SUM_LLM_MODEL=qwen3.5-plus
VIDEO_SUM_LLM_API_KEY=your-key

# B 站 Cookies(遇到风控时配置)
VIDEO_SUM_YTDLP_COOKIES_FILE=

桌面端遇到 B 站风控优先用内置扫码登录。

启动开发环境

npm run dev

同时拉起 Vite 渲染层、Electron 桌面壳、Python 后端。

桌面端打包

npm run package:win     # Windows
npm run package:mac     # macOS

Docker 浏览器版

# 构建
npm run docker:build

# 运行
docker run --rm -p 3838:3838 \
  -v bilisum-data:/data \
  -e VIDEO_SUM_ACCESS_TOKEN=your-token \
  -e VIDEO_SUM_LLM_ENABLED=true \
  -e VIDEO_SUM_LLM_BASE_URL=https://coding.dashscope.aliyuncs.com/v1 \
  -e VIDEO_SUM_LLM_MODEL=qwen3.5-plus \
  -e VIDEO_SUM_LLM_API_KEY=your-key \
  -e VIDEO_SUM_SILICONFLOW_ASR_API_KEY=your-key \
  lycohana/bilisum:latest

访问 http://127.0.0.1:3838。容器内服务监听 0.0.0.0:3838,数据目录 /data

docker pull lycohana/bilisum:latest

从旧版迁移

首次启动自动从 BriefVid 目录迁移数据到 BiliSum 目录,只复制缺失文件,不覆盖已有数据,不删除旧目录。

项目结构

BiliSum/
├── apps/
│   ├── desktop/          # Electron + React 桌面端
│   │   └── src/
│   │       ├── pages/         # 首页/视频库/知识库/详情页/设置
│   │       ├── components/    # 通用 UI 组件
│   │       ├── api.ts         # API 客户端
│   │       └── appModel.ts    # 状态管理
│   ├── web/              # 浏览器版静态产物
│   └── service/          # FastAPI 本地服务
│       └── src/video_sum_service/
│           ├── app.py              # FastAPI 入口
│           ├── worker.py           # 后台任务调度
│           ├── repository.py       # SQLite 持久化
│           ├── settings_manager.py # 配置管理
│           ├── knowledge/          # 知识库(索引/RAG/标签/本地LLM)
│           └── routers/            # API 路由
├── packages/
│   ├── core/             # 下载/转写/摘要/图文笔记核心逻辑
│   └── infra/            # 配置/运行时/LLM 工具函数
├── docs/pic/             # 文档截图
├── tests/                # 测试
└── .env.example

贡献指南

  • 遇到 Bug 或有想法 → 直接开 Issue
  • 修复 Bug、加功能、优化体验 → 提 PR
  • 完善文档、补充示例 → 非常欢迎
  • 在你的工作流里用起来了 → 分享经验,帮助后来者

代码风格:Python PEP 8 + 类型注解,TypeScript 严格模式 + 函数式组件,Commit 遵循 Conventional Commits。

开发流程

初始化

uv sync --python 3.12 --all-packages
npm install --prefix .\apps\desktop

启动后端

uv run --package video-sum-service python -m video_sum_service

启动桌面端

npm run dev

测试

.\.venv\Scripts\python -m pytest          # Python
npm test --prefix .\apps\desktop           # 桌面端
npm run typecheck --prefix .\apps\desktop  # 类型检查

macOS / Linux

uv sync --python 3.12 --all-packages
uv run --package video-sum-service python -m video_sum_service
npm run dev

代码改了但运行时还是旧逻辑?

uv run --package video-sum-service python -c "import video_sum_core, video_sum_service; print(video_sum_core.__file__); print(video_sum_service.__file__)"

如果输出不是仓库内的源码路径,重新执行 uv sync --python 3.12 --all-packages

路线图

  • [x] 思维导图视图
  • [x] 本地视频导入与处理
  • [x] 知识笔记 Markdown / Obsidian 导出
  • [x] 知识库系统(RAG / 标签 / 知识网络)
  • [x] B 站风控处理(扫码登录 / Cookies)
  • [x] 多 P 视频批量处理与全集总结
  • [x] GPU 运行时一键安装
  • [x] macOS 桌面端
  • [x] Anthropic / Claude 原生 API
  • [x] 桌面端自动更新
  • [x] VLM 理解型图文笔记
  • [x] 视觉模型多提供商独立配置
  • [x] 多模态 ASR
  • [x] FunASR(QwenASR)本地语音识别
  • [ ] 更多平台支持
  • [ ] Notion 等第三方工具集成

Star History

Star History Chart

License

MIT License © 2026 Lycohana

特别致谢:Linux Do

Built with ❤️ by Lycohana