The project's README from github.com/joeseesun/qiaomu-clipper. As one markdown file: README.md.
中文 | English
别让好文章和好视频,停在「收藏过」。
边读边问 AI,边看视频边记理解,把内容与想法存进 Obsidian。
Read, watch, ask AI, and turn what you learn into Obsidian notes.
安装并体验最新功能 · 看功能截图 · 快捷键 · 反馈问题

当前为 Chrome 开发版,尚未上架应用商店。 本页介绍当前
main的功能;完整体验请按下方步骤从源码安装。不想装 Node.js?可直接下载 1.11.1 预览包(与当前main一致);更早的版本(如 1.10.0)没有视频字幕工具栏;B 站视频页的字幕工具栏从 1.11.0 起提供。截图采用实际界面组件与示例数据,视频区域展示封面预览;截图说明。
| 你遇到的痛点 | 直接这样做 | 得到什么 |
|---|---|---|
| 收藏一堆文章,还是没读懂 | aaa 进入阅读页,划线或选中一段问 AI |
干净正文、局部解释,阅读与提问留在同一页 |
| 看视频时,播放器和文稿来回切 | YouTube / B 站按 aaa,点击字幕时间戳 |
视频与字幕同屏,回到想复习的那句话 |
| 外语字幕看得慢,找一句话又要拖进度条 | 打开「中文翻译」,搜索字幕关键词 | 原文、中文、时间戳对照,字幕也能复制和下载 |
| 视频里突然有想法,切去记笔记就忘了 | 按 N 打开小卡片,写下「我的理解」 |
带来源与时间点的记录追加到今天的 Obsidian 日记¹ |
| 每次问 AI 都要重写回答要求 | 对话设置里保存全局指令、常用提示词 | 固定语言和回答方式,字体、字号也按你的习惯来 |
| 剪藏弹窗太小,整理标题和正文费劲 | eee 进入整页编辑器,收起目录腾出空间 |
属性与 Markdown 并排,编辑完直接剪藏 |
| 保存一篇文章总要反复点按钮 | qqq 用默认模板剪藏 |
快速保存到 Obsidian;是否公开分享到 RSS 由开关决定 |
¹ 写入今天日记需要安装本地助手并启用 Obsidian「日记」核心插件,详见学习笔记。
需要:Node.js 22+、npm、Chrome;保存笔记需要 Obsidian。
git clone https://github.com/joeseesun/qiaomu-clipper.git
cd qiaomu-clipper
npm ci
npm run build:chrome
chrome://extensions,开启右上角「开发者模式」。dist 文件夹。aaa。先试一条完整流程: 打开视频 → aaa → 点时间戳回看 → 按 N 写理解。只想读文章和复制字幕,无需配置 AI;写入日记需先装下方助手。
下载 Chrome ZIP,解压后在 chrome://extensions 开启「开发者模式」,点「加载已解压的扩展程序」选择解压目录。发布说明。装好后请刷新已打开的 YouTube 页面,字幕工具栏才会出现;请勿使用 1.10.0 及更早版本,它们没有视频字幕工具栏。装好后请刷新已打开的 B 站页面;B 站只给已登录账号提供字幕。
安装可选的 本地助手:需要 Python 3.9+,支持 macOS / Linux 的 Chrome 系浏览器(Chrome / Edge / Brave / Arc 等),Windows 暂不支持。先装好扩展,再在仓库里运行(无需任何参数,自动识别扩展 ID 和 Obsidian 库):
python3 native/install.py
输出 "ok": true 即安装成功,然后在 chrome://extensions 重新加载扩展。遇到「本地保存助手未连接」,运行 python3 native/install.py --check 诊断。
让 AI agent 代装:把这句话发给 Claude Code / Codex:「帮我安装乔木剪藏的本地保存助手:克隆 https://github.com/joeseesun/qiaomu-clipper ,在仓库里运行 python3 native/install.py,不要手动编造扩展 ID 或库路径;ok: false 时按 error / hint 处理,有多个库时问我用哪个。」
普通剪藏默认通过 Obsidian URI 保存;助手可直接写入库内文件。
学习笔记的日记追加也由助手完成。升级扩展后,按助手文档重新运行一次 native/install.py;在 Obsidian 中启用「日记」核心插件。目前要求纯数字日期格式(如 YYYY-MM-DD),不支持日记模板。目标不满足条件时会显示原因并保留草稿。日记设置与保存说明。
更新源码后,重新运行 npm run build:chrome,并在扩展管理页点「重新加载」。
以下暖色配图是 AI 生成的功能概念插画,用于说明工作流;可展开查看界面截图。视频配图中的“书”是阅读体验的比喻。完整素材与提示词见功能插画图集。


在 YouTube / B 站视频页按 aaa,先进入学习页并显示播放器,再异步加载字幕。字幕还没准备好时也不用卡在剪藏面板;失败可在原地重试,播放器保留。
B 站使用官方嵌入播放器:点击时间戳会按该秒重新加载,高亮只跟随点击行;字幕通常需要登录 B 站。字幕是否可用也取决于视频、站点加载和网络条件。视频工作区说明。

原文与中文译文对照阅读,保留原始时间戳;读到某一句时,可以点击时间戳回看对应片段。翻译使用你配置的 AI 模型,字幕是否可用取决于视频与平台。
视频页右栏顶部常驻「转写条」:字幕 / 复制 / 下载 / 沉浸学习 / 设置。展开即可搜索、看当前播放行或点时间跳转;「沉浸学习」进入完整学习页。可自动打开 YouTube 原生转写面板作为字幕来源,设置里可关闭。上图为转写条组件预览,使用示例字幕。


不用切走视频,也不用先建一篇新笔记。按 N(或在任意网页三连按 iii),底部居中出现一张小卡片,不挡视频,也不压右侧的聊天栏。不选文字也能记,想到什么写什么。
实际写入需要上面的本地助手(升级后重新运行一次 native/install.py);截图使用示例视频和演示库,并未写入真实笔记库。


点顶栏魔法棒,展开右侧对话面板;全文或选中段落作为上下文,回答流式显示并支持 Markdown。中间分隔线可拖动;对话历史按文章保存,下次打开可继续聊。回答可复制、加入笔记或通过学习卡片加入日记。

标题栏的 设置按钮支持:
支持 OpenAI 兼容接口、Anthropic、Google Gemini、Ollama 等,由你提供模型和 API Key。模板也可使用 {{"这篇文章的三点摘要"}} 自动生成笔记内容;默认不自动运行 AI,可在设置中调整。


在顶栏 Aa 调整字体、字号、行距与配色;内置朱雀仿宋、宋体、楷体、苹方等中文字体,也可选本机字体。正文支持划线与 ==高亮==,顶栏显示划线数量。
阅读目录与编辑侧栏都能收起 / 展开,并记住状态,长文章保留导航,需要空间时让正文铺开。阅读与编辑一键切换,共用顶栏与草稿流程,修改后内容同步。


标题、标签、来源等属性与 Markdown 正文并排编辑,完成后直接复制、下载或剪藏。滚动时顶栏可收起,向上滚动或移到顶部再次出现。

常用动作放在前面:阅读 / 复制 / 下载 / 编辑;模板、保存位置与 RSS 分享按需展开。模板需要 AI 时显示处理状态,失败给出原因并允许重试;默认模板与自动匹配规则减少重复选择。

用模板统一属性与 Markdown 正文,按网址或页面数据自动匹配;需要摘要时加入 AI 提示变量,由你配置的模型按需生成。模板、模型和 API Key 均可自行设置,默认不自动运行 AI。

剪藏时勾选「分享到乔木 RSS」,在保存到 Obsidian 的同时提交到公开读者提交源,方便其他人订阅。此选项默认关闭(设置页可改为默认开启),投稿内容会公开。 本地保存和公开投稿分别显示结果,阅读、编辑与学习笔记的日记保存不会触发投稿。

在非输入框内快速连按同一个键 3 次(相邻按键间隔不超过约 0.6 秒):
| 默认按键 | 动作 |
|---|---|
aaa |
网页阅读;YouTube / B 站视频学习 |
eee |
整页编辑 |
qqq |
用默认模板直接剪藏 |
iii |
在任意网页打开学习笔记小卡片(选中的文字成为摘录;YouTube / B 站自动记录当前播放时间) |
| 选中文字 → 右键「保存到日记」 | 同一张笔记卡片,选中的文字作为摘录 |
N(学习页) |
在阅读、学习页打开同一张笔记卡片 |
三连击的字母或数字可自定义,留空可关闭;可按网站禁用。在输入框中打字或带 Ctrl / Cmd / Alt / Shift 时不触发。浏览器内部页(如 chrome://)不允许扩展脚本。直接剪藏的 AI 处理失败时不会保存未替换的提示变量。
npm test # 单元测试(测试时区已固定,结果不依赖本机)
npx tsc --noEmit # 类型检查
python3 -m unittest discover -s native -p 'test_*.py' # 本地助手测试
npm run build:chrome # 构建 dist/
src/:弹窗、阅读页、编辑页、AI 对话、设置与后台脚本。native/:静默保存助手及安装器,Windows 暂不支持。integration/qmreader/:RSS 接口参考实现与测试,不随扩展 ZIP 打包。暖色功能插画由 AI 生成,不是界面截图;完整素材与提示词见功能插画图集。界面截图基于生产界面样式或组件渲染,示例文章与字幕用于展示交互。截图来源与验收边界。
基于 Obsidian Web Clipper,网页正文提取使用 Defuddle,图标来自 Lucide。内置字体 朱雀仿宋 使用 SIL Open Font License 1.1,许可文本见 src/fonts/ZhuqueFangsong-OFL.txt。本项目以 MIT 许可发布,由 joeseesun 维护。
Turn saved articles and watched videos into something you understand — and keep it in Obsidian.
Qiaomu Clipper combines web clipping, a clean reader, a full-page Markdown editor, contextual AI chat, and video study. Press aaa on YouTube or Bilibili to study with the player and transcript together. Search, seek, copy, download, translate, and take notes without leaving the page.
Install current features · Screenshots · Report an issue
Chrome development build; not yet on the Chrome Web Store. This README describes current
main. The downloadable 1.11.1 preview matches currentmain(no Node.js needed; refresh open YouTube tabs after installing). Earlier releases such as 1.10.0 lack the video transcript bar (Bilibili's arrives in 1.11.0; Bilibili only serves subtitles to signed-in accounts). Screenshots use production components with sample articles, captions, AI responses and daily-note targets; the video area is a cover preview. See screenshot provenance.
Requires Node.js 22+, npm, Chrome, and Obsidian to save notes.
git clone https://github.com/joeseesun/qiaomu-clipper.git
cd qiaomu-clipper
npm ci
npm run build:chrome
Open chrome://extensions, enable Developer mode, choose Load unpacked, and select dist. Open an article or video, then press aaa outside an input field. Rebuild and reload the extension after pulling updates.
For AI chat or translation, configure your own model and API key in the extension's AI settings. Reading and copying captions do not require AI. To save silently or append learning notes to today's daily note, install the optional Python 3 local helper for macOS / Linux Chrome; run python3 native/install.py (no arguments; it detects the extension ID and vault) and re-run it after upgrading; --check diagnoses a "helper not connected" error, and an AI agent can run the same command for you. Daily-note append requires Obsidian's Daily notes plugin with a numeric date format and no template.
The Chinese feature tour includes ten matching AI-generated concept illustrations for clipping, reading and highlights, editing, AI chat, video study, bilingual captions, learning notes, shortcuts, templates and RSS sharing. They illustrate workflows, not literal interfaces. Rendered interface screenshots remain in expandable panels; see the illustration gallery and prompts.
| Problem | Feature |
|---|---|
| Switch constantly between video and captions | Player and transcript together; responsive layout, draggable size, dock / theater / corner window; supported Chrome also offers a separate YouTube window |
| Miss a phrase or struggle with foreign captions | Transcript search, timestamp seeking, copy / TXT download, Chinese translation below the original |
| Lose your own thoughts while watching | Press N to write in a small card, with source and video time; append to today's daily note using the helper |
| Re-type the same AI instructions | Global custom instructions, editable article / selection quick prompts, font choice and 12–28 px chat size |
| Need a better place to read and edit | Shared top bar, collapsible navigation, Chinese fonts, highlights, side-by-side properties and Markdown |
| Too many steps to clip | Configurable triple-press shortcuts: aaa read / study, eee edit, qqq clip, iii quick-note card on any page; site exclusions and typing guards |
Video loads before captions; caption failure can be retried without rebuilding the player. YouTube supports playback-following highlights. Bilibili uses its official embed: timestamp seeking reloads the player and captions highlight the clicked row rather than following playback; captions may require login. Actual availability depends on the video, site and network.
AI answers stream with Markdown; history stays per article, panel width is adjustable, and answers can be copied or added to notes. Supported providers include OpenAI-compatible APIs, Anthropic, Google Gemini and Ollama. Templates can also use {{"Summarize this article"}} to generate note content. Bring your own provider; the extension includes no AI account or credits.
See Privacy, Security, video study, and daily-note setup.
Run npm test, npx tsc --noEmit, python3 -m unittest discover -s native -p 'test_*.py', and npm run build:chrome.
Independent MIT project based on Obsidian Web Clipper, preserving upstream history. Built with Defuddle and Lucide; Zhuque Fangsong uses the SIL Open Font License. Maintained by joeseesun.