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>
This commit is contained in:
155
README.md
Normal file
155
README.md
Normal file
@@ -0,0 +1,155 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user