Meetily 深度拆解:开源隐私优先的 AI 会议助手,本地 Whisper/Parakeet 实时转写 + 多模型总结
posts posts 2026-07-04T21:16:32+08:00Meetily(Zackriya-Solutions/meetily)是隐私优先的开源 AI 会议助手:录音、实时转写与 AI 总结全部在本机完成,数据存本地 SQLite。基于 Tauri + Rust 后端与 Next.js 前端,支持 Whisper/Parakeet 双转写引擎与 Ollama/Claude/Groq/OpenRouter 等总结提供方。技术笔记Tauri, Whisper, Parakeet, 本地AI, Rust快速信息卡
| 属性 | 值 |
|---|---|
| GitHub Stars | 29,700+ |
| GitHub Forks | 3,200+ |
| 主要语言 | Rust |
| 开源协议 | MIT |
| 桌面框架 | Tauri(Rust 后端 + Next.js 前端) |
| 当前版本 | v0.4.0 |
| 转写引擎 | Whisper(whisper.cpp)/ Parakeet(ONNX) |
| 项目定位 | 隐私优先的本地 AI 会议助手 |
Meetily 深度拆解:开源隐私优先的 AI 会议助手,本地 Whisper/Parakeet 实时转写 + 多模型总结
会议转写工具已经不少,但几乎默认把音频传上云端。Meetily 走的是另一条路:录音、实时转写、AI 总结三条链路全部跑在用户自己的电脑上——转写用本地的 Whisper / Parakeet,总结可以选本地 Ollama 或第三方 API,录音、转写文本、总结结果都存进本地 SQLite。对律师、医生、企业合规这类对会议内容敏感的人群,这条"本地优先、云端可选"的路线比纯 SaaS 更实际。
本文从它解决的问题、架构分工、引擎选型、构建链路和适用边界几个角度,把 Meetily 拆成可验证的事实。
学习目标
读完本文,你应该能:
- 说清 Meetily 的隐私边界:哪些环节留在本机,哪些环节可能出网
- 画出它的分层架构:Next.js 前端如何通过 Tauri 命令与 Rust 后端协作
- 区分 Whisper 与 Parakeet 两套转写引擎的定位差异
- 复现三端构建流程,理解 GPU 加速的自动检测逻辑
- 判断自己的场景该用社区版还是 PRO 版
目录
- 快速信息卡
- 学习目标
- 它到底解决什么问题
- 整体架构:一个后端,五块组件
- 一次会议如何流过系统
- 引擎选型:Whisper 与 Parakeet 的差异
- 音频捕获与 GPU 加速
- 构建链路与平台支持
- AI 提供方与总结
- 适用边界与限制
- Meetily PRO 与社区版的边界
- 常见问题与故障排查
- 自测题
- 进阶路径
- 总结
- 参考资料
它到底解决什么问题
Meetily 的 README 把痛点拆成三条:
- 数据隐私:README 援引 IBM 2024 报告,平均单次数据泄露成本 440 万美元;到 2025 年欧盟已累计开出 58.8 亿欧元 GDPR 罚单;加州当年发生 400 多起非法录音诉讼
- 成本控制:云端转写按分钟计费,重度用户每月开销不小
- 厂商锁定:主流 SaaS 把数据存在自家服务器,存储位置和保留期限由厂商说了算
针对这三条,Meetily 给出三层解法:
- 本地转写:Whisper.cpp / Parakeet ONNX 都在用户机器上跑,音频不离开设备
- 开源模型:转写侧没有 API 调用费,只剩电费
- 自托管存储:录音、转写、总结都写入本地 SQLite,没有云端副本
难点在于这三条要装进一个"开箱即用"的桌面应用(macOS / Windows,Linux 自构建),而不是让用户自己跑 Docker、配 GPU 服务。这个约束直接决定了它的技术栈选择。
整体架构:一个后端,五块组件
Meetily 是单进程自包含的桌面应用:Tauri 负责窗口和系统事件,Rust 后端承担核心逻辑,Next.js 前端负责界面。官方架构文档(docs/architecture.md)把后端拆成五块组件,各有单一职责:
| 组件 | 职责 |
|---|---|
| Tauri Core | 管理窗口与事件,通过命令系统把 Rust 能力暴露给前端 |
| Audio Engine | 采集麦克风与系统音频,处理后交给转写引擎 |
| Transcription Engine | 调用本地 Whisper / Parakeet 模型实时转写,支持 GPU 加速 |
| Database | 本地 SQLite,存会议元数据、转写文本与总结 |
| Summary Engine | 调用 LLM 生成结构化总结,支持本地 Ollama 或远程 API |
前端不直接接触音频和模型推理,一切通过 Tauri Commands 走 Rust。数据流向可以画成一条单向链:
[Audio Engine] 采集麦克风 + 系统音频(ducking 防回授)
│
▼
[Transcription Engine] Whisper / Parakeet 本地实时转写(GPU 加速)
│
▼
[SQLite Database] 会议元数据、转写文本、总结
▲
│
[Summary Engine] LLM 生成结构化总结(本地 Ollama 或远程 API)
▲
│
[Next.js 前端] 界面操作、展示与配置(经 Tauri Commands 调后端)转写和总结是两条相对独立的链路,中间由 SQLite 承接:转写引擎写入文本,总结引擎读取文本产出纪要。这种拆分让"换转写引擎"和"换总结模型"互不影响,也是后面几节讨论引擎和提供方的基础。
一次会议如何流过系统
把模块串成一个具体场景:你打开 Meetily,点开始,和客户开了一小时会。
- 采集:Audio Engine 同时捕获麦克风和系统音频(你的声音 + 对方电脑的播放声),做混合与 ducking,避免扬声器回授。
- 转写:音频按片段交给 Transcription Engine,Whisper 或 Parakeet 在本地把语音转成文字;GPU 可用时走 Metal / CUDA 加速。文字实时出现在前端面板。
- 落库:转写文本、时间戳、会议元数据写入本地 SQLite。
- 总结:会议结束,Summary Engine 把转写文本交给选定的 LLM——本地 Ollama 不出网,Claude / Groq / OpenRouter 走远程——按内置模板生成结构化纪要。
- 编辑与导出:在前端编辑器里改总结,然后按需导出。
整个过程里,只有第 4 步选了远程模型时转写文本会出网;音频从头到尾不离开本机。这也是 Meetily 与云端 SaaS 最本质的差别。
引擎选型:Whisper 与 Parakeet 的差异
Meetily 提供两套本地转写引擎,README 的说明是两者都支持、定位不同:
| 引擎 | 来源 | 定位 |
|---|---|---|
| Whisper | OpenAI(whisper.cpp 移植) | 多语种成熟、模型档位齐全,适合通用会议与跨国团队 |
| Parakeet | NVIDIA,经 ONNX 转换 | 英文低延迟、流式友好,适合英文为主的实时转写 |
仓库的描述(GitHub about 字段)称其 Parakeet / Whisper 实时转写比常规方案快 4 倍,结合 README 的 GPU 加速与实时转写定位,这个数字主要来自硬件加速和流式处理。实际使用有三个细节:
- 模型都在本地:两套引擎的模型文件在用户机器上加载(README 明确"转写模型、录音、转写文本都留在机器上"),不经过任何云端转写接口。
- Parakeet 的 ONNX 来源:Acknowledgments 注明使用
istupakov/parakeet-tdt-0.6b-v3-onnx转换版,对应 NVIDIA TDT-0.6B 模型。 - Import & Enhance:把历史录音拖进应用,可以换模型或换语言重新转写(README 标注为 Beta)。
音频捕获与 GPU 加速
音频采集由 Audio Engine 负责,README 明确支持:
- 麦克风捕获
- 麦克风 + 系统音频同时捕获,带智能 ducking(压低系统音量避免回授)和 clipping 预防
- 一次会议同时录下"你的声音 + 你听到的播放声",合成一份待转写音轨
GPU 加速按平台自动启用,不需要用户在界面里选择:
| 平台 | 加速方式 |
|---|---|
| macOS | Apple Silicon(Metal)+ CoreML |
| Linux | CUDA(NVIDIA)、ROCm/HIPBlas(AMD)、Vulkan(跨平台回退)、OpenBLAS/CPU |
| Windows | 默认 CPU,CUDA 等加速见 GPU_ACCELERATION.md |
关键在于"自动"是怎么实现的。构建脚本 build-gpu.sh / dev-gpu.sh 先定位 package.json,再运行 scripts/auto-detect-gpu.js(或读取 TAURI_GPU_FEATURE 环境变量)探测硬件,然后按探测结果编译 llama-helper 这个 sidecar 二进制,放进 src-tauri/binaries 交给 Tauri 调用。探测优先级是 NVIDIA CUDA → AMD ROCm(hipblas)→ Vulkan → OpenBLAS → 纯 CPU。值得注意的一点:驱动装了不等于加速生效,还必须装好对应的开发 SDK(CUDA toolkit、ROCm、Vulkan SDK 等),否则会回退到 CPU。
构建链路与平台支持
直接安装
- Windows:从 Releases 下载
x64-setup.exe,图形化安装 - macOS:从 Releases 下载
meetily_0.4.0_aarch64.dmg(当前仅提供 Apple Silicon 版本) - Linux:无预编译包,从源码构建
从源码构建
README 的快速开始给的是:
git clone https://github.com/Zackriya-Solutions/meeting-minutes
cd meeting-minutes/frontend
pnpm install
./build-gpu.sh注意克隆地址是 meeting-minutes——README 的克隆与发布链接指向这个仓库,与当前展示仓库 meetily 名称不同;当前代码结构是 backend/、frontend/、docs/、llama-helper/、scripts/。
三端依赖与命令(来自官方 BUILDING.md):
| 平台 | 依赖 | 构建命令 |
|---|---|---|
| Linux | build-essential、cmake、git | ./dev-gpu.sh(开发)/ ./build-gpu.sh(生产) |
| macOS | cmake、node、pnpm(Homebrew) | pnpm tauri:dev / pnpm tauri:build |
| Windows | Node.js、Rust、Visual Studio Build Tools(C++ 工作负载)、CMake | pnpm tauri:dev / pnpm tauri:build |
Linux 构建产物是 Meetily_<版本>_amd64.AppImage。macOS 默认启用 Metal 加速;Windows 默认 CPU-only,GPU 加速另见 GPU_ACCELERATION.md。
AI 提供方与总结
转写是本地,总结这一步可选本地或云端:
| 提供方 | 模型位置 | 说明 |
|---|---|---|
| Ollama | 用户本地 | README 推荐默认选项,无 API 费用,全程不出网 |
| Claude | Anthropic API | 远程高质量总结 |
| Groq | Groq API | 低延迟推理 |
| OpenRouter | 第三方聚合 | 一个入口切换多家模型 |
| 自定义 OpenAI 兼容端点 | 用户自己的部署 | 接入内网 vLLM、TGI、LM Studio、LocalAI 等,不改代码 |
自定义端点作为独立配置项开放,企业可以把私有 LLM 服务直接接进来。总结产物是结构化纪要:后端内置一套 prompt 模板,不绑定具体模型;README 的 summary.png 截图展示了实际输出样式。模型越强,结构化程度越好。
适用边界与限制
| 维度 | 现状 | 边界 |
|---|---|---|
| 操作系统 | macOS / Windows 桌面,Linux 自构建 | 无 iOS / Android 端 |
| 会议接入 | 捕获麦克风 + 系统音频 | 不"加入"会议;Zoom / Meet 里需手动共享扬声器/系统声音,它才能采集到对方 |
| 转写语言 | 多语种自动检测 | Whisper 覆盖更广,Parakeet 以英文为主;中英混合建议优先 Whisper |
| 离线使用 | 支持(README 明确 Works offline) | 转写全本地,总结选 Ollama 即可完全离线 |
| 说话人分离 | 社区版不支持 | PRO 计划(README 提及 6 月中旬) |
| 导出 | 社区版基础导出 | PDF / DOCX / Markdown 高级导出属 PRO |
| 日历与自动入会 | 不支持 | PRO 路线图包含 |
Meetily PRO 与社区版的边界
Meetily 采用"开源社区版 + 闭源商业版"双轨制:
- 社区版(MIT):永久免费开源,含本地转写、AI 总结(任意 provider)、基础能力;README 明确 “free & open source forever”。
- PRO 版:独立代码库,提供更高准确度的转写模型、自定义摘要模板、PDF / DOCX / Markdown 高级导出、自动检测并加入会议、日历集成、面向团队的自托管部署(2–100 用户)、GDPR 审计支持。说话人分离计划 6 月中旬上线,多模型问答(Chat with Meetings)在路线图中。
PRO 与社区版不是同一代码库的功能开关,而是两套代码。社区版持续维护,PRO 上线的新能力(如说话人分离)不会自动回流到社区版。100 人以上或需要托管合规方案的组织,官方引导转向 Meetily Enterprise。
常见问题与故障排查
Q: 转写到底在本地还是云端?
本地。Whisper / Parakeet 模型跑在用户机器上,音频不离开设备。只有总结环节选了远程模型(Claude / Groq / OpenRouter)时,转写文本会发往对应 API。
Q: 怎么接入公司内部的私有大模型?
在总结配置里填自定义 OpenAI 兼容端点,指向你的 vLLM、TGI、LM Studio、LocalAI 等部署即可,不需要改 Meetily 代码。
Q: GPU 加速没生效怎么办?
先确认不是"只装了驱动":NVIDIA 需要 CUDA toolkit(nvcc 可用),AMD 需要 ROCm(hipcc 可用),Vulkan 需要 VULKAN_SDK 和 BLAS_INCLUDE_DIRS 环境变量。也可以在构建时用 TAURI_GPU_FEATURE=cuda(或 vulkan、hipblas)强制指定。
Q: Linux 没有预编译包吗?
没有,需从源码构建,产物是 AppImage。依赖 build-essential、cmake、git,构建命令 ./build-gpu.sh。
自测题
- Meetily 的隐私边界画在哪里?哪些环节可能出网?
- 后端五块组件分别做什么?前端通过什么方式和后端通信?
- Whisper 和 Parakeet 各自适合什么场景?
build-gpu.sh是如何做到"自动"选择加速方式的?- PRO 版和社区版是什么关系?为什么 PRO 的功能不会自动回到社区版?
参考答案
题 1:音频和转写全程本地,结果存 SQLite。只有总结选了远程 provider 时,转写文本会发给对应 API;选 Ollama 则完全不出网。
题 2:Tauri Core(窗口与命令)、Audio Engine(采集)、Transcription Engine(本地转写)、Database(SQLite)、Summary Engine(LLM 总结)。前端通过 Tauri Commands 调 Rust 后端。
题 3:Whisper 多语种成熟、档位齐全,适合通用与跨国会议;Parakeet 英文低延迟、流式友好,适合英文为主的实时转写。
题 4:脚本先探测 GPU(auto-detect-gpu.js 或 TAURI_GPU_FEATURE),按 CUDA → ROCm → Vulkan → OpenBLAS → CPU 的优先级选 feature,再编译带对应 feature 的 llama-helper sidecar 交给 Tauri。
题 5:PRO 是独立代码库,不是社区版的功能开关,因此新功能不自动回流;社区版持续维护。
进阶路径
按下面顺序读,每一环都搭在前一环的问题上:
- Meetily 仓库:先通读 README 和
docs/architecture.md,建立整体认知。 - docs/BUILDING.md:想复现三端构建、理解 GPU 自动检测时读。
- whisper.cpp:Meetily 借用了它的代码,也是理解本地转写实现的最佳入口。
- Parakeet ONNX:看 Meetily 实际使用的转换模型。
- Tauri 文档:理解"Rust 后端 + Web 前端"如何打成一个桌面应用。
总结
Meetily 的价值不在"多一个会议转写工具",而在把"会议数据留在本机"做成一键安装的桌面应用。它适合:
- 律师、医生、顾问:客户对话必须本地处理
- 企业合规团队:会议内容需要审计但不上公网
- 重度会议用户:会议量大,不想按分钟被云端 SaaS 计费
不适合:
- 需要说话人分离的多人会议(PRO 路线图)
- 需要移动端录音(只有桌面端)
- Linux 用户不接受源码编译(无预编译包)
一个务实的采用顺序:个人或小团队、内容敏感,直接上社区版 + 本地 Ollama,全程不出网;要 PDF/DOCX 导出、自动入会、说话人分离,等 PRO 对应能力上线再评估;100 人以上或需托管合规方案,看 Enterprise。在"数据不出本机 + 不需要会议平台自动接入"的组合里,Meetily 是开源生态中少数的成熟选择之一。
参考资料
- 仓库:https://github.com/Zackriya-Solutions/meetily
- 官网:https://meetily.ai
- 架构文档:
docs/architecture.md(仓库内) - 构建文档:
docs/BUILDING.md、docs/building_in_linux.md(仓库内) - 相关项目:whisper.cpp、Screenpipe、transcribe-rs、Parakeet ONNX
参与讨论
使用 GitHub 登录。欢迎补充事实、异议与实践。
讨论暂时无法加载。