mirror of
https://github.com/JefferyHcool/BiliNote.git
synced 2026-05-12 02:20:18 +08:00
web 端 NoteForm 早就有 video_understanding / video_interval / grid_size 三件套, 插件之前没有,导致用户在视觉模型上想用「画面理解」时只能去 web 端发任务。 新增字段(types.ts Settings 与 GenerateRequest 同步): - video_understanding: boolean,默认 false(关) - video_interval: number,1-30 秒,默认 6(与 web NoteForm 默认一致) - grid_size: [number, number],1-10,默认 [2,2] UI 落地: - popup 「高级」折叠区:开关 + interval + grid_size 行/列三栏,启用时才显示后两个, 并提示需要选视觉模型 - options General 页:单独一节「视频理解(多模态)」展开同样字段 - popup start() 与 background startTask() 在 generate_note 请求里带上这三个字段; 关闭时不传(避免覆盖 backend 默认) 回归风险:默认 false,对现有用户行为不变。 依赖:feature/extension-form-parity(叠加在它之上,因为 Settings 是同一片字段域)。 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
BiliNote 浏览器插件
把 BiliNote 的"视频链接 → Markdown 笔记"能力下沉到浏览器插件。当前为 P1 MVP(仅工具栏 popup)。
当前状态(P1 MVP)
- ✅ 工具栏图标 popup:自动读当前 tab URL,识别支持平台,触发笔记生成
- ✅ 设置页:后端地址、供应商/模型、画质、截图/跳转/风格默认值
- ✅ 任务进度可视化、Markdown 渲染、复制 / 下载 .md
- ✅ chrome.storage.local 持久化设置和最近 30 个任务
- ⏳ P2:视频页悬浮按钮 + 右键菜单 + 浏览器 cookie 直通
- ⏳ P3:side panel + 思维导图(markmap)
- ⏳ P4:RAG 问答
开发
依赖:node 20+ / pnpm 9+
cd BillNote_extension
pnpm install
pnpm dev # watch 模式,产物输出到 ./extension/
加载到 Chrome:
chrome://extensions/→ 打开右上"开发者模式"- 点"加载已解压的扩展程序",选
BillNote_extension/extension/目录 - 启动后端:
cd backend && python main.py(默认 8483) - 浏览器开任意支持的视频页(B 站 / YouTube / 抖音 / 快手),点工具栏 BiliNote 图标
- 首次使用先打开"设置",填后端地址 → 选供应商 + 模型
后端要求
后端 backend/main.py 的 CORS 白名单已通过 regex 兼容 chrome-extension://、moz-extension:// 与本地 web。无需新增任何 backend endpoint。
构建发布
pnpm build # 产物 → ./extension/
pnpm pack:zip # 打包 → ./extension.zip (上传 Chrome Web Store)
pnpm pack:crx # 打包 → ./extension.crx
pnpm pack:xpi # 打包 → ./extension.xpi (Firefox)
与桌面端的关系
桌面 web 端(BillNote_frontend/)继续负责:供应商/模型管理、转写器配置、笔记历史。
插件不复刻这些管理界面,仅消费已配置好的供应商。
致谢
骨架基于 vitesse-webext(Antfu)。