一个用于 Trilium Notes 的全功能语音转写与智能整理小组件。
它集成在侧边栏,支持录音或上传音频文件,利用 AI 自动将语音转写为文字,并自动整理成包含标题、修正文本、深度大纲的结构化笔记。
✨ 核心亮点:本插件完全基于 硅基流动 (SiliconFlow) 提供的免费模型构建,无需支付昂贵的 API 费用即可享受顶级的语音识别和文本分析服务。
- 🎤 实时录音:直接在浏览器中录制语音笔记。
- 📤 文件上传:支持上传现有的录音文件 (MP3/WAV/M4A/WebM)。
- 🤖 智能转写 (ASR):使用
SenseVoiceSmall模型,识别准确率极高。 - 🧠 智能整理 (LLM):使用
Qwen 2.5 7B模型,自动修正错别字、生成标题并提取大纲。 - 🎨 原生体验:完美适配 Trilium 的明亮/暗黑主题,居中悬浮窗设计。
- 💸 完全免费:依赖的两个 AI 模型目前均为免费使用。
本插件采用 Trilium Frontend Script 开发,核心流程如下:
sequenceDiagram
participant User as 👤 用户
participant UI as 🖥️ 前端组件 (Widget)
participant Backend as ⚙️ Trilium 后端
participant SiliconFlow as ☁️ 硅基流动 API
participant DB as 🗄️ Trilium 数据库
User->>UI: 点击麦克风图标
UI->>User: 弹出悬浮窗
User->>UI: 录音 / 上传文件
UI->>Backend: 发送音频数据 (Base64)
Note right of Backend: 使用 runAsyncOnBackend<br/>避免跨域问题
Backend->>SiliconFlow: 调用 ASR (SenseVoiceSmall)
SiliconFlow-->>Backend: 返回原始文本
Backend->>SiliconFlow: 调用 LLM (Qwen 2.5)
Note right of SiliconFlow: 系统提示词:<br/>修正文本 + 生成HTML大纲
SiliconFlow-->>Backend: 返回结构化 HTML
Backend->>DB: 创建新笔记 (HTML内容)
DB-->>UI: 返回新笔记 ID
UI->>User: 自动跳转到新笔记
本插件硬编码配置了 SiliconFlow (硅基流动) 平台上的以下两个模型,它们目前在平台上是永久免费(或长期免费)的:
- 语音识别 (ASR):
FunAudioLLM/SenseVoiceSmall—— 阿里巴巴开源的高性能语音模型。 - 大语言模型 (LLM):
Qwen/Qwen2.5-7B-Instruct—— 通义千问开源版本,能力足以胜任文本整理工作。
- 注册 硅基流动 (SiliconFlow) 账号。
- 在后台创建一个 API Key(以
sk-开头)。
- 在 Trilium 中新建一个笔记,标题任意(例如:
⚙️ Widget - AI Voice Note)。 - 将笔记类型(Type)修改为 JS Frontend。
- 将项目中的
voice_note_widget.js代码完整粘贴进去。
- 选中刚才创建的代码笔记。
- 在顶部 **Label(标签)**中填入你在第一步获取的 Key:
- Value:
sk-xxxxxxxxxxxxxxxx
- Value:
按下 Ctrl + R (或 Cmd + R) 刷新 Trilium。你将在左侧边栏看到麦克风图标。
-
点击侧边栏的 🎙️ 图标。
-
屏幕中央会弹出悬浮窗。
-
录音:点击红色
Rec按钮开始说话,点击Stop结束。 -
上传:或者点击下方的虚线框上传音频文件。
-
点击 "✨ 智能转写并生成笔记"。
-
等待片刻(视音频长度而定),完成后 Trilium 会自动跳转到生成好的新笔记。
20251227-033447.mp4
如果你想修改使用的模型或提示词,可以在代码顶部的 CONFIG 对象中修改:
const CONFIG = {
// 可以在这里更换为其他兼容 OpenAI 格式的 API
ASR_URL: "https://api.siliconflow.cn/v1/audio/transcriptions",
ASR_MODEL: "FunAudioLLM/SenseVoiceSmall", // 免费模型
LLM_URL: "https://api.siliconflow.cn/v1/chat/completions",
LLM_MODEL: "Qwen/Qwen2.5-7B-Instruct", // 免费模型
// 修改系统提示词以调整输出格式
SYSTEM_PROMPT: `...`
};
如果你发现任何 Bug 或有新的想法,欢迎提交 Issue 或 Pull Request。
MIT License. Feel free to use and modify.



