AI 陪你一起看视频,实时生成结构化学习笔记。支持 YouTube、Bilibili,深度集成 Obsidian。
LensNote 是一个跨平台浏览器扩展程序,利用多模态大模型和语音转写技术,在你观看在线视频(如 YouTube 和 Bilibili)时,自动为你实时提取字幕、分析视频画面(包括代码、图表、公式等),并生成带有时间戳的结构化 Markdown 笔记。
| 功能 | 描述 |
|---|---|
| 🎬 实时笔记生成 | AI 边看视频边写笔记,每 10~30 秒(可在设置中配置)自动分析一段内容并生成 Markdown 笔记。 |
| 👁️ 多模态视觉分析 | 不只听语音——AI 还能"看"画面,自动提取代码、公式、图表、PPT 内容。 |
| 🎤 高质量语音转录 | 借助 Groq Whisper 云端转录,支持多语言,转写速度极快。 |
| 📷 时间戳截图 | 一键截取视频画面,自动嵌入笔记并标注时间戳。 |
| ⏱️ 时间戳跳转 | 点击笔记时间标签即可快速跳回视频的对应位置。 |
| 🗂️ 本地 Obsidian 集成 | 笔记通过 File System Access API 直接写入本地 Obsidian Vault,完美支持 YAML frontmatter 与双向链接。 |
| 🌐 跨平台支持 | 原生支持 YouTube 与 Bilibili(更多平台持续添加中)。 |
非常重要:您的数据完全由您掌控!
- 零中心化后端:本扩展没有您与 AI 提供商之间的中间服务器。所有音频片段和截图均直接从您的浏览器通过官方 API 端口(或您自定义的端点)发送给 AI 提供商(如 OpenAI、Groq、Anthropic 等)。
- 密钥安全存储:您的所有 API Keys 均仅保存在浏览器本地(
browser.storage.local),且与常规设置分离存储,绝不会上传至任何云端。 - 完全本地的笔记库:当您授权写入 Obsidian 等本地文件夹时,本插件直接通过现代浏览器的
File System Access API对本地进行读写,不会在云端保存您的笔记副本。
由于插件尚未上架扩展商店,需要开发者模式加载:
- 克隆本项目:
git clone https://github.com/your-repo/LensNote.git cd LensNote/extension - 安装依赖并构建:
npm install npm run build # 构建 Chrome 版本 - 加载到 Chrome、Edge 等基于 Chromium 的浏览器:
- 打开
chrome://extensions/ - 开启右上角的「开发者模式」
- 点击左上角「加载已解压的扩展程序」,选择项目中的
.output/chrome-mv3目录。
- 打开
- 安装后,点击浏览器栏右上角的 LensNote 图标,进入设置页面 (Options)。
- 配置你所需的 API Keys:
- 多模态大模型(如 GPT-4o, Claude 3.5 Sonnet, Gemini 或 GLM-4V,用于同时负责分析视频画面+归纳生成笔记)。
- Groq Key(选配,用于加速 Whisper 语音转写以降低主力模型压力)。
- (可选)在设置中指定你的 Obsidian Vault 本地文件夹,授权扩展直接将生成的 Markdown 文件和图片写入此目录。
LensNote 提供高效的双轨 AI 工作流,目前你只需配置一个多模态大语言模型(搭配选配的语音转录模块)即可完成所有任务:
| 阶段 | 推荐服务模型 | 作用 | 说明 |
|---|---|---|---|
| ① 语音转录 (选配) | Groq (whisper-large-v3) |
音频片段 → 高质量字幕 | 提供极致速度的语音听写,减轻大模型负担。 |
| ② 视觉与笔记生成 | OpenAI GPT-4o / Claude / Gemini / 智谱 GLM 等多模态模型 | 提取画面信息 + 汇聚上下文生成笔记 | 在插件设置中配置单一的主力 API 即可同时完成画面识别与结构化 Markdown 笔记的编写。扩展内部会自动将请求组装给同一模型处理。 |
注:目前扩展暂不支持将“视觉识别”和“文本归纳”分为两个不同模型处理(如 GLM-4V + DeepSeek),只需填入一个支持视觉能力的多模态模型(如 gpt-4o, glm-4v-plus, gemini-2.0-flash)的 API Key,即可实现无缝流畅的体验。
Q: 遇到 Groq ASR error (403) 怎么办?
A: api.groq.com 在部分网络直连环境下可能受限。请确保你的代理覆盖了浏览器的扩展请求。如果你没有 Groq 密钥,扩展会自动降级为“仅依赖视频画面的视觉分析模式”以继续尝试生成笔记(但准确度会下降)。
Q: 如何切换或使用国内的大模型中转? A: 在设置页面的 AI 模型提供商下拉菜单中,选择“自定义 (Custom)” 或者修改内置的 API Base 地址,将你的中转网址和对应 API Key 填入即可。
Q: Obsidian 授权每次重启浏览器都要点吗?
A: 扩展尝试使用 IndexedDB 记住你选定的目录句柄(DirectoryHandle),一般情况下可保持长期访问,但浏览器清理缓存或严格安全策略时,可能会要求你重新点击授权。
LensNote 不是单页应用(SPA),而是围绕 WXT 构建的完整浏览器扩展体系:
- Content Script (
entrypoints/content.ts): 在 YouTube / Bilibili 页面注入,接管<video>元素,提取画面帧,并嵌入“启动笔记”UI 按钮。 - Background Worker (
entrypoints/background.ts): 背景编排核心。负责接收来自视频页面的分块数据,与大模型通信并行发送请求,以及协调写库逻辑。 - Offscreen Document (
entrypoints/offscreen/main.ts): 绕开头痛的权限限制,利用tabCapture与MediaRecorder在离屏后台悄悄录制系统音频切片。 - Sidepanel (
entrypoints/sidepanel/App.tsx): 实时呈现核心模块提取到的结构化笔记内容,并提供手动修改、截图插入、时间戳跳转等互动界面。
# 启动 Chrome 开发模式带热重载 (Hot Reload)
npm run dev
# 启动 Firefox 开发模式
npm run dev:firefox
# TypeScript 类型检查
npm run compile
# 运行单元测试
npm run test- Chrome MV3 基础架构
- 基于语音+视觉的 AI 笔记生成工作流
- YouTube + Bilibili 支持
- 实时侧边栏 Markdown 渲染与内联编辑
- Obsidian Vault 实时写入与本地截图留存
- 音频/画面/自动等模式智能回退
- 允许用户编写自定义的 System Prompt 和支持康奈尔/极简等特定笔记模板
- 支持分离配置视觉模型与生成模型 (如 GLM-4V + DeepSeek)
- 针对 Firefox 的兼容打磨
- 更多视频平台如 Coursera, Udemy 等
本项目基于 MIT License 许可 - 详情请查看 LICENSE 文件。