# Meeting Assistant 會議助理系統 - 幫助企業高效記錄、整理和追蹤會議內容。 ## 功能特色 - **即時語音轉寫**: 使用本地 Whisper 模型進行會議錄音轉文字 - **AI 智能摘要**: 透過 Dify LLM 自動生成會議結論與待辦事項 - **會議紀錄管理**: 建立、編輯、搜尋會議紀錄 - **Excel 匯出**: 支援自訂模板的會議紀錄匯出 - **多用戶支援**: 企業身份驗證整合 ## 系統架構 ``` Meeting_Assistant/ ├── backend/ # FastAPI 後端 API ├── client/ # Electron 桌面應用程式 ├── sidecar/ # Whisper 語音轉寫引擎 ├── scripts/ # 部署腳本 └── docs/ # 文件 ``` ## 系統需求 ### 開發環境 - Python 3.10+ - Node.js 18+ - MySQL 8.0+ ### 運行環境 - Windows 10/11 (Electron 客戶端) - Linux (後端服務器) ## 快速開始 ### 1. 複製專案 ```bash git clone cd Meeting_Assistant ``` ### 2. 設置後端 ```bash cd backend python -m venv venv source venv/bin/activate # Windows: venv\Scripts\activate pip install -r requirements.txt cp .env.example .env # 編輯 .env 配置資料庫和 API 金鑰 ``` ### 3. 設置前端 ```bash cd client npm install cp .env.example .env # 編輯 .env 配置後端 API 地址 ``` ### 4. 設置 Sidecar (語音轉寫) ```bash cd sidecar python -m venv venv source venv/bin/activate pip install -r requirements.txt ``` ### 5. 啟動服務 ```bash # 使用啟動腳本 ./start.sh start # 或分別啟動 cd backend && uvicorn app.main:app --reload cd client && npm start ``` ## 配置說明 ### 後端環境變數 (backend/.env) | 變數 | 說明 | 必填 | |------|------|------| | `DB_HOST`, `DB_PORT`, `DB_USER`, `DB_PASS`, `DB_NAME` | MySQL 連接資訊 | 是 | | `AUTH_API_URL` | 企業認證 API | 是 | | `DIFY_API_URL`, `DIFY_API_KEY`, `DIFY_STT_API_KEY` | Dify 服務配置 | 是 | | `JWT_SECRET` | JWT 簽名密鑰 | 是 | | `ADMIN_EMAIL` | 管理員郵箱 | 是 | ### 前端環境變數 (client/.env) | 變數 | 說明 | 預設值 | |------|------|--------| | `VITE_API_BASE_URL` | 後端 API 地址 | http://localhost:8000/api | | `WHISPER_MODEL` | Whisper 模型大小 | medium | | `WHISPER_DEVICE` | 執行裝置 (cpu/cuda) | cpu | ## 部署 ### 本地開發 ```bash ./start.sh start ``` ### 生產環境 - 後端獨立部署: 參考 [docs/1panel-deployment.md](docs/1panel-deployment.md) - 前端打包分發: `cd client && npm run build` 詳細部署說明請參考 [DEPLOYMENT.md](DEPLOYMENT.md) ## API 文件 啟動後端後訪問: - Swagger UI: http://localhost:8000/docs - ReDoc: http://localhost:8000/redoc ## 專案結構 ``` backend/ ├── app/ │ ├── main.py # FastAPI 應用入口 │ ├── config.py # 環境變數配置 │ ├── database.py # 資料庫連接 │ ├── models.py # 資料模型 │ └── routers/ # API 路由 │ ├── auth.py # 身份驗證 │ ├── meetings.py # 會議 CRUD │ ├── ai.py # AI 摘要/STT │ └── export.py # Excel 匯出 client/ ├── src/ │ ├── main.js # Electron 主程序 │ ├── preload.js # 預載腳本 │ ├── index.html # 主頁面 │ └── services/ │ └── api.js # API 客戶端 sidecar/ ├── transcriber.py # Whisper 轉寫服務 └── requirements.txt # Python 依賴 ``` ## 授權 Internal Use Only