# 每日報導 APP - 技術確認清單 > 建立日期:2025-01-27 > 最後更新:2025-01-27 > 狀態:🟡 進行中 --- ## 📋 使用說明 - ✅ 已確認 - 🟡 待確認 - ❌ 已取消/不適用 - 📝 備註欄位可填入補充說明 --- ## 1. 前端技術架構 ### 1.1 前端框架選擇 **狀態:** 🟡 待確認 **問題:** 前端應使用哪個框架? - [V] React - [ ] Vue.js - [ ] Angular - [ ] 純 HTML/CSS/JavaScript(無框架) - [ ] 其他:________________ **備註:** --- ### 1.2 前端與後端通訊方式 **狀態:** 🟡 待確認 **問題:** 前端如何與後端 API 通訊? - [V] RESTful API - [ ] GraphQL - [ ] WebSocket(即時更新) - [ ] 混合方式:________________ **備註:** --- ### 1.3 前端渲染方式 **狀態:** 🟡 待確認 **問題:** 前端是否需要服務端渲染(SSR)? - [ ] 純 SPA(單頁應用) - [ ] SSR(服務端渲染) - [ ] SSG(靜態網站生成) - [V] 混合模式 **備註:** --- ## 2. 新聞抓取技術細節 ### 2.1 Digitimes 登入狀態管理 **狀態:** 🟡 待確認 **問題:** 如何處理 Digitimes 的登入狀態? - [ ] 每次抓取都重新登入 - [V] 維持 session,定期檢查有效性 - [V] 使用 Cookie 持久化 - [ ] 其他方式:________________ **備註:** --- ### 2.2 爬蟲實作技術 **狀態:** 🟡 待確認 **問題:** 使用哪種爬蟲技術? - [ ] Selenium(處理 JavaScript 渲染) - [V] Scrapy(高效能爬蟲框架) - [ ] BeautifulSoup + Requests(簡單靜態頁面) - [ ] Playwright(現代瀏覽器自動化) - [ ] 混合使用:________________ **備註:** --- ### 2.3 新聞去重機制 **狀態:** 🟡 待確認 **問題:** 如何避免重複抓取同一篇新聞? - [ ] 比對標題 + URL - [V] 比對標題 + 發布時間 - [ ] 使用內容 hash 值 - [ ] 資料庫唯一索引 - [ ] 組合方式:________________ **備註:** --- ### 2.4 新聞結構化提取 **狀態:** 🟡 待確認 **問題:** 需要提取哪些新聞欄位? - [V] 標題(必填) - [V] 正文內容(必填) - [V] 發布時間(必填) - [ ] 作者 - [ ] 來源 URL - [ ] 分類/標籤 - [ ] 圖片 - [ ] 其他:________________ **備註:** --- ## 3. AI 摘要處理邏輯 ### 3.1 多篇新聞合併策略 **狀態:** 🟡 待確認 **問題:** 當一個群組有多篇相關新聞時,如何處理? - [V] 全部合併成一段綜合分析(無數量限制) - [ ] 限制數量(如最多 10 篇),超過則分批處理 - [ ] 每篇單獨摘要,再合併摘要 - [ ] 其他策略:________________ **備註:** --- ### 3.2 Token 限制處理 **狀態:** 🟡 待確認 **問題:** 當新聞內容超過模型 token 限制時,如何處理? - [ ] 截斷內容(保留前 N 篇) - [] 分批處理後再合併摘要 - [V] 先進行初步摘要再送 LLM - [ ] 通知專員手動處理 - [ ] 其他方式:________________ **備註:** --- ### 3.3 背景資訊與摘要方向傳遞 **狀態:** 🟡 待確認 **問題:** 如何將群組的背景資訊與摘要方向整合到 LLM prompt? - [ ] 放在 system prompt 中 - [v] 放在 user prompt 開頭 - [ ] 使用 few-shot examples - [ ] 組合方式:________________ **備註:** --- ### 3.4 AI 摘要並行處理 **狀態:** 🟡 待確認 **問題:** 多個群組的摘要是否並行產生? - [v] 串行處理(一個接一個) - [ ] 並行處理(同時處理多個群組) - [ ] 有限並行(如最多 3 個同時) - [ ] 使用任務佇列(如 Celery) **備註:** --- ## 4. 資料庫設計 ### 4.1 資料庫 Schema 設計 **狀態:** 🟡 待確認 **問題:** 需要哪些主要資料表? - [v] users(用戶表) - [v] groups(群組表) - [v] keywords(關鍵字表) - [v] news(新聞表) - [v] reports(報告表) - [ ] subscriptions(訂閱表) - [v] comments(留言表) - [ ] favorites(收藏表) - [ ] annotations(標註表) - [v] llm_settings(LLM 設定表) - [v] system_logs(系統日誌表) - [ ] 其他:________________ **備註:** --- ### 4.2 關聯關係設計 **狀態:** 🟡 待確認 **問題:** 報告與新聞的關聯方式? - [ ] 一對多(一份報告對應多篇新聞) - [v] 多對多(一篇新聞可出現在多份報告) - [ ] 其他:________________ **備註:** --- ### 4.3 索引策略 **狀態:** 🟡 待確認 **問題:** 需要建立哪些索引以優化查詢效能? - [v] 新聞標題索引 - [ ] 新聞發布時間索引 - [v] 群組關鍵字索引 - [v] 用戶訂閱關係索引 - [ ] 其他:________________ **備註:** --- ## 5. Email 通知機制 ### 5.1 Email 模板格式 **狀態:** 🟡 待確認 **問題:** Email 內容應包含哪些資訊? - [v] 報告標題 - [v] 發布日期 - [v] AI 摘要內容 - [ ] 相關新聞標題列表 - [v] 線上閱讀連結 - [ ] 取消訂閱連結 - [ ] 其他:________________ **備註:** --- ### 5.2 Email 模板樣式 **狀態:** 🟡 待確認 **問題:** Email 模板樣式? - [ ] 純文字格式 - [] HTML 格式(含樣式) - [v] 響應式 HTML(支援手機) - [ ] 其他:________________ **備註:** --- ### 5.3 批次發送策略 **狀態:** 🟡 待確認 **問題:** 當訂閱讀者數量多時,如何發送 Email? - [ ] 同步發送(一次發送所有) - [v] 批次發送(如每批 10 封) - [ ] 使用任務佇列(背景處理) - [ ] 其他方式:________________ **備註:** --- ### 5.4 發送失敗處理 **狀態:** 🟡 待確認 **問題:** Email 發送失敗時的處理方式? - [ ] 自動重試(最多 3 次) - [v] 記錄失敗日誌 - [v] 通知系統管理員 - [ ] 組合處理:________________ **備註:** --- ## 6. PDF 匯出細節 ### 6.1 PDF 生成技術 **狀態:** 🟡 待確認 **問題:** 使用哪種技術生成 PDF? - [v] ReportLab - [ ] WeasyPrint - [ ] pdfkit / wkhtmltopdf - [ ] 前端生成(如 jsPDF) - [ ] 其他:________________ **備註:** --- ### 6.2 PDF 模板內容 **狀態:** 🟡 待確認 **問題:** PDF 應包含哪些內容? - [v] 公司 Logo - [v] 報告標題 - [v] 發布日期 - [v] AI 摘要內容 - [v ] 相關新聞列表(標題 + 連結) - [v ] 頁首頁尾文字 - [ ] 其他:________________ **備註:** --- ### 6.3 PDF 樣式規範 **狀態:** 🟡 待確認 **問題:** PDF 樣式需求? - [v ] 固定樣式(不可自訂) - [ ] 可自訂字體 - [ ] 可自訂顏色 - [ ] 可自訂版面配置 - [ ] 其他:________________ **備註:** --- ## 7. 權限與操作細節 ### 7.1 已發布報告修改權限 **狀態:** 🟡 待確認 **問題:** 專員是否可以修改或撤回已發布的報告? - [ ] 可以修改(會通知讀者) - [v ] 可以撤回(標記為已撤回) - [ ] 完全不可修改 - [ ] 僅限發布後 X 小時內可修改 **備註:** --- ### 7.2 留言審核機制 **狀態:** 🟡 待確認 **問題:** 讀者留言是否需要審核? - [ ] 不需要審核(直接顯示) - [ ] 需要專員審核 - [ ] 需要管理員審核 - [v ] 關鍵字過濾後自動審核 **備註:** --- ### 7.3 工作日定義 **狀態:** 🟡 待確認 **問題:** 如何判斷工作日? - [v ] 週一至週五(排除假日) - [v ] 使用台灣行事曆 API - [ ] 手動設定假日清單 - [ ] 其他方式:________________ **備註:** --- ## 8. 錯誤處理與備援 ### 8.1 部分新聞抓取失敗處理 **狀態:** 🟡 待確認 **問題:** 當部分新聞來源抓取失敗時? - [ ] 繼續處理其他成功的新聞 - [ ] 全部標記為失敗,等待重試 - [v ] 部分成功的新聞先處理,失敗的稍後重試 - [ ] 其他方式:________________ **備註:** --- ### 8.2 AI 摘要失敗處理 **狀態:** 🟡 待確認 **問題:** 當 AI 摘要產生失敗時? - [ ] 保留原始新聞,標記為「待處理」 - [v] 通知專員手動處理 - [v] 自動重試(最多 3 次) - [ ] 組合處理:________________ **備註:** --- ### 8.3 加密金鑰管理 **狀態:** 🟡 待確認 **問題:** API Key 加密金鑰如何管理? - [v] 儲存在環境變數 - [ ] 儲存在資料庫(加密) - [ ] 使用金鑰管理服務(如 HashiCorp Vault) - [ ] 其他方式:________________ **備註:** --- ### 8.4 加密金鑰輪換 **狀態:** 🟡 待確認 **問題:** 是否需要定期輪換加密金鑰? - [ ] 不需要 - [v] 需要(每 3 個月) - [ ] 手動觸發 - [ ] 其他:________________ **備註:** --- ## 9. 效能優化 ### 9.1 快取策略 **狀態:** 🟡 待確認 **問題:** 是否需要快取機制? - [ ] 不需要 - [v] Redis 快取 - [ ] 記憶體快取 - [ ] 資料庫查詢快取 - [ ] 組合方式:________________ **備註:** --- ### 9.2 非同步任務處理 **狀態:** 🟡 待確認 **問題:** 新聞抓取與 AI 摘要是否使用任務佇列? - [ ] 同步處理 - [v] Celery + Redis/RabbitMQ - [ ] 其他任務佇列:________________ - [ ] 不需要 **備註:** --- ### 9.3 資料庫連線池 **狀態:** 🟡 待確認 **問題:** 資料庫連線管理方式? - [v] 使用連線池(SQLAlchemy) - [ ] 每次請求建立連線 - [ ] 其他方式:________________ **備註:** --- ## 10. 雙語介面 ### 10.1 語言切換方式 **狀態:** 🟡 待確認 **問題:** 用戶如何切換語言? - [v] 用戶手動選擇(右上角切換) - [v] 系統自動偵測瀏覽器語言 - [ ] 根據用戶設定檔 - [ ] 其他方式:________________ **備註:** --- ### 10.2 內容翻譯需求 **狀態:** 🟡 待確認 **問題:** 新聞與摘要是否需要自動翻譯? - [ ] 不需要(僅介面翻譯) - [ ] 需要(新聞內容翻譯) - [v] 需要(摘要內容翻譯) - [ ] 需要(全部內容翻譯) - [ ] 其他:________________ **備註:** --- ## 11. 其他技術細節 ### 11.1 日誌記錄策略 **狀態:** 🟡 待確認 **問題:** 需要記錄哪些操作日誌? - [v] 用戶登入/登出 - [v] 新聞抓取記錄 - [v] AI 摘要產生記錄 - [v] 報告發布記錄 - [v ] 系統錯誤記錄 - [v ] API 呼叫記錄 - [ ] 其他:________________ **備註:** --- ### 11.2 日誌保留期限 **狀態:** 🟡 待確認 **問題:** 操作日誌保留多久? - [ ] 30 天 - [v ] 60 天 - [ ] 90 天 - [ ] 1 年 - [ ] 永久保留 - [ ] 其他:________________ **備註:** --- ### 11.3 備份策略細節 **狀態:** 🟡 待確認 **問題:** 資料庫備份的具體方式? - [ ] 每日全量備份 - [v ] 每日增量備份 - [ ] 每週全量 + 每日增量 - [ ] 其他方式:________________ **備註:** --- ### 11.4 監控與告警 **狀態:** 🟡 待確認 **問題:** 需要哪些監控與告警機制? - [v ] 系統健康檢查 - [v ] 新聞抓取失敗告警 - [v ] AI 摘要失敗告警 - [v ] 資料庫連線異常告警 - [v ] 系統效能監控 - [ ] 其他:________________ **備註:** --- ## 📊 進度統計 - **總問題數:** 44 - **已確認:** 0 - **待確認:** 44 - **已取消:** 0 --- ## 📝 更新記錄 | 日期 | 更新內容 | 更新人 | |------|---------|--------| | 2025-01-27 | 建立初始清單 | System |