Skip to content

Userwei0418/trilium_AI_Voice_Note-

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🎙️ Trilium AI Voice Note Widget

一个用于 Trilium Notes 的全功能语音转写与智能整理小组件。

它集成在侧边栏,支持录音上传音频文件,利用 AI 自动将语音转写为文字,并自动整理成包含标题修正文本深度大纲的结构化笔记。

✨ 核心亮点:本插件完全基于 硅基流动 (SiliconFlow) 提供的免费模型构建,无需支付昂贵的 API 费用即可享受顶级的语音识别和文本分析服务。


📸 功能预览

  • 🎤 实时录音:直接在浏览器中录制语音笔记。
  • 📤 文件上传:支持上传现有的录音文件 (MP3/WAV/M4A/WebM)。
  • 🤖 智能转写 (ASR):使用 SenseVoiceSmall 模型,识别准确率极高。
  • 🧠 智能整理 (LLM):使用 Qwen 2.5 7B 模型,自动修正错别字、生成标题并提取大纲。
  • 🎨 原生体验:完美适配 Trilium 的明亮/暗黑主题,居中悬浮窗设计。
  • 💸 完全免费:依赖的两个 AI 模型目前均为免费使用。

🛠️ 技术实现原理 (How it Works)

本插件采用 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 (硅基流动) 平台上的以下两个模型,它们目前在平台上是永久免费(或长期免费)的:

  1. 语音识别 (ASR): FunAudioLLM/SenseVoiceSmall —— 阿里巴巴开源的高性能语音模型。
  2. 大语言模型 (LLM): Qwen/Qwen2.5-7B-Instruct —— 通义千问开源版本,能力足以胜任文本整理工作。

🚀 安装指南

第一步:获取 API Key

  1. 注册 硅基流动 (SiliconFlow) 账号。
  2. 在后台创建一个 API Key(以 sk- 开头)。

第二步:导入代码

  1. 在 Trilium 中新建一个笔记,标题任意(例如:⚙️ Widget - AI Voice Note)。
  2. 将笔记类型(Type)修改为 JS Frontend
  3. 将项目中的 voice_note_widget.js 代码完整粘贴进去。

第三步:配置 API Key

  1. 选中刚才创建的代码笔记。
  2. 在顶部 **Label(标签)**中填入你在第一步获取的 Key:
    • Value: sk-xxxxxxxxxxxxxxxx

第四步:创建启动器按钮 (Launcher)

第五步:刷新

按下 Ctrl + R (或 Cmd + R) 刷新 Trilium。你将在左侧边栏看到麦克风图标。


📖 使用方法

  1. 点击侧边栏的 🎙️ 图标。

  2. 屏幕中央会弹出悬浮窗。

  3. 录音:点击红色 Rec 按钮开始说话,点击 Stop 结束。

  4. 上传:或者点击下方的虚线框上传音频文件。

  5. 点击 "✨ 智能转写并生成笔记"

  6. 等待片刻(视音频长度而定),完成后 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。

📄 License

MIT License. Feel free to use and modify.

About

一个用于 Trilium Notes 的全功能语音转写与智能整理小组件。 它集成在侧边栏,支持录音或上传音频文件,利用 AI 自动将语音转写为文字,并自动整理成包含标题、修正文本、深度大纲的结构化笔记。 ✨ 核心亮点:本插件完全基于 硅基流动 (SiliconFlow) 提供的免费模型构建,无需支付昂贵的 API 费用即可享受顶级的语音识别和文本分析服务。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages