本地优先的会议助手:系统音频实时字幕(中英双向翻译)+ 高质量录音 + AI 精校 + 结构化会议总结。全部核心能力可离线运行,隐私可控。
原名 LiveCaptions。基于 Tauri 2 + Python(sherpa-onnx / Ollama)。
- 实时双语字幕:悬浮窗跟手显示,中英双向自动翻译(Ollama 本地模型)
- 高质量录音:48kHz mono AAC 128k,带会议标题元数据
- AI 精校:会后 SenseVoice 离线重识别 + 补标点(不依赖云端)
- 结构化总结:概览 / 决策 / 待办(负责人+截止)/ 议题讨论 / 风险 / 关键数据 / 问题,三档可选(简洁/标准/详细),支持重新生成
- 提问高亮:问题句琥珀色标记并驻留
- 全文搜索:标题 + 精校 + 逐句(FTS5)
- 一键导出:Markdown / Word
- 隐私模式:默认开启,全部本地处理,出网归零
下载 dmg 安装即可。首次使用:
- 打开 Reco.app
- 系统提示时允许 麦克风 与 屏幕录制 权限(设置 → 隐私与安全性)
- 顶部状态栏出现托盘图标,悬浮窗出现
前置依赖:macOS 13+、Rust、Node 18+、Python 3.10+、Ollama
# 1. 模型(见下方"模型准备")
# 2. Python 依赖
python3 -m venv venv
source venv/bin/activate
pip install sherpa-onnx fastapi uvicorn numpy
# 3. 前端 + 打包
npm install
npm run tauri dev # 开发模式
npm run tauri build # 发布构建| 模型 | 用途 | 是否必须 | 获取 |
|---|---|---|---|
| X-ASR 流式(zipformer 中英双语 int8) | 实时字幕 | ✅ 必须 | sherpa-onnx 模型库(见下) |
| SenseVoice int8 | 会后精校 | ✅ 建议 | sherpa-onnx 模型库 |
| FireRedASR large | 精校备选引擎 | 可选 | sherpa-onnx 模型库 |
| Ollama 模型(qwen3:8b) | 翻译/矫正/总结 | ✅ 建议 | ollama pull qwen3:8b |
模型目录结构参考(可在设置页中自定义路径):
models/
├── sherpa-onnx-x-asr-960ms-streaming-zipformer-transducer-zh-en-punct-int8-2026-06-05/
├── sherpa-onnx-sense-voice-zh-en-ja-ko-yue-int8-2025-09-09/
└── sherpa-onnx-fire-red-asr-large-zh_en-2025-02-16/
Ollama 安装:brew install ollama && ollama pull qwen3:8b
本地 LLM 地址:应用默认连接
http://127.0.0.1:62955(OpenAI 兼容协议,llama.cpp / Unsloth / LM Studio / Ollama 均可)。如果你用 Ollama,装好后到 设置 → 模型 把 URL 改为http://127.0.0.1:11434、模型名填qwen3:8b,保存重启即可。
不配置也能完整使用(本地翻译 + 本地总结)。如需云端总结:
- 设置 → API → 添加 Provider(OpenAI 兼容协议)
- 填入名称 / Base URL / Key / 模型(可一键填入 DeepSeek 模板)
- 测试连通 → 激活
- 总结引擎选择"云端 API(激活的 provider)"
Provider 配置仅存本机(~/Library/Application Support/Reco/providers.json,权限 600),不随包分发。
- 默认隐私模式:开启时翻译/矫正/总结全部走本地模型,无任何网络请求
- 分发包不含 API key、个人路径、测试数据、录音
- 数据目录:
~/Library/Application Support/Reco/(会议记录、录音、日志) - 录音保留策略可在设置中配置(无星标超 N 天自动清理 / 仅保留星标;文字记录永不删除)
- 无遥测、无统计、无账号
| 权限 | 用途 | 位置 |
|---|---|---|
| 屏幕录制 | 系统音频采集(CoreAudio process tap) | 系统设置 → 隐私与安全性 → 屏幕录制 |
| 麦克风 | 可选(如需采集麦克风输入) | 系统设置 → 隐私与安全性 → 麦克风 |
首次开始录制后若 2 秒内检测不到音频,应用会引导打开系统设置。
| 操作 | 方式 |
|---|---|
| 开始 / 停止录制 | 全局快捷键 Cmd+Shift+R 或托盘菜单 |
| 暂停 / 继续 | 悬浮窗空格键 |
| 展开 / 收起 | 双击悬浮窗内容区 |
| 托盘 | 开始/停止、打开主窗口、退出 |
# 分发前清理(删除测试数据/录音/本地 key/日志——交付文档不受影响)
bash scripts/clean_for_dist.sh
# 打包(模型内置后)
npm run tauri build
# 产物:src-tauri/target/release/bundle/dmg/Reco_*.dmg发布前请自查:仓库内无个人路径(grep -r "/Users/" --include="*.rs" --include="*.py" --include="*.ts" . 应无结果)、无 API key、无测试数据。
Reco.app(Tauri 2 / Rust)
├─ CoreAudio process tap 系统音频采集(48kHz 双路:16k→STT / 48k→录音)
├─ 悬浮字幕窗(透明毛玻璃、动画字幕、电平波纹)
└─ 主窗口(会议列表/搜索/摘要/精校/逐句/导出)
│ WebSocket 双通道
Python 核心服务(sherpa-onnx STT + Ollama 翻译/总结 + SQLite + ffmpeg)