Files
Meeting_Assistant/README.md
beabigegg df5411e44c OK
2025-11-13 08:18:15 +08:00

212 lines
5.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# AI Meeting Assistant V2.1
一個智能會議助手系統旨在通過轉錄、摘要和管理您會議中的行動項目來簡化您的工作流程。此全棧應用程式使用Python Flask後端提供強大的API服務React前端提供動態用戶體驗。
## 🔑 主要功能
- **LDAP/AD 認證**: 整合企業Active Directory進行安全登入支援本地備用認證
- **用戶管理**: 基於角色的訪問控制(管理員、用戶),管理員可刪除用戶帳號
- **會議管理**: 創建、查看和管理會議,上傳轉錄或從音頻生成轉錄
- **AI智能摘要**: 從冗長的會議轉錄自動生成簡潔摘要
- **行動項目追蹤**: 自動預覽並批量創建摘要中的行動項目,手動添加、編輯和刪除行動項目並分配負責人和截止日期
- **權限控制**: 基於用戶角色(管理員、會議所有者、行動項目所有者)的精細權限管理
- **檔案處理工具**: 獨立的音頻提取、轉錄和文本翻譯工具
## 🏗️ 技術棧
**後端:**
- **框架**: Flask + Gunicorn
- **資料庫**: MySQL (生產環境) + SQLAlchemy ORM
- **認證**: Flask-JWT-Extended + LDAP整合
- **異步任務**: Celery + Redis
- **API**: RESTful API設計
**前端:**
- **框架**: React.js
- **UI庫**: Material-UI (MUI)
- **構建工具**: Vite
- **API通訊**: Axios
**部署:**
- **容器化**: Docker + Docker Compose
- **服務編排**: Redis, Backend, Celery Worker, Celery Flower, Frontend
- **生產就緒**: 包含健康檢查和資源限制
## 📋 系統需求
- Docker Desktop (Windows/macOS) 或 Docker Engine (Linux)
- Docker Compose V2
- 至少4GB可用記憶體
- 企業Active Directory (LDAP) 服務器訪問權限
## 🚀 快速部署
### 方法一:一鍵部署(推薦)
```bash
# 克隆專案
git clone <your-repository-url>
cd AI_meeting_assistant-V2.1
# 啟動所有服務(強制重建以確保使用最新代碼)
docker-compose up -d --build
# 檢查服務狀態
docker-compose ps
# 停止服務
docker-compose down
# 查看日誌
docker-compose logs -f
```
### 方法二:開發環境設置
如需自定義配置或開發調試,請參考下方的詳細設置說明。
## 🔧 詳細配置
### 環境變數配置
主要配置已在`docker-compose.yml`中設定,如需修改:
```yaml
# 資料庫配置
DATABASE_URL: mysql+pymysql://username:password@host:port/database
# LDAP配置
LDAP_SERVER: your-domain.com
LDAP_PORT: 389
LDAP_BIND_USER_DN: CN=LdapBind,CN=Users,DC=DOMAIN,DC=COM
LDAP_BIND_USER_PASSWORD: your-bind-password
LDAP_SEARCH_BASE: OU=Users,DC=domain,DC=com
LDAP_USER_LOGIN_ATTR: userPrincipalName
# JWT配置
JWT_SECRET_KEY: your-super-secret-key
# AI服務配置Dify API
DIFY_API_BASE_URL: https://your-dify-server.com/v1
DIFY_STT_API_KEY: app-xxxxxxxxxx
DIFY_TRANSLATOR_API_KEY: app-xxxxxxxxxx
DIFY_SUMMARIZER_API_KEY: app-xxxxxxxxxx
DIFY_ACTION_EXTRACTOR_API_KEY: app-xxxxxxxxxx
```
### 服務端口
- **前端**: http://localhost:12015
- **後端API**: http://localhost:5000
- **Celery Flower監控**: http://localhost:5555
- **Redis**: localhost:6379
## 👥 用戶角色與權限
### 管理員權限
- 查看所有用戶列表
- 刪除用戶帳號(除自己外)
- 管理所有會議和行動項目
- 修改任何會議狀態
### 一般用戶權限
- 管理自己創建的會議
- 編輯分配給自己的行動項目
- 查看有權限的會議內容
### 預設管理員
- 系統預設將 `ymirliu@panjit.com.tw` 設為管理員角色
- 其他AD帳號預設為一般用戶角色
## 🔧 維護與監控
### 查看服務日誌
```bash
# 查看所有服務日誌
docker-compose logs -f
# 查看特定服務日誌
docker-compose logs -f backend
docker-compose logs -f celery-worker
```
### 健康檢查
系統包含自動健康檢查:
- Backend: HTTP健康檢查
- Frontend: HTTP健康檢查
- Celery: 程序狀態監控
### 備份與恢復
```bash
# 資料庫備份需要mysql客戶端
mysqldump -h mysql.theaken.com -P 33306 -u A060 -p db_A060 > backup.sql
# 檔案備份
docker-compose exec backend tar -czf /app/uploads/backup.tar.gz /app/uploads
```
## 🛠️ 開發指南
### 本地開發設置
1. **後端開發**:
```bash
# 安裝依賴
pip install -r requirements.txt
# 啟動Flask開發服務器
flask run --port 5000
# 啟動Celery Worker
celery -A celery_worker.celery worker --loglevel=info
```
2. **前端開發**:
```bash
cd frontend
npm install
npm run dev
```
### 資料庫遷移
```bash
# 建立新遷移
docker-compose exec backend flask db migrate -m "Description"
# 應用遷移
docker-compose exec backend flask db upgrade
```
## 🐛 疑難排解
### 常見問題
**1. LDAP認證失敗**
- 檢查LDAP服務器連接性
- 驗證綁定用戶憑證
- 確認搜索基準DN正確
**2. Celery任務無響應**
- 檢查Redis服務狀態
- 重啟Celery Worker: `docker-compose restart celery-worker`
- 查看Worker日誌: `docker-compose logs celery-worker`
**3. 前端無法連接後端**
- 確認後端服務運行在5000端口
- 檢查防火牆設置
- 驗證API base URL配置
### 獲取支援
- 查看服務日誌進行初步診斷
- 檢查系統資源使用情況
- 聯繫IT管理員協助LDAP配置問題
## 📄 授權
此專案為企業內部使用,請遵守公司軟體使用政策。
---
**版本**: V2.1
**最後更新**: 2025-09-18
**維護團隊**: PANJIT IT Team