小红书语音转录
unlistedby Richard
把小红书视频链接里的语音在本地转成文字并存进 Obsidian(whisper.cpp 离线转录,纯本地不上传)。
小红书语音转录(Obsidian 插件)
把小红书视频链接里的语音在本地转成文字,自动存进 Obsidian。纯离线转录(whisper.cpp),不上传任何数据。
⚠️ 仅支持桌面版 Windows Obsidian(用到 Node 子进程 + 分平台二进制)。
功能
- 粘贴小红书分享文案 / 链接(
xhslink.com短链或完整网址均可) - 自动解析视频真实地址 → 下载 → 抽音频 → 本地 Whisper 转录 → 自动新建笔记
- 智能标点:small 模型中文不打标点,本插件用 whisper 的分段边界自动补逗号/句号/问号并分段落
- 时间戳:可选不加 / 按句 / 按时间间隔(每 30 秒 / 1 分钟 / 3 分钟,始终带标点)
- 按需下载、下载前确认:首次或切换模型时才下载,且会先弹窗告知下载内容与大小
- 模型管理:在插件设置页面或命令面板里查看各组件占用、单独删除不再需要的模型以省空间
- 下载校验:内置组件下载后做 SHA-256 校验,防止损坏或被篡改
安装
本插件不在 Obsidian 官方社区插件市场(官方审核不接受"运行时下载并执行外部二进制"的插件)。请用以下方式安装:
方式 A:手动
把 main.js、manifest.json、styles.css 放到 <你的 vault>/.obsidian/plugins/xhs-voice-note/,然后设置 → 第三方插件 → 启用。
方式 B:BRAT(推荐,可自动更新) 装好 BRAT 后 → 命令面板「BRAT: Add a beta plugin for testing」→ 填入仓库地址:
RichardCW-git/obsidian-xhs-voice-note
即可安装,并随本仓库更新自动升级。
使用
- 在小红书复制某条视频笔记的分享链接(图文笔记没有语音,不支持)。
Ctrl+P→ 「转录小红书视频链接(新建笔记)」(剪贴板是小红书链接时会自动填好)。- 首次或换模型会先弹确认框(告知下载哪些、多大),确认后下载(有进度),之后离线复用。
- 转录完成自动新建并打开笔记。
管理已下载的模型与工具(查看占用 / 删除)
两个入口,效果相同:
- 设置页面:设置 → 第三方插件 →「小红书语音转录」→ 拉到「模型与工具管理」区,逐项显示占用、点「删除」即可(会二次确认)。
- 命令面板:
Ctrl+P→ 「下载 / 管理模型与工具」。
删除某模型后,如果之后又要用它,下次转录会先弹确认再重新下载。首次下载不在这里手动触发——第一次转录时自动按需下载。
设置项
| 设置 | 说明 |
|---|---|
| 输出文件夹 | 转录笔记存放位置,默认 小红书转录 |
| Whisper 模型 | base(最快)/ small(均衡,默认)/ large-v3-turbo(最准最慢) |
| 转录语言 | zh 中文(默认)/ en 英语 / auto 自动检测等(Whisper 支持近 100 种语言) |
| 智能标点 | 用 whisper 分段边界补标点并分段落(仅适合中文;转英文等请关掉,用 whisper 原生标点) |
| 时间戳模式 | 不加 / 按句加 / 按时间间隔加(30秒/1分钟/3分钟,始终带标点) |
| 完成后打开笔记 | 默认开 |
| 转录线程数 | 0 = 自动,按各机器物理核数估算(自适应,换电脑无需改) |
| 标点提示词 | 给 whisper 的风格范例;对标点作用有限,主要靠「智能标点」 |
| 高级:工具/下载地址 | 可填系统已装的 ffmpeg/whisper 路径,或自定义下载源(自定义源会跳过哈希校验) |
隐私声明
- 全程在你本机完成:下载视频、抽音频、语音识别都在本地,不向任何第三方服务器上传音视频或文字。
- 无遥测、无统计。
- 转录用的临时视频/音频存在系统临时目录,无论成功失败都自动删除,不在 vault 或电脑里留垃圾。
第三方组件与许可证
本插件代码采用 MIT(见 LICENSE)。插件本身不打包、不分发下列组件,而是首次使用时从各自官方地址下载到本地插件目录:
| 组件 | 来源 | 许可证 | 用途 |
|---|---|---|---|
| FFmpeg | gyan.dev 固定版构建 | GPL | 抽取/转换音频 |
| whisper.cpp | ggml-org/whisper.cpp 官方 Release | MIT | 本地语音识别引擎 |
| Whisper 模型 | Hugging Face: ggerganov/whisper.cpp | MIT | 识别模型权重 |
说明:FFmpeg 构建为 GPL。由于本插件在运行时下载、并不随插件一起分发这些二进制,故插件源码可保持 MIT。若你 fork 后改为捆绑分发 FFmpeg,需自行遵守 GPL 义务。
安全
- 内置可信下载源的文件下载后会做 SHA-256 校验(哈希写死在
src/settings.ts),不匹配即删除并报错。 - 若你在设置里填了自定义下载地址,则跳过校验(你自行负责来源可信)。
免责声明
- 本插件与小红书 / 小红书科技无任何关联,非官方工具。
- 请只转录你有权使用的内容,并遵守小红书的服务条款与著作权法律;因使用本插件产生的任何后果由使用者自行承担。
- 链接解析依赖小红书页面结构,平台改版或风控可能导致失效,不保证长期可用。
- 本软件按"现状"提供,不作任何担保。
已知限制
- 小红书反爬:解析依赖页面
__INITIAL_STATE__。改版/需登录/风控时可能失败——把完整分享文案再试一次;结构变化需维护src/xhs.ts。 - CPU 转录:视频越长越久;求快用
base,求准用large-v3-turbo(无 NVIDIA 显卡时用不了 GPU 加速)。 - 标点:small 靠「智能标点」补,效果已可用;要更完整可换
large-v3-turbo。 - 目前仅 Windows;跨平台需换对应的 ffmpeg / whisper 二进制。
开发
npm install
npm run dev # 监听编译
npm run build # 生产编译(先做类型检查)
维护提示:内置下载地址与 SHA-256 在 src/settings.ts。升级 whisper/ffmpeg 版本或换模型时,同步更新其中的 url、sha256、bytes。
For plugin developers
Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.