Files
BiliNote/CHANGELOG.md
huangjianwu 1aea86a8d6 docs: v2.1.4 CHANGELOG + README 版本
CI 工程化修复,无运行时行为变化。详见 CHANGELOG.md。

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-07 16:44:49 +08:00

8.1 KiB
Raw Blame History

Changelog

本项目所有重要变更记录于此。格式参考 Keep a Changelog,遵循 语义化版本

[2.1.4] - 2026-05-07

CI 工程化修复,无运行时行为变化。

Internal

  • 桌面端 Tauri 构建矩阵去掉 Linuxubuntu-22.04 / x86_64-unknown-linux-gnu。Linux 桌面端构建持续 17m+且无对应分发渠道Linux 用户继续可以走 Docker 镜像 (ghcr.io/jefferyhcool/bilinote)
  • commitlint workflow 去掉无效的 firstParent inputwagoid/commitlint-github-action@v6 不支持,被忽略并打 warn
  • 规范 release merge commit 标题:chore(release): vX.Y.Z(合 master/ chore(release): merge release/X.Y.Z back into develop(回灌 develop让 commitlint 能正确识别。RELEASING.md §3 与 CONTRIBUTING.md §6.3 同步更新

[2.1.3] - 2026-05-07

Fixed

  • DeepSeek 等非多模态供应商被 400 拒绝issue #282UniversalGPT.create_messages_build_merge_messages 此前无条件把 content 拼成 OpenAI 多模态数组 [{"type":"text",...}]DeepSeek deepseek-chat 等模型不识别 image_url 变体直接报 invalid_request_errorGPTFactory.from_config 一律实例化 UniversalGPT,所以问题覆盖所有通过模型设置页接入的非多模态供应商,不止 DeepSeek。
    • 现按 video_img_urls 是否非空切换 content 形态:有图保留多模态数组(视觉模型不退化),无图退回 string。合并阶段历来不带图统一改 string。
    • 与同包内 deepseek_gpt.py / openai_gpt.py / qwen_gpt.py 的 message builder 行为对齐。
    • 新增 backend/tests/test_universal_gpt_content_format.py 6 个 case 回归覆盖(含 image_url 字面 not-in JSON 断言)。

感谢 @voidborne-d 的修复(#345

[2.1.2] - 2026-05-07

补 v2.1.1 上 ghcr.io 镜像构建失败的坑。

Fixed

  • Docker 镜像构建失败v2.1.1 tag 触发的 ghcr.io 推送在 frontend-builder 第 7/7 步 pnpm run build 挂掉vite loadConfigFromBundledFile 加载 @tailwindcss/vite plugin 时 1.5s 内异常退出)。
    • Dockerfile.completeBillNote_frontend/Dockerfilenode:18-alpinenode:20-alpineTailwind v4 已不再支持 Node 18Vite 6 也推荐 Node 20+
    • Dockerfile.complete 的 frontend 阶段同时复制 pnpm-lock.yaml 并改用 --frozen-lockfile,杜绝每次构建重解析 semver 拉到比本地新的 native dep
    • BillNote_frontend/pnpm-lock.yaml 强制入库(之前一直未提交,导致 CI / 本地依赖图持续漂移)
  • README 联系社区段补上微信群二维码(之前只写"年会恢复更新以后放出最新社区地址"

[2.1.1] - 2026-05-07

工程化与文档收尾,无运行时行为变化。

Added

  • CONTRIBUTING.md — 贡献指南,落地简化 Git Flowmaster + develop + 短生命周期分支)+ 提交规范 + 合并规范
  • RELEASING.md — 发版手册Release Manager 视角),含 release/* 流程 + 各商店人工上传步骤 + 自动发布所需 secrets
  • .github/ISSUE_TEMPLATE/{config,bug_report,feature_request}.yml — 表单形式的 issue 模板,按工作区分类
  • .github/pull_request_template.md — PR 模板,把 CONTRIBUTING §5.2 落成 checklist
  • .commitlintrc.json + .github/workflows/commitlint.yml — commitlint CIPR + push develop/master 时校验,自定义 type 白名单,兼容中文 subject
  • .github/workflows/release-extension.ymlv* tag push 时自动构建插件 .zip / .xpi / .crx 并挂到对应 GitHub Release商店自动发布以注释形式预留

Changed

  • 关于页二维码改为 import @/assets/wechat.png,不再依赖腾讯云 COS CDN更新只需替换文件 + 跑构建
  • 群聊 QR 替换为最新版本(doc/wechat.png + BillNote_frontend/src/assets/wechat.png

Removed

  • 关于页 QQ 群联系方式(号 785367111已不再活跃维护
  • 旧版 .md 格式 issue 模板(被新 yml 表单模板取代)

[2.1.0] - 2026-05-07

本次发布的主线是浏览器插件B 站字幕优先链路。配合一些后端 / 前端体验修复。

Added — 浏览器插件 (BillNote_extension/)

全新 Chrome / Edge / Firefox MV3 扩展。Vue 3 + Vite + UnoCSS骨架基于 vitesse-webext。

  • 入口四件套
    • 工具栏 popup识别当前 tab → 一键提交,紧凑展示标题 + 封面 + 进度
    • 视频页悬浮按钮:仅在支持平台注入,点击即触发任务
    • 右键菜单"用 BiliNote 总结此视频":限定 4 个支持域名
    • 侧边栏side panel详情视图 + 三模式切换
  • 侧边栏三视图
    • Markdown渲染笔记复制 / 下载 .md
    • 思维导图:基于 markmap-lib + markmap-view 的可缩放 mind map
    • AI 问答:复用后端 RAG /chat/index/chat/status/chat/ask 三件套,自动索引 + 多轮历史
  • 设置页五大块(搬入 web 端全部配置能力,今后插件即配置中心)
    • 通用:后端地址、连通性测试、默认供应商 / 模型 / 画质 / 截图 / 跳转 / 风格
    • 模型供应商:完整 CRUD、启用切换、连接测试、模型增删
    • 音频转写配置fast-whisper / mlx-whisper / Groq / 必剪 / 快手 切换、Whisper 模型大小、本地下载状态、触发下载
    • 下载配置:每平台 cookie 显示、浏览器一键同步、手动粘贴
    • 部署监控:后端 / FFmpeg / CUDA / Whisper 状态总览
  • 浏览器 cookie 直通chrome.cookies.getAll 一键把 .bilibili.com 等域 cookie 同步到后端 /api/update_downloader_cookie
  • B 站字幕浏览器抓取:插件直接调 player API 拿字幕,借 host_permissions 自动带本地登录态 cookie绕过 CORS随提交以 prefetched_transcript 字段附给后端,后端跳过 download_subtitles + 音频转写,直接进 GPT 总结

Added — 后端

  • BilibiliSubtitleFetcherapp/downloaders/bilibili_subtitle.py):直接调 B 站 player API 拿字幕,作为非插件场景下 yt-dlp 路径的更可靠替代
  • VideoRequest.prefetched_transcript 字段:客户端预取的字幕直接落到 <task_id>_transcript.jsonNoteGenerator cache-hit 自动复用

Added — 前端 Web

  • Zustand persist 迁移到 IndexedDB#318

Changed

  • 后端 CORS从静态 origin 列表改为 regex兼容 chrome-extension://moz-extension://localhosttauri.localhost
  • mlx-whisper 仓库 ID 改用 MLX_MODEL_MAPwhisper-{size}-mlx 命名(large-v3-turbo 例外),不再 hardcode 出 404
  • BilibiliDownloader 从 CookieConfigManager 读取 cookie 并注入 yt-dlp cookiefile#333
  • CLAUDE.md 补充 v2.0.0 引入的子系统说明RAG / Chat、可选 Nacos+RabbitMQ、i18n、cookie/transcriber 管理器)以及浏览器插件 workspace

Fixed

  • AILogo自定义供应商logo='custom')走兜底渲染时不再误报 console.error,未匹配的名称降级为 warn
  • SettingPage Model.tsx 双栏布局加 min-h-0 overflow-y-auto:供应商列表过长时无法滚动
  • 供应商开关切换不能实时生效(#336
  • /get_all_providers 中 301 行历史伪内置脏数据清理 + add_provider 加防御(强制 type='custom'、同名查重、错误向上抛)
  • /api/task_status 拆 ResponseWrapper插件侧进度条因未拆 data 全灰;同时把 R.error 翻译为 status:'FAILED',避免 UI 卡在轮询循环
  • ESLint / ESM __dirname 在 production build 中未定义(多个 docker / vite 配置修复)
  • GitHub Actions 构建错误 + apt-get 安装失败 + 删除仓库内 ffmpeg 二进制
  • 渲染时剥掉 backend 注入的 > 来源链接URL 行(与 web 端 MarkdownViewer 一致),导出文件保留原行便于溯源
  • 侧边栏布局收紧:完成后不再渲染 8 段进度条;标题压成单行;视图切换 + 复制 / 下载并入一行;历史任务从底部 details 改为顶栏下拉

Internal

  • 新增分支策略:develop / release/x.y.z / master git-flow
  • 备份 backend SQLite DB 前 / 清理脏数据后均落盘存档