Files
Meeting_Assistant/README.md
egg 01aee1fd0d feat: Extract hardcoded configs to environment variables
- Add environment variable configuration for backend and frontend
- Backend: DB_POOL_SIZE, JWT_EXPIRE_HOURS, timeout configs, directory paths
- Frontend: VITE_API_BASE_URL, VITE_UPLOAD_TIMEOUT, Whisper configs
- Create deployment script (scripts/deploy-backend.sh)
- Create 1Panel deployment guide (docs/1panel-deployment.md)
- Update DEPLOYMENT.md with env var documentation
- Create README.md with project overview
- Remove obsolete PRD.md, SDD.md, TDD.md (replaced by OpenSpec)
- Keep CORS allow_origins=["*"] for Electron EXE distribution

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-14 14:31:55 +08:00

156 lines
3.5 KiB
Markdown

# 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 <repository-url>
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