Files
BiliNote/BillNote_extension
huangjianwu 799ab64a28 feat(extension): NoteForm 字段对齐 web 端(style 预设 + format 完整 + extras)
之前插件 popup / options 的笔记选项跟 web 端 NoteForm 不齐,存在三处差距:

1. style 字段实质 broken
   · backend prompt_builder.get_style_format 是 enum 映射(minimal/detailed/
     academic/tutorial/xiaohongshu/life_journal/task_oriented/business/
     meeting_minutes 共 9 个),不命中直接 return ''
   · 插件原来给的是自由文本框,用户填什么都对不上 enum,等于没传
   · 改:popup + options 都换成 9 个预设的下拉框,与 backend 严格对齐
2. format 字段缺一半
   · backend 支持 toc / link / screenshot / summary 四个
   · 插件只暴露了 screenshot / link 两个 checkbox
   · 改:types.ts 新增 NOTE_FORMATS 常量,UI 渲染完整 4 个 checkbox。
     生成请求时 format 数组、screenshot/link 单布尔由 settings.formats 派生,单一真相源
3. 缺 extras 字段
   · backend VideoRequest.extras 直接拼到 prompt 末尾给 LLM
   · 改:popup 折叠的"高级"区 + options 默认生成选项区都加 textarea

Settings 默认值:style='minimal'、formats=['toc','summary']、extras=''。
旧 settings 里若 style 是无效字符串,下拉会显示空白,用户重选一次即可。

logic/types.ts:
- 新增 NoteStyle / NoteFormat type alias 与 NOTE_STYLES / NOTE_FORMATS 常量
- Settings 接口加 formats: NoteFormat[] / extras: string,style 改为 NoteStyle
- 老的 screenshot / link 布尔保留(向后兼容旧 storage),但 UI 不再绑定,submit 时也由 formats 派生

popup / background / options 三处提交 generate_note 的逻辑同步收口。

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-07 17:18:28 +08:00
..
2026-05-07 11:40:15 +08:00

BiliNote 浏览器插件

把 BiliNote 的"视频链接 → Markdown 笔记"能力下沉到浏览器插件。当前为 P1 MVP仅工具栏 popup

当前状态P1 MVP

  • 工具栏图标 popup自动读当前 tab URL识别支持平台触发笔记生成
  • 设置页:后端地址、供应商/模型、画质、截图/跳转/风格默认值
  • 任务进度可视化、Markdown 渲染、复制 / 下载 .md
  • chrome.storage.local 持久化设置和最近 30 个任务
  • P2视频页悬浮按钮 + 右键菜单 + 浏览器 cookie 直通
  • P3side panel + 思维导图markmap
  • P4RAG 问答

开发

依赖node 20+ / pnpm 9+

cd BillNote_extension
pnpm install
pnpm dev      # watch 模式,产物输出到 ./extension/

加载到 Chrome

  1. chrome://extensions/ → 打开右上"开发者模式"
  2. 点"加载已解压的扩展程序",选 BillNote_extension/extension/ 目录
  3. 启动后端:cd backend && python main.py(默认 8483
  4. 浏览器开任意支持的视频页B 站 / YouTube / 抖音 / 快手),点工具栏 BiliNote 图标
  5. 首次使用先打开"设置",填后端地址 → 选供应商 + 模型

后端要求

后端 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-webextAntfu