main
- 新增 mac-app/ 目录:Tauri 项目结构(Rust 外壳 + sidecar 进程管理)
- 前端添加 Tauri 环境检测,API 调用和 WebSocket 自动适配
- 后端支持 MEETING_DATA_DIR 环境变量指定数据目录
- 新增 /api/meetings/{id}/retranscribe 接口用于重新转录
- 修复轮询超时:2分钟→30分钟,适配长音频
- 添加 .gitignore 排除构建产物
智能会议记录系统
基于 FunASR + DeepSeek AI 的智能会议记录系统,支持音频转录、自动摘要、Markdown 导出。
技术栈
- 前端: React 18 + Vite + TailwindCSS + Zustand
- 后端: FastAPI + Uvicorn
- 数据库: SQLite + SQLAlchemy
- 语音识别: FunASR (SenseVoiceSmall)
- 摘要生成: DeepSeek API
快速开始
1. 安装后端依赖
cd /Users/freedak/Documents/AIDashboard/meeting_recorder
pip install -r requirements.txt
2. 启动后端服务
# 方式一:直接运行
python main.py
# 方式二:使用 uvicorn
uvicorn main:app --reload --port 8501
3. 安装前端依赖并启动
cd frontend
npm install
npm run dev
4. 访问应用
- 前端: http://localhost:3000
- API 文档: http://localhost:8501/docs
项目结构
meeting_recorder/
├── main.py # FastAPI 后端入口
├── app.py # Streamlit 旧版界面(已弃用)
├── database.py # 数据库模块
├── processor.py # FunASR 处理器
├── requirements.txt # Python 依赖
├── data/
│ ├── audio/ # 音频文件目录
│ └── meetings.db # SQLite 数据库
└── frontend/ # React 前端
├── src/
│ ├── components/ # UI 组件
│ ├── pages/ # 页面组件
│ ├── api/ # API 调用
│ └── store/ # 状态管理
└── package.json
功能特性
- 音频文件上传
- FunASR 自动转录
- 说话人分离
- 音频播放与转写对照
- 会议摘要生成
- Markdown 导出
- 会议搜索与筛选
- 实时录音
- 批量处理
环境变量
可选配置 DeepSeek API:
export DEEPSEEK_API_KEY="your-api-key"
注意事项
- 默认使用 CPU 运行,如需 GPU 支持请安装 CUDA 环境
- 音频文件大小建议不超过 500MB
- 长音频转录可能需要几分钟时间
Description
Languages
Python
49.5%
JavaScript
42.4%
CSS
3.5%
Rust
2.1%
Shell
2.1%
Other
0.4%