企業內部新聞彙整與分析系統 - 自動新聞抓取 (Digitimes, 經濟日報, 工商時報) - AI 智慧摘要 (OpenAI/Claude/Ollama) - 群組管理與訂閱通知 - 已清理 Python 快取檔案 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
226 lines
6.3 KiB
Markdown
226 lines
6.3 KiB
Markdown
# 每日報導 APP - 需要確認事項
|
||
|
||
> 建立日期:2025-01-27
|
||
|
||
---
|
||
|
||
## 🔴 重要:資料表設計不一致
|
||
|
||
### 問題 1:訂閱功能資料表
|
||
**現況:**
|
||
- Checklist 中**未選擇** `subscriptions(訂閱表)`
|
||
- 但 SDD 中明確提到「讀者可自行訂閱感興趣的群組」
|
||
|
||
**需要確認:**
|
||
- [ ] 訂閱功能是否需要獨立的 `subscriptions` 資料表?
|
||
- [ ] 還是使用其他方式實現(如 users 表的 JSON 欄位)?
|
||
- [ ] 如果不需要獨立表,如何記錄用戶訂閱關係?
|
||
|
||
**建議:** 訂閱功能是核心功能,建議建立 `subscriptions` 表以支援多對多關係。
|
||
|
||
---
|
||
|
||
### 問題 2:收藏與標註功能
|
||
**現況:**
|
||
- Checklist 中**未選擇** `favorites(收藏表)` 和 `annotations(標註表)`
|
||
- SDD 中標註為「未來擴充」
|
||
|
||
**需要確認:**
|
||
- [ ] 收藏功能是否在第一階段實作?
|
||
- [ ] 標註功能是否在第一階段實作?
|
||
- [ ] 如果第一階段不實作,資料表設計是否預留?
|
||
|
||
---
|
||
|
||
## 🟡 環境變數配置需要補充
|
||
|
||
### 需要確認的環境變數清單
|
||
|
||
#### 1. 資料庫連線(✅ 已確認)
|
||
- [x] `DB_HOST` - mysql.theaken.com
|
||
- [x] `DB_PORT` - 33306
|
||
- [x] `DB_NAME` - db_A101
|
||
- [x] `DB_USER` - A101
|
||
- [x] `DB_PASSWORD` - Aa123456
|
||
- **連線狀態:** ✅ 測試連線正常
|
||
|
||
#### 2. Redis 連線(需要確認)
|
||
- [ ] `REDIS_HOST` - Redis 主機位址(預設:localhost)
|
||
- [ ] `REDIS_PORT` - Redis 埠號(預設:6379)
|
||
- [ ] `REDIS_PASSWORD` - Redis 密碼(如有)
|
||
- [ ] `REDIS_DB` - Redis 資料庫編號(預設:0)
|
||
|
||
#### 3. Celery 設定(需要確認)
|
||
- [ ] `CELERY_BROKER_URL` - 訊息佇列 URL(Redis 或 RabbitMQ)
|
||
- [ ] `CELERY_RESULT_BACKEND` - 結果儲存位置(通常與 broker 相同)
|
||
|
||
#### 4. SMTP 設定(需要確認)
|
||
- [ ] `SMTP_HOST` - SMTP 伺服器位址
|
||
- [ ] `SMTP_PORT` - SMTP 埠號(預設:587)
|
||
- [ ] `SMTP_USERNAME` - SMTP 帳號
|
||
- [ ] `SMTP_PASSWORD` - SMTP 密碼
|
||
- [ ] `SMTP_FROM_EMAIL` - 寄件者 Email
|
||
- [ ] `SMTP_FROM_NAME` - 寄件者名稱(預設:每日報導系統)
|
||
- [ ] `SMTP_USE_TLS` - 是否使用 TLS(預設:True)
|
||
|
||
#### 5. AD/LDAP 設定(需要確認)
|
||
- [ ] `LDAP_SERVER` - LDAP 伺服器位址
|
||
- [ ] `LDAP_PORT` - LDAP 埠號(預設:389)
|
||
- [ ] `LDAP_BASE_DN` - LDAP Base DN
|
||
- [ ] `LDAP_BIND_DN` - LDAP 綁定 DN(如有)
|
||
- [ ] `LDAP_BIND_PASSWORD` - LDAP 綁定密碼(如有)
|
||
- [ ] `LDAP_USER_SEARCH_FILTER` - 用戶搜尋過濾器(預設:`(sAMAccountName={username})`)
|
||
|
||
#### 6. LLM API Keys(需要確認)
|
||
- [ ] `GEMINI_API_KEY` - Google Gemini API Key
|
||
- [ ] `OPENAI_API_KEY` - OpenAI API Key
|
||
- [ ] `OLLAMA_ENDPOINT` - Ollama 端點 URL(預設:http://localhost:11434)
|
||
|
||
#### 7. Digitimes 帳號(需要確認)
|
||
- [ ] `DIGITIMES_USERNAME` - Digitimes 登入帳號
|
||
- [ ] `DIGITIMES_PASSWORD` - Digitimes 登入密碼
|
||
|
||
#### 8. 應用程式設定(需要確認)
|
||
- [ ] `SECRET_KEY` - 應用程式密鑰(用於加密)
|
||
- [ ] `JWT_SECRET_KEY` - JWT 簽章密鑰
|
||
- [ ] `APP_ENV` - 環境(development/staging/production)
|
||
- [ ] `DEBUG` - 除錯模式(預設:False)
|
||
|
||
---
|
||
|
||
## 🟡 功能實作細節需要確認
|
||
|
||
### 問題 3:台灣行事曆 API
|
||
**現況:** SDD 提到「使用台灣行事曆 API 判斷工作日」
|
||
|
||
**需要確認:**
|
||
- [ ] 使用哪個台灣行事曆 API?
|
||
- [ ] 政府資料開放平台
|
||
- [ ] 第三方 API(如 holiday.tw)
|
||
- [ ] 自行維護假日清單
|
||
- [ ] API 連線失敗時的備援機制?
|
||
- [ ] 是否需要快取假日資料?
|
||
|
||
---
|
||
|
||
### 問題 4:關鍵字過濾機制
|
||
**現況:** SDD 提到「關鍵字過濾後自動審核」
|
||
|
||
**需要確認:**
|
||
- [ ] 關鍵字清單由誰維護?(系統管理員?)
|
||
- [ ] 過濾規則:
|
||
- [ ] 包含特定關鍵字 → 需要審核
|
||
- [ ] 不包含特定關鍵字 → 自動通過
|
||
- [ ] 其他規則?
|
||
- [ ] 過濾後的留言狀態:
|
||
- [ ] 標記為「待審核」
|
||
- [ ] 直接隱藏
|
||
- [ ] 其他處理方式?
|
||
|
||
---
|
||
|
||
### 問題 5:Email 批次發送細節
|
||
**現況:** SDD 提到「批次發送(每批 10 封)」
|
||
|
||
**需要確認:**
|
||
- [ ] 批次間隔時間?(如每批間隔 1 秒)
|
||
- [ ] 發送失敗的重試機制?
|
||
- [ ] 是否使用 Celery 背景任務處理?
|
||
|
||
---
|
||
|
||
### 問題 6:初步摘要機制
|
||
**現況:** SDD 提到「當新聞內容超過模型 token 限制時,先進行初步摘要再送 LLM」
|
||
|
||
**需要確認:**
|
||
- [ ] 初步摘要使用哪種方法?
|
||
- [ ] 簡單的文字截斷(保留前 N 字)
|
||
- [ ] 使用較小的 LLM 模型先摘要
|
||
- [ ] 使用規則式摘要(提取關鍵句)
|
||
- [ ] 初步摘要的目標長度?(如縮減至 50%)
|
||
|
||
---
|
||
|
||
### 問題 7:PDF 中的新聞連結
|
||
**現況:** SDD 提到「相關新聞列表(標題 + 連結)」
|
||
|
||
**需要確認:**
|
||
- [ ] PDF 中的連結格式?
|
||
- [ ] 完整 URL(https://...)
|
||
- [ ] 短連結(需要短連結服務)
|
||
- [ ] QR Code(需要 QR Code 生成)
|
||
- [ ] 如果新聞來源需要登入(如 Digitimes),連結如何處理?
|
||
|
||
---
|
||
|
||
## 🟢 建議補充的規格
|
||
|
||
### 1. 環境變數管理章節
|
||
建議在 SDD 中新增「環境變數配置」章節,列出所有需要的環境變數。
|
||
|
||
### 2. 資料庫 Schema 詳細設計
|
||
建議補充:
|
||
- 各資料表的完整欄位定義
|
||
- 外鍵關係
|
||
- 索引設計
|
||
- 預設值與約束條件
|
||
|
||
### 3. API 端點規格
|
||
建議補充:
|
||
- RESTful API 端點清單
|
||
- 請求/回應格式
|
||
- 認證方式
|
||
- 錯誤碼定義
|
||
|
||
### 4. 部署架構圖
|
||
建議補充:
|
||
- 系統架構圖
|
||
- 資料流圖
|
||
- 部署架構圖
|
||
|
||
---
|
||
|
||
## 📝 待您提供的資訊
|
||
|
||
1. **資料庫連線資訊**(✅ 已提供)
|
||
- DB_HOST: mysql.theaken.com
|
||
- DB_PORT: 33306
|
||
- DB_NAME: db_A101
|
||
- DB_USER: A101
|
||
- DB_PASSWORD: Aa123456
|
||
- **狀態:** ✅ 測試連線正常
|
||
|
||
2. **Redis 連線資訊**(需要確認)
|
||
- REDIS_HOST
|
||
- REDIS_PORT
|
||
- REDIS_PASSWORD(如有)
|
||
|
||
3. **SMTP 設定**(需要確認)
|
||
- SMTP_HOST
|
||
- SMTP_USERNAME
|
||
- SMTP_PASSWORD
|
||
- SMTP_FROM_EMAIL
|
||
|
||
4. **LDAP 設定**(需要確認)
|
||
- LDAP_SERVER
|
||
- LDAP_BASE_DN
|
||
- 其他 LDAP 參數
|
||
|
||
5. **其他 API Keys**(需要確認)
|
||
- GEMINI_API_KEY 或 OPENAI_API_KEY
|
||
- DIGITIMES_USERNAME 和 PASSWORD
|
||
|
||
---
|
||
|
||
## ✅ 下一步行動
|
||
|
||
1. 請確認上述問題的答案
|
||
2. 提供資料庫連線資訊
|
||
3. 確認其他環境變數設定
|
||
4. 決定訂閱功能的資料表設計方式
|
||
|
||
---
|
||
|
||
**最後更新:** 2025-01-27
|
||
|