欢迎光临
我们一直在努力

【开源AI视频笔记工具】BiliNote部署教程:本地+Docker双方案,小白也能轻松上手!

在这里插入图片描述

🌸你好呀!我是断弦承露
🌟感谢陪伴~ 小白博主在线求友
🌿 跟着小白学/Java/软件设计/鸿蒙开发/芯片开发
📖专栏汇总:
《软件设计师》专栏 | 《Java》专栏 | 《 RISC-V 处理器实战》专栏 | 《Flutter鸿蒙实战》专栏 | 《React Native开发》专栏

——|CSDN|——

在这里插入图片描述

文章目录

  • 🚀 BiliNote部署教程:本地+Docker双方案,小白也能轻松上手!
  • 强调: Windows 想本地部署 BiliNote 真的很难!!!强烈推荐下载Windows打包版
    • 📝 摘要
    • 🧠 文章思维导图
    • 🔄 部署流程图
    • 一、环境准备必做,一个都不能少!🎯
      • 1. 安装Git代码版本管理工具
      • 2. 安装Python 3.10+后端运行环境
      • 3. 安装Node.js 18+和pnpm前端运行环境
      • 4. 安装FFmpeg音视频处理核心依赖
        • Windows系统:
        • Linux/Mac系统:
    • 二、部署方式二选一,新手推荐Docker!🐳
      • 方式一:本地运行适合想折腾代码的开发者
        • 1️⃣ 第一大步:下载项目代码并配置
          • ① 打开终端
          • ② 下载代码
      • 方案一:【小白首选!零门槛,不用git命令】
      • 方案二:【换国内镜像地址,一行命令解决】
          • ③ 进入项目文件夹![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/8acd1e96805c4f45a7a47d2c40ac03f0.png)
          • ④ 复制配置文件
        • 2️⃣ 第二大步:启动后端服务(FastAPI)
        • ① 进入后端文件夹
        • ② 安装后端需要的依赖(用国内镜像,下载更快)
        • ③ 启动后端!
      • 3️⃣ 第三大步:启动前端界面(Vite + React)
        • ① 新开一个终端
        • ② 进入前端文件夹(⚠️ 这里名字很容易敲错!注意看!)
        • ③ 安装前端依赖
        • ④ 启动前端!
    • 🎉 最后一步:打开界面开始用!
    • 按回车,你就能看到 BiliNote 的界面啦!
    • ❓ 新手常见问题急救包
      • 方式二:Docker一键部署推荐新手/[NAS用户](https://blog.csdn.net/2602_94958286/article/details/159214421?spm=1011.2415.3001.10575&sharefrom=mp_manage_link)
        • 前提:先装Docker和Docker Compose
        • 版本1:最新版从主仓库构建
        • 版本2:稳定版官方预构建镜像
        • 配置.env文件关键!📝
        • 访问与验证
    • 三、核心配置让BiliNote真正能用!⚙️
      • 1. 配置AI模型以DeepSeek为例,免费额度够用!
      • 2. 语音转写配置本地免费,不用花钱!
      • 3.
      • 第一步:找到安装包的 `.env` 配置文件
      • 两种解决办法(按顺序试)
        • 方法一:手动创建 `.env` 文件(最直接)
        • 方法二:检查 `config` 文件夹
      • 补充说明
      • 第二步:修改语音转写配置(复制粘贴就行)
      • 第三步:重启BiliNote(让配置生效)
      • 核心提醒(安装包专属)
    • 四、生成你的第一条视频笔记!📹
    • 五、常见问题FAQ新手必看!❓
      • Q1:前端启动报错,说找不到`BillNote_frontend`目录?
      • Q2:启动时提示端口被占用,怎么办?
      • Q3:`ffmpeg -version`提示“不是内部或外部命令”?
      • Q4:测试模型连通性失败,怎么办?
      • Q5:生成笔记特别慢,怎么办?
      • Q6:Docker部署后,访问`http://localhost:3015`打不开?
      • Q7:早就配置过 FFmpeg 环境变量但仍提示未安装
        • 办法1:强制指定FFmpeg路径到.env(最直接,1分钟搞定)
        • 办法2:验证FFmpeg是否真的配置成功(排查假配置)
        • 办法3:替换安装包内置的FFmpeg(终极方案)
      • 核心总结
    • 六、项目资源与反馈📚
    • 总结🎯

🚀 BiliNote部署教程:本地+Docker双方案,小白也能轻松上手!

在这里插入图片描述

强调: Windows 想本地部署 BiliNote 真的很难!!!强烈推荐下载Windows打包版

[BiliNote链接:https://pan.baidu.com/s/11HZVawBFkMj0X15cmf2t7g 提取码:BNJF] 安装包下好后就可以跳到 三、核心配置哪里进行接下来的操作了,当然,你硬要本地部署本文也有教程

📝 摘要

本文面向纯小白,手把手教你从零部署BiliNote——这款超好用的开源AI视频笔记工具!我们会覆盖环境准备(Git、Python、Node.js、FFmpeg)、本地运行和Docker一键部署双方案,还有AI模型配置、语音转写设置、抖音Cookie获取,最后教你生成第一条视频笔记。文末附FAQ解决99%新手坑,跟着走就能跑通!


🧠 文章思维导图

#mermaid-svg-oAlu766VNANGF5YQ{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-oAlu766VNANGF5YQ .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-oAlu766VNANGF5YQ .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-oAlu766VNANGF5YQ .error-icon{fill:#552222;}#mermaid-svg-oAlu766VNANGF5YQ .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-oAlu766VNANGF5YQ .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-oAlu766VNANGF5YQ .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-oAlu766VNANGF5YQ .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-oAlu766VNANGF5YQ .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-oAlu766VNANGF5YQ .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-oAlu766VNANGF5YQ .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-oAlu766VNANGF5YQ .marker{fill:#333333;stroke:#333333;}#mermaid-svg-oAlu766VNANGF5YQ .marker.cross{stroke:#333333;}#mermaid-svg-oAlu766VNANGF5YQ svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-oAlu766VNANGF5YQ p{margin:0;}#mermaid-svg-oAlu766VNANGF5YQ .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-oAlu766VNANGF5YQ .cluster-label text{fill:#333;}#mermaid-svg-oAlu766VNANGF5YQ .cluster-label span{color:#333;}#mermaid-svg-oAlu766VNANGF5YQ .cluster-label span p{background-color:transparent;}#mermaid-svg-oAlu766VNANGF5YQ .label text,#mermaid-svg-oAlu766VNANGF5YQ span{fill:#333;color:#333;}#mermaid-svg-oAlu766VNANGF5YQ .node rect,#mermaid-svg-oAlu766VNANGF5YQ .node circle,#mermaid-svg-oAlu766VNANGF5YQ .node ellipse,#mermaid-svg-oAlu766VNANGF5YQ .node polygon,#mermaid-svg-oAlu766VNANGF5YQ .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-oAlu766VNANGF5YQ .rough-node .label text,#mermaid-svg-oAlu766VNANGF5YQ .node .label text,#mermaid-svg-oAlu766VNANGF5YQ .image-shape .label,#mermaid-svg-oAlu766VNANGF5YQ .icon-shape .label{text-anchor:middle;}#mermaid-svg-oAlu766VNANGF5YQ .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-oAlu766VNANGF5YQ .rough-node .label,#mermaid-svg-oAlu766VNANGF5YQ .node .label,#mermaid-svg-oAlu766VNANGF5YQ .image-shape .label,#mermaid-svg-oAlu766VNANGF5YQ .icon-shape .label{text-align:center;}#mermaid-svg-oAlu766VNANGF5YQ .node.clickable{cursor:pointer;}#mermaid-svg-oAlu766VNANGF5YQ .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-oAlu766VNANGF5YQ .arrowheadPath{fill:#333333;}#mermaid-svg-oAlu766VNANGF5YQ .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-oAlu766VNANGF5YQ .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-oAlu766VNANGF5YQ .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-oAlu766VNANGF5YQ .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-oAlu766VNANGF5YQ .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-oAlu766VNANGF5YQ .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-oAlu766VNANGF5YQ .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-oAlu766VNANGF5YQ .cluster text{fill:#333;}#mermaid-svg-oAlu766VNANGF5YQ .cluster span{color:#333;}#mermaid-svg-oAlu766VNANGF5YQ div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-oAlu766VNANGF5YQ .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-oAlu766VNANGF5YQ rect.text{fill:none;stroke-width:0;}#mermaid-svg-oAlu766VNANGF5YQ .icon-shape,#mermaid-svg-oAlu766VNANGF5YQ .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-oAlu766VNANGF5YQ .icon-shape p,#mermaid-svg-oAlu766VNANGF5YQ .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-oAlu766VNANGF5YQ .icon-shape .label rect,#mermaid-svg-oAlu766VNANGF5YQ .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-oAlu766VNANGF5YQ .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-oAlu766VNANGF5YQ .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-oAlu766VNANGF5YQ :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}

BiliNote部署教程

环境准备

部署方式

核心配置

使用流程

常见问题FAQ

安装Git

安装Python 3.10+

安装Node.js 18+和pnpm

安装FFmpeg

本地运行适合开发者

Docker一键部署推荐新手

配置AI模型以DeepSeek为例

语音转写配置本地免费

抖音Cookie配置可选

输入视频链接

选择模型和风格

生成笔记

前端目录名错误

端口被占用

FFmpeg未生效

模型连通失败

生成笔记慢


🔄 部署流程图

#mermaid-svg-eV5MWfWVSx7uyHV9{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-eV5MWfWVSx7uyHV9 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-eV5MWfWVSx7uyHV9 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-eV5MWfWVSx7uyHV9 .error-icon{fill:#552222;}#mermaid-svg-eV5MWfWVSx7uyHV9 .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-eV5MWfWVSx7uyHV9 .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-eV5MWfWVSx7uyHV9 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-eV5MWfWVSx7uyHV9 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-eV5MWfWVSx7uyHV9 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-eV5MWfWVSx7uyHV9 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-eV5MWfWVSx7uyHV9 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-eV5MWfWVSx7uyHV9 .marker{fill:#333333;stroke:#333333;}#mermaid-svg-eV5MWfWVSx7uyHV9 .marker.cross{stroke:#333333;}#mermaid-svg-eV5MWfWVSx7uyHV9 svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-eV5MWfWVSx7uyHV9 p{margin:0;}#mermaid-svg-eV5MWfWVSx7uyHV9 .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-eV5MWfWVSx7uyHV9 .cluster-label text{fill:#333;}#mermaid-svg-eV5MWfWVSx7uyHV9 .cluster-label span{color:#333;}#mermaid-svg-eV5MWfWVSx7uyHV9 .cluster-label span p{background-color:transparent;}#mermaid-svg-eV5MWfWVSx7uyHV9 .label text,#mermaid-svg-eV5MWfWVSx7uyHV9 span{fill:#333;color:#333;}#mermaid-svg-eV5MWfWVSx7uyHV9 .node rect,#mermaid-svg-eV5MWfWVSx7uyHV9 .node circle,#mermaid-svg-eV5MWfWVSx7uyHV9 .node ellipse,#mermaid-svg-eV5MWfWVSx7uyHV9 .node polygon,#mermaid-svg-eV5MWfWVSx7uyHV9 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-eV5MWfWVSx7uyHV9 .rough-node .label text,#mermaid-svg-eV5MWfWVSx7uyHV9 .node .label text,#mermaid-svg-eV5MWfWVSx7uyHV9 .image-shape .label,#mermaid-svg-eV5MWfWVSx7uyHV9 .icon-shape .label{text-anchor:middle;}#mermaid-svg-eV5MWfWVSx7uyHV9 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-eV5MWfWVSx7uyHV9 .rough-node .label,#mermaid-svg-eV5MWfWVSx7uyHV9 .node .label,#mermaid-svg-eV5MWfWVSx7uyHV9 .image-shape .label,#mermaid-svg-eV5MWfWVSx7uyHV9 .icon-shape .label{text-align:center;}#mermaid-svg-eV5MWfWVSx7uyHV9 .node.clickable{cursor:pointer;}#mermaid-svg-eV5MWfWVSx7uyHV9 .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-eV5MWfWVSx7uyHV9 .arrowheadPath{fill:#333333;}#mermaid-svg-eV5MWfWVSx7uyHV9 .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-eV5MWfWVSx7uyHV9 .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-eV5MWfWVSx7uyHV9 .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-eV5MWfWVSx7uyHV9 .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-eV5MWfWVSx7uyHV9 .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-eV5MWfWVSx7uyHV9 .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-eV5MWfWVSx7uyHV9 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-eV5MWfWVSx7uyHV9 .cluster text{fill:#333;}#mermaid-svg-eV5MWfWVSx7uyHV9 .cluster span{color:#333;}#mermaid-svg-eV5MWfWVSx7uyHV9 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-eV5MWfWVSx7uyHV9 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-eV5MWfWVSx7uyHV9 rect.text{fill:none;stroke-width:0;}#mermaid-svg-eV5MWfWVSx7uyHV9 .icon-shape,#mermaid-svg-eV5MWfWVSx7uyHV9 .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-eV5MWfWVSx7uyHV9 .icon-shape p,#mermaid-svg-eV5MWfWVSx7uyHV9 .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-eV5MWfWVSx7uyHV9 .icon-shape .label rect,#mermaid-svg-eV5MWfWVSx7uyHV9 .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-eV5MWfWVSx7uyHV9 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-eV5MWfWVSx7uyHV9 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-eV5MWfWVSx7uyHV9 :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}

本地运行

Docker部署

开始

环境准备Git/Python/Node.js/FFmpeg

选择部署方式

克隆仓库

启动后端

启动前端

克隆部署仓库

配置.env文件

启动容器

配置AI模型和语音转写

输入视频链接生成笔记

完成


一、环境准备必做,一个都不能少!🎯

1. 安装Git代码版本管理工具

Git是用来下载项目代码的,必须装!

Git超详细教程:全流程安装使用指南https://blog.csdn.net/2602_94958286/article/details/159214713?spm=1011.2415.3001.10575&sharefrom=mp_manage_link

  • 去Git官网下载对应系统的安装包(Windows选.exe,Mac选.dmg)。
  • 安装时全选默认选项,一直点“下一步”就行。
  • 验证安装:打开终端(Windows用PowerShell或CMD,Mac用终端),输入:git –version
    显示版本号(比如git version 2.53.0)就说明成功啦!🎉

2. 安装Python 3.10+后端运行环境

Part1_👍Python版本选择:https://blog.csdn.net/2602_94958286/article/details/159254623?spm=1011.2415.3001.10575&sharefrom=mp_manage_link

Part2_👍Python 下载安装保姆级教程https://blog.csdn.net/2602_94958286/article/details/159290414?spm=1011.2415.3001.10575&sharefrom=mp_manage_link

BiliNote后端是用Python写的,得装3.10以上版本。

  • 去Python官网下载Python 3.11(推荐3.11,更稳定)。
  • 重点! 安装时一定要勾选底部的Add python.exe to PATH,不然系统找不到Python!
  • 验证安装:打开新终端(注意是新的,刚才的可能没刷新),输入:python –version
    显示Python 3.11.x就OK。👍

3. 安装Node.js 18+和pnpm前端运行环境

Node.js全平台安装教程https://blog.csdn.net/2602_94958286/article/details/159317208?spm=1011.2415.3001.10575&sharefrom=mp_manage_link

前端是用Node.js跑的,pnpm是包管理器,比npm快!

要装 pnpm,必须先用 npm 才能装上 pnpm 虽然比 npm 快,但它不是 Node.js 自带的,是第三方工具 命令:npm install -g pnpm 这个命令的意思就是「用 npm 把 pnpm 安装到全局」—— 如果 npm 没用、没装好,你连 pnpm 都装不上,根本没法进行下一步。

  • 去Node.js官网下载LTS版本(长期支持版,稳定)。
  • 安装时默认下一步就行,验证:node –version
    npm –version
    都显示版本号就继续。
  • 安装pnpm:在终端输入:npm install -g pnpm
    验证:pnpm –version
    显示版本号就搞定!🚀

4. 安装FFmpeg音视频处理核心依赖

FFmpeg 保姆级安装教程https://blog.csdn.net/2602_94958286/article/details/159333768?spm=1011.2415.3001.10575&sharefrom=mp_manage_link FFmpeg是用来处理视频音频的,比如提取音频、截截图,必须装!

Windows系统:
  • 去FFmpeg官网下载页,找到Windows EXE Files,推荐从gyan.dev下载(选release builds里的ffmpeg-git-full.7z)。
  • 下载后解压,找到bin文件夹,里面有ffmpeg.exe。
  • 把bin文件夹的路径添加到系统环境变量PATH:
  • 右键“此电脑”→“属性”→“高级系统设置”→“环境变量”。
  • 在“系统变量”里找到Path,点“编辑”→“新建”,把刚才的bin路径粘贴进去(比如D:\\ffmpeg\\bin)。
  • 一路点“确定”保存。
  • 验证:打开新终端,输入:ffmpeg -version
    显示一堆版本信息就成功啦!如果没显示,重启电脑再试。💻
Linux/Mac系统:
  • Ubuntu/Debian:sudo apt install ffmpeg
  • Mac(用Homebrew,没装的话先去Homebrew官网装):brew install ffmpeg
  • 同样用ffmpeg -version验证。

二、部署方式二选一,新手推荐Docker!🐳

方式一:本地运行适合想折腾代码的开发者

1️⃣ 第一大步:下载项目代码并配置

找一个没有中文、没有空格的文件夹(比如直接在D盘根目录建个 Code 文件夹),然后跟着做: 在这里插入图片描述

① 打开终端
  • Windows:在文件夹空白处,按住 Shift 键 + 鼠标右键,选择“在此处打开PowerShell窗口”(或者“在终端中打开”)。在这里插入图片描述

  • macOS/Linux:打开“终端”,用 cd 命令进入你想放项目的文件夹。

② 下载代码

在终端里输入这行命令,然后按回车:

git clone https://github.com/JefferyHcool/BiliNote.git

这步是把GitHub上的代码“下载”到你电脑里,等进度条走完就行。 在这里插入图片描述

要是出现这样提示核心原因是:国内网络访问 GitHub 官方服务器不稳定、连接超时,这是拉取 GitHub 代码时非常常见的问题 在这里插入图片描述

4个解决方案,按「零门槛→进阶」排序,优先试前两个,最快10秒就能解决!


方案一:【小白首选!零门槛,不用git命令】

完全不用折腾终端,直接浏览器下载完整代码,和git clone的效果一模一样,100%能拿到代码:

  • 打开项目的GitHub主页:https://github.com/JefferyHcool/BiliNote
  • 页面右上角找到绿色的 <> Code 按钮,点击它
  • 下拉菜单最底部,点击 Download ZIP,直接下载整个项目的压缩包
  • 下载完成后,把压缩包解压到你原来的 D:\\BiliNoteCode 文件夹里
  • 解压后就能得到完整的 BiliNote 项目文件夹,直接跳过git clone步骤,从教程里的 cd BiliNote 那一步继续操作就行!
  • 方案二:【换国内镜像地址,一行命令解决】

    如果还是想用git命令拉取,不用改任何设置,直接把原来的命令,换成下面任意一个国内镜像地址,复制到终端回车即可:

    优先试这个(gitclone镜像,稳定性最高):

    git clone https://gitclone.com/github.com/JefferyHcool/BiliNote.git

    如果上面的不行,试这个(FastGit镜像):

    git clone https://hub.fgit.cf/JefferyHcool/BiliNote.git

    这些都是国内的GitHub加速镜像,网络比官方地址稳定很多,大概率能直接克隆成功。


    ③ 进入项目文件夹在这里插入图片描述

    下载完成后,输入:

    cd BiliNote

    意思是“进入刚才下载好的 BiliNote 文件夹”。

    ④ 复制配置文件

    这步是把示例配置文件改成正式能用的:

    • 如果你是 Windows:ren .env.example .env
    • 如果你是 macOS/Linux:mv .env.example .env

    这步没报错就不用管它,继续下一步。在这里插入图片描述


    2️⃣ 第二大步:启动后端服务(FastAPI)

    ⚠️ 注意:从这步开始,终端窗口不能关!关了服务就停了!

    ① 进入后端文件夹

    在刚才的终端里继续输入:

    cd backend

    ② 安装后端需要的依赖(用国内镜像,下载更快)

    输入这行命令,然后耐心等它下载完(可能需要几分钟):

    pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

    这步是把后端需要的所有Python库都装好,用清华镜像源是为了避免网络太慢导致下载失败。

    Windows要是出现这样的提示 distutils.errors.DistutilsPlatformError: Microsoft Visual C++ 14.0 or greater is required. Get it with “Microsoft C++ Build Tools”: https://visualstudio.microsoft.com/visual-cpp-build-tools/ 是因为未安装 Microsoft Visual C++ 14.0 + 编译工具,源码构建必然失败,最终触发这个通用的子进程退出错误。 解决方法—- 安装编译工具: 下载 Microsoft Visual C++ Build Tools:https://visualstudio.microsoft.com/visual-cpp-build-tools/; 在这里插入图片描述 运行安装包,勾选「使用 C++ 的桌面开发」,点击「安装」; 安装完成后重启电脑。 重新打开终端,进入 backend 文件夹,执行依赖安装命令: bash 运行 pip install -r requirements.txt –only-binary :all:

    在这里插入图片描述 作者在 requirements.txt 里写死了 aiohttp==3.11.16,但这个版本根本不存在(Python 官方库的版本号不可能是这个数字)。 当前的 Python 3.12/3.11 等稳定版,官方只提供了 0.9.x 到 3.13.3 版本的包,找不到所谓的 3.11.16,

    方案一:直接用 exe 安装包(最推荐,100% 不报错) 双击 exe,安装路径选全英文(如 D:\\BiliNote); 下一步到底,装完双击打开即可使用,不用管任何命令行报错。 方案二:硬改代码,强制装上能兼容的版本(继续跑源码) 如果坚持要跑源码,直接按下面步骤改,一路畅通: 第一步:修改代码里的错误版本 打开文件夹:D:\\BiliNoteCode\\BiliNote\\backend 找到 requirements.txt 文件,右键用记事本打开; 找到写着 aiohttp==3.11.16 的这一行; 把它改成: text aiohttp>=3.11.0 (意思是不卡死版本,用 3.11 以上的版本,肯定能找到) 按 Ctrl+S 保存文件,关闭记事本。 第二步:重新安装依赖 在当前的 PowerShell 终端里,直接复制下面这行命令,回车执行: pip install -r requirements.txt –only-binary :all: 这次就不会再报找不到 3.11.16 的错了,会自动装上最新的兼容版本。 在这里插入图片描述

    又报错?操作步骤: 打开 D:\\BiliNoteCode\\BiliNote\\backend\\requirements.txt 文件。 找到写着 av==14.2.0 的这一行。 把整行删掉(或者在行首加个 # 注释掉它)。在这里插入图片描述 之后的报错也是这个流程,在requirements.txt 文件中删掉对应内容,最后执行pip install -r requirements.txt –only-binary :all:

    在这里插入图片描述 Brotli==1.1.0 这一行,替换为: brotli>=1.0.9

    cffi==1.17.1 这一行,替换为: cffi>=1.15.0 以此类推,慢慢改最后执行pip install -r requirements.txt –only-binary :all:不报错就可进入下一步了

    ③ 启动后端!

    依赖装完后,输入:

    python main.py

    然后盯着终端看,等它出现类似这样的提示: INFO: Uvicorn running on http://0.0.0.0:8000 看到这句话,说明后端启动成功了!这个终端窗口千万不要关!最小化放一边就行!


    3️⃣ 第三大步:启动前端界面(Vite + React)

    ⚠️ 关键:必须新开一个终端窗口!(刚才的后端终端要保持运行)

    ① 新开一个终端
    • Windows:回到你最开始放项目的文件夹(Code 文件夹),再开一个新的终端窗口。
    • macOS/Linux:按 Cmd+T(Mac)或 Ctrl+Shift+T(Linux)新开一个终端标签页。
    ② 进入前端文件夹(⚠️ 这里名字很容易敲错!注意看!)

    在新终端里,先进入项目根目录,再进入前端文件夹:

    cd BiliNote
    cd BillNote_frontend

    ⚠️ 敲黑板!这里是 BillNote_frontend(中间是两个L,少了个i)!不是 BiliNote_frontend!别敲错了!

    ③ 安装前端依赖

    输入这行命令,等它下载完(可能也需要几分钟):

    pnpm install

    如果这步报错,先试试 pnpm -v 确认pnpm装好了,或者检查网络。

    ④ 启动前端!

    依赖装完后,输入:

    pnpm dev

    等终端出现类似这样的提示: Local: http://localhost:5173 恭喜你!前端也启动成功了!


    🎉 最后一步:打开界面开始用!

    打开你的浏览器(Chrome/Edge都行),在地址栏输入刚才终端显示的地址:

    http://localhost:5173

    按回车,你就能看到 BiliNote 的界面啦!

    ❓ 新手常见问题急救包

  • 后端终端报错“找不到python命令”:
    • 解决:Python没装好,或者没勾选“Add to PATH”,回去重装Python,记得勾选那个选项!
  • 前端报错“找不到 BillNote_frontend 文件夹”:
    • 解决:检查你是不是敲错文件夹名字了!是 BillNote_frontend(两个L)!
  • 启动后端时提示“ModuleNotFoundError: No module named ‘xxx’”:
    • 解决:刚才的 pip install 没装全依赖,重新运行一遍 pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple。
  • 浏览器打开 localhost:5173 一片空白:
    • 解决:检查前端终端是不是还在运行,有没有报错,或者刷新页面试试。
  • 生成笔记时提示“FFmpeg not found”:
    • 解决:FFmpeg没装好,或者环境变量没配对,回去重新检查FFmpeg的安装步骤,配完环境变量一定要重启终端!

  • 方式二:Docker一键部署推荐新手/NAS用户

    Docker能把所有环境打包好,不用自己装一堆依赖,超省心!

    前提:先装Docker和Docker Compose
    • Windows/Mac:去Docker Desktop官网下载安装,启动后右下角或菜单栏有Docker图标就行。
    • Linux:参考Docker官方文档安装。

    验证安装:

    docker –version
    docker compose version

    都显示版本号就继续。

    版本1:最新版从主仓库构建

    git clone https://github.com/JefferyHcool/BiliNote.git
    cd BiliNote
    cp .env.example .env # 复制配置文件,后面可以改端口
    docker-compose up -d # 启动容器,-d表示后台运行

    版本2:稳定版官方预构建镜像

    这个更简单,镜像已经做好了,直接拉:

    git clone https://github.com/JefferyHcool/bilinote-deploy.git
    cd bilinote-deploy
    cp .env.example .env # 配置文件看下面说明
    docker-compose up -d

    配置.env文件关键!📝

    打开.env文件(用记事本或VS Code都行),重点看这几个参数:

    变量名示例值说明
    APP_PORT 3015 前端访问端口,比如你改3016,访问就是http://localhost:3016
    TRANSCRIBER_TYPE fast-whisper 语音转写引擎,选fast-whisper本地免费,不用API Key
    WHISPER_MODEL_SIZE base 模型大小,tiny最快但精度低,large精度高但慢,新手推荐base
    DOUYIN_COOKIES (可选) 下载抖音视频才要填,获取方法看下面
    访问与验证
    • 打开浏览器,访问http://localhost:3015(如果你改了APP_PORT就用改后的端口)。
    • 查看容器状态:在终端输入docker-compose logs -f
      看到INFO: Uvicorn running on http://0.0.0.0:8000,说明后端启动成功啦!按Ctrl+C退出日志查看。✅

    三、核心配置让BiliNote真正能用!⚙️

    1. 配置AI模型以DeepSeek为例,免费额度够用!

    BiliNote需要大模型来总结视频,DeepSeek新用户有免费额度,够玩!

  • 去DeepSeek官网注册账号,登录后在“API Keys”里创建一个新Key,复制下来(格式是sk-xxxxxx)。
  • 打开BiliNote前端界面(比如http://localhost:5173或http://localhost:3015),点击左上角菜单→【设置】→【模型供应商】。
  • 选择DeepSeek,填写:
    • API Key:刚才复制的sk-xxxxxx
    • API地址:https://api.deepseek.com
  • 点击【测试连通性】,显示绿色成功提示后,点【保存修改】→【刷新模型】,在模型列表里选deepseek-chat。🤖
  • 2. 语音转写配置本地免费,不用花钱!

    在.env文件里设置(如果是本地运行,改项目根目录的.env;如果是Docker,改部署仓库的.env):

    TRANSCRIBER_TYPE=fast-whisper
    WHISPER_MODEL_SIZE=base # 电脑配置差就选tiny,好就选large

    改完后如果是Docker部署,需要重启容器:

    docker-compose down
    docker-compose up -d

    3.

    安装包版本的语音转写配置和源码/Docker版本略有不同,但核心逻辑一致,而且操作更简单!我帮你一步步说清楚,全程不用敲命令,纯图形界面操作:

    第一步:找到安装包的 .env 配置文件

    安装包的配置文件位置和源码不一样,你按这个路径找:

  • 打开你安装BiliNote的文件夹(比如 D:\\BiliNote);
  • 在文件夹里找名为 .env 的文件(⚠️ 注意:前面有个点,是隐藏文件);
    • 如果看不到隐藏文件:在文件夹顶部点击「查看」→ 勾选「隐藏的项目」;若已经勾选了「隐藏的项目」,但 .env 文件还是没显示,这说明安装包里的 .env 可能被打包到了其他位置,或者需要你手动创建一个。
  • 两种解决办法(按顺序试)

    方法一:手动创建 .env 文件(最直接)
  • 在当前安装文件夹(比如 D:\\BiliNote)里,右键空白处 → 新建 → 文本文档。
  • 把文件名改成 .env(注意:前面有个点,不要加 .txt 后缀)。
    • 如果系统提示「如果改变文件扩展名,可能会导致文件不可用」,点击「是」。
  • 右键这个新的 .env 文件 → 打开方式 → 选择「记事本」。
  • 粘贴下面两行配置(根据你电脑配置选模型大小):TRANSCRIBER_TYPE=fast-whisper
    WHISPER_MODEL_SIZE=base # 低配电脑改成 tiny,高配改成 large
  • 按 Ctrl+S 保存,关闭记事本。
  • 重启 BiliNote(先关了再双击 app.exe 打开),配置就生效了。
  • 方法二:检查 config 文件夹

    如果手动创建后不生效,试试打开文件夹里的 config ,-internal 子文件夹,里面可能有 config.yaml 或 .env 配置文件:

  • 双击打开 config 文件夹;
  • 找有没有 config.yaml、app.env 或 .env 这类文件;
  • 如果有,用记事本打开,在里面添加同样的两行配置,保存后重启软件。 在这里插入图片描述

  • 补充说明

    • 安装包里的 .env 不一定会显示在根目录,手动创建一个是完全可行的,软件会优先读取根目录的 .env 文件。
    • 如果你只是想正常用在线模型生成笔记,完全不用管 .env 文件,直接双击 app.exe 打开就能用,本地语音转写是可选功能。
  • 右键 .env 文件,选择「打开方式」→ 选「记事本」(不要用其他编辑器)。
  • 第二步:修改语音转写配置(复制粘贴就行)

  • 在 .env 文件里找到以下两行(如果没有,直接在文件末尾新增):# 新增/修改这两行
    TRANSCRIBER_TYPE=fast-whisper
    WHISPER_MODEL_SIZE=base
  • 配置说明(按自己电脑情况选):
    • WHISPER_MODEL_SIZE=tiny → 电脑配置差、卡顿(最轻便,免费);
    • WHISPER_MODEL_SIZE=base → 中等配置(推荐,平衡速度和准确率);
    • WHISPER_MODEL_SIZE=large → 高配电脑(准确率最高,稍慢);
  • 改完后按 Ctrl+S 保存,关掉记事本。 在这里插入图片描述
  • 第三步:重启BiliNote(让配置生效)

  • 如果BiliNote正在打开,先关掉(点击窗口右上角×);
  • 重新双击桌面的BiliNote快捷方式打开软件。
  • 核心提醒(安装包专属)

  • ✅ 不用重启Docker/容器、不用启动后端/前端,只需要重启软件就行;
  • ✅ 配置改完后,语音转写会自动用本地的fast-whisper模型,完全免费,不调用任何付费接口;
  • ❌ 不用改任何其他配置,这两行就够了;
  • ⚠️ 第一次用语音转写时,软件会自动下载对应大小的whisper模型(tiny/base/large),耐心等下载完成就行(模型文件不大,tiny只有几十MB,base几百MB)。
  • 四、生成你的第一条视频笔记!📹

  • 输入视频链接:在BiliNote首页,视频平台选“哔哩哔哩”(或你要的平台),粘贴视频链接,比如: https://www.bilibili.com/video/BV1NkoDYiEFM/
  • 选择配置:
    • 模型:选刚才配置的deepseek-chat。
    • 笔记风格:新手推荐“精简”,想详细就选“详细”。
  • 风格名称描述适用场景
    精简风格 提炼视频要点,内容简洁明了 快速预览、效率阅读
    详细风格 记录视频大部分细节,全面呈现 深度理解、学习总结
    教程风格 针对教学内容优化,步骤清晰 教程类视频
    学术风格 结构严谨,用词正式,引用理论 讲座、报告、科研类
    小红书风格 活泼生动,使用流行表达 娱乐、美妆、生活分享
    生活向风格 日常化语气,带有情感色彩 vlog、纪录片类
    任务导向风格 侧重待办、操作清单 工作流、项目管理
    商业风格 商业逻辑清晰,表达精准 财经、市场分析类
    会议纪要风格 结构标准,语言正式 会议总结、线上讨论
    • 笔记格式:勾选【目录】【原片跳转】【原片截图】,这样笔记更直观。
  • 点击【生成笔记】:等待一会儿(时间取决于视频长度,10分钟视频大概等1-2分钟),生成后就能看到结构化的笔记啦!还能复制或导出Markdown。🎉

  • 五、常见问题FAQ新手必看!❓

    如果使用了多种方案部署出错的,先删掉多余方案存放代码的文件夹

    Q1:前端启动报错,说找不到BillNote_frontend目录?

    A:注意目录名是BillNote_frontend(大写B,中间是ll不是li),不是BiliNote_frontend!克隆仓库后用ls(Windows用dir)看看目录名,别敲错。😅

    Q2:启动时提示端口被占用,怎么办?

    A:

    • 本地运行:前端默认5173,后端默认8000。如果被占用,前端可以在BillNote_frontend/package.json里改dev命令的端口(比如pnpm dev –port 5174);后端改backend/main.py里的端口。
    • Docker部署:改.env文件里的APP_PORT,比如改成3016,然后重启容器:docker-compose down
      docker-compose up -d

    Q3:ffmpeg -version提示“不是内部或外部命令”?

    A:

    • Windows:检查环境变量PATH里有没有加FFmpeg的bin路径,加了后重启终端,还不行就重启电脑。
    • Linux/Mac:确保用包管理器安装成功了,再试一次安装命令。🔄

    Q4:测试模型连通性失败,怎么办?

    A:

    • 检查API Key有没有复制错,不要多空格或少字符。
    • 检查API地址是不是https://api.deepseek.com,不要写错。
    • 试试网络能不能访问DeepSeek官网,不行的话换个模型供应商(比如Qwen,去阿里云百炼申请Key)。🌐

    Q5:生成笔记特别慢,怎么办?

    A:

    • 语音转写模型改小一点,比如把WHISPER_MODEL_SIZE改成tiny或base。
    • 如果是本地运行,确保电脑配置不是太差(至少8G内存)。
    • Docker部署的话,看看容器日志有没有报错,用docker-compose logs -f查看。⚡

    Q6:Docker部署后,访问http://localhost:3015打不开?

    A:

    • 确保Docker容器正在运行:docker-compose ps查看状态。
    • 检查端口有没有被占用,或者换个端口试试。
    • 查看容器日志:docker-compose logs -f,看看有没有报错信息。🔍

    Q7:早就配置过 FFmpeg 环境变量但仍提示未安装

    核心原因是:安装包内置的FFmpeg路径和你配置的不一致,或软件优先读取内置路径但识别失败。

    办法1:强制指定FFmpeg路径到.env(最直接,1分钟搞定)

    不用改系统环境变量,直接在你找到的.env文件里写死FFmpeg路径,软件会优先读这个配置:

  • 打开_internal里的.env文件(记事本打开);

  • 在文件末尾新增一行,粘贴你实际的FFmpeg完整路径(替换成你自己的路径):

    # 关键:写ffmpeg.exe的完整路径,不是文件夹!
    FFMPEG_BIN_PATH=D:\\你的FFmpeg路径\\ffmpeg.exe
    # 示例:FFMPEG_BIN_PATH=D:\\software\\ffmpeg\\bin\\ffmpeg.exe

  • 按Ctrl+S保存,完全关闭BiliNote(包括后台进程),重新双击app.exe打开。 在这里插入图片描述

  • 还是不行的话改成bin 在这里插入图片描述 再不行就在.exe同级新建.env文件,加入如图内容在这里插入图片描述

    到资源管理器中,找到bilinoteBackground,关闭再重启exe在这里插入图片描述

    还是不行:删除 bili_note.db

    办法2:验证FFmpeg是否真的配置成功(排查假配置)

    很多时候看似配置了环境变量,实际没生效,按这个步骤验证:

  • 按Win+R输入cmd,打开命令提示符;
  • 输入where ffmpeg,回车;
    • ✅ 成功:会显示ffmpeg.exe的完整路径(比如D:\\software\\ffmpeg\\bin\\ffmpeg.exe);

    • 在这里插入图片描述

    • ❌ 失败:提示“找不到文件”,说明环境变量配置错了(路径输错/没重启电脑/配到用户变量而非系统变量)。

  • 如果where ffmpeg能找到路径,复制这个路径,按办法1写到.env里即可; 如果找不到,重新按「系统变量-Path-新建」配置,必须重启电脑再验证。
  • 办法3:替换安装包内置的FFmpeg(终极方案)

    如果以上都不行,说明安装包内置的FFmpeg可能损坏,直接替换成官方版:

  • 去FFmpeg官网(https://ffmpeg.org/download.html)下载Windows版(选“full build”);
  • 解压后,把bin文件夹里的ffmpeg.exe复制;
  • 粘贴到BiliNote安装目录的_internal/bin(或_internal根目录),覆盖原有文件;
  • 按办法1在.env里指定这个新的ffmpeg.exe路径,重启软件。

  • 核心总结

  • 环境变量配置后必须重启电脑才生效,这是最容易漏的步骤;
  • 软件优先读取.env里的FFMPEG_BIN_PATH,比系统环境变量优先级高;
  • 不用纠结“早就配置过”,重点看cmd里where ffmpeg能否找到路径——能找到就写进.env,找不到就是配置没生效。

  • 六、项目资源与反馈📚

    • 官方GitHub仓库:JefferyHcool/BiliNote
    • Docker部署仓库:JefferyHcool/bilinote-deploy
    • 问题反馈:去GitHub提Issue,或者加QQ群785367111交流(群号来自官方文档)。

    总结🎯

    跟着这篇教程走,你应该已经成功部署BiliNote并生成第一条笔记啦!BiliNote功能很强,还能支持多模态理解、多版本笔记,慢慢探索吧!有问题记得看FAQ,或者去社区提问,动手试试才是最快的学习方式!加油!💪


    原创声明:本文为原创技术教程,转载请注明出处。

    参考资料:

    • BiliNote官方GitHub仓库
    • Git官网
    • Python官网
    • Node.js官网
    • FFmpeg官网
    • Docker官网
    • DeepSeek官网

    如果本文对你有帮助,欢迎点赞👍、收藏⭐、评论💬! 在这里插入图片描述

    个人领域:C++/java/Al/软件开发/芯片开发 个人主页:「一名热衷协作的开发者,在构建中学习,期待与你交流技术、共同成长。」 座右铭:「与其完美地观望,不如踉跄地启程」 在这里插入图片描述

    赞(0)
    未经允许不得转载:171主机测评 » 【开源AI视频笔记工具】BiliNote部署教程:本地+Docker双方案,小白也能轻松上手!
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址