Skip to content

Repository files navigation

Reco — 会议实时双语字幕

本地优先的会议助手:系统音频实时字幕(中英双向翻译)+ 高质量录音 + AI 精校 + 结构化会议总结。全部核心能力可离线运行,隐私可控。

原名 LiveCaptions。基于 Tauri 2 + Python(sherpa-onnx / Ollama)。

功能特性

  • 实时双语字幕:悬浮窗跟手显示,中英双向自动翻译(Ollama 本地模型)
  • 高质量录音:48kHz mono AAC 128k,带会议标题元数据
  • AI 精校:会后 SenseVoice 离线重识别 + 补标点(不依赖云端)
  • 结构化总结:概览 / 决策 / 待办(负责人+截止)/ 议题讨论 / 风险 / 关键数据 / 问题,三档可选(简洁/标准/详细),支持重新生成
  • 提问高亮:问题句琥珀色标记并驻留
  • 全文搜索:标题 + 精校 + 逐句(FTS5)
  • 一键导出:Markdown / Word
  • 隐私模式:默认开启,全部本地处理,出网归零

安装

发布包(推荐)

下载 dmg 安装即可。首次使用:

  1. 打开 Reco.app
  2. 系统提示时允许 麦克风屏幕录制 权限(设置 → 隐私与安全性)
  3. 顶部状态栏出现托盘图标,悬浮窗出现

源码构建

前置依赖: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 配置(可选)

不配置也能完整使用(本地翻译 + 本地总结)。如需云端总结:

  1. 设置 → API → 添加 Provider(OpenAI 兼容协议)
  2. 填入名称 / Base URL / Key / 模型(可一键填入 DeepSeek 模板)
  3. 测试连通 → 激活
  4. 总结引擎选择"云端 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)

License

MIT

About

Reco — 本地优先的会议实时双语字幕与纪要助手。Local-first meeting captions & minutes. Built with Tauri 2 + Python + sherpa-onnx.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages