All checks were successful
CD Pipeline / deploy (push) Successful in 2m49s
Wave 4 部分完成:competitor v4 五力升級(戰略視角) generate_competitor_v4_ppt — 7 頁 - P1 封面:含整體領先/勢均力敵/落後徽章 + 三句話戰略指引 - P2 五力雷達圖(matplotlib polar)+ 右側 6 維度分數明細表(含雙條視覺化) - P3 商品力 + 價格力(雙卡) - P4 行銷力 + 服務力(雙卡) - P5 品牌力 + 財務力(雙卡含 momo 8454/PChome 8044/蝦皮 SE/酷澎基本面) - P6 AI 戰略整合(差異化建議) - P7 附錄 新增 helper:_mpl_radar_png() - matplotlib polar projection 五力雷達 - momo 焦糖橘 + 競品蜂蜜金 - 0-10 分尺度,含格線/標籤/圖例 query_competitor_5forces — 半實作 - 商品力:momo SKU 數從 DB 算 / 競品靜態 fallback - 價格力:靜態(待擴 competitor_price_history 整合) - 行銷力 / 服務力:靜態知識(電視購物頻道 / 24h 物流 / 訂閱制) - 品牌力:靜態 + 預留 mcp_collector 整合空間 - 財務力:上市公司公開資訊(momo 8454 富邦集團、PChome 8044、SEA、酷澎) 每個維度自動算 momo - 競品差異 → 識別最大優勢力與最大劣勢力 _ppt_ai_analysis 加 is_5forces 分支 - 角色:BCG/麥肯錫資深戰略顧問 - 結構:整體競爭態勢 / 優勢加碼 / 劣勢補強或避戰 / SMART 三層 / 競爭風險 - max_tokens 2400 路由: - /ppt competitor_v4 vs PChome(預設) - /ppt competitor_v4 蝦皮 vs 蝦皮 - /ppt competitor_v4 酷澎 vs 酷澎 Telegram 按鈕:「⚔️ 競業五力 v4」 bump TEMPLATE_VERSIONS['competitor_v4'] = v4.0.0(新類型獨立版本) 簡化限制:商品力/價格力/品牌力的競品具體數據需後續擴 mcp_collector (PChome SKU API、Dcard 品牌討論度量化等),靜態 fallback 已維持結構完整性 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
路由模組說明
app.py 直接註冊所有 Flask Blueprint;USE_MODULAR_ROUTES、register_blueprints()、
MODULAR_ENDPOINTS 與 duplicate cleanup 開關已在 ADR-017 Phase 3f-1 移除。
啟動防線
app.py 會在啟動時檢查 app.url_map,同一組 (URL, HTTP methods) 不允許被兩個 endpoint
重複註冊;若發現衝突會直接 SystemExit。
模組清單
| 模組 | 說明 | 主要路由 |
|---|---|---|
dashboard_routes.py |
商品看板首頁 | / |
sales_routes.py |
業績分析與 ABC 明細 | /sales_analysis, /growth_analysis, /abc_analysis/detail, /api/sales_analysis/* |
system_public_routes.py |
無 prefix 公開系統頁與監控 | /health, /metrics, /ai_automation_smoke, /api/ai-automation/smoke*, /settings, /system_settings, /logs, /api/logs, /api/backup |
system_routes.py |
內部系統維護 API | /api/system/* |
edm_routes.py |
EDM 與節慶儀表板 | /edm, /festival |
monthly_routes.py |
月結分析 | /monthly_summary_analysis, /api/monthly_summary_data |
daily_sales_routes.py |
當日業績 | /daily_sales, /daily_sales/export* |
api_routes.py |
通用任務與查詢 API | /api/run_task, /api/history/* |
export_routes.py |
匯出功能 | /api/export/* |
import_routes.py |
匯入功能 | /api/import_excel, /api/import/monthly_summary |
新增 route 時請優先放入對應 Blueprint,並用本機 app.url_map duplicate check 驗證。
若 route 內開始出現大量資料處理、SQL、AI prompt 或外部 API 呼叫,請依
docs/guides/modularization_governance.md 抽到 services/ 或 utils/,不要讓 Blueprint 變成新巨檔。