diff --git a/config.py b/config.py index 4206f15..3ae8011 100644 --- a/config.py +++ b/config.py @@ -402,7 +402,7 @@ YOUTUBE_API_KEY = os.getenv('YOUTUBE_API_KEY', '') # ========================================== # 系統版本與路徑 # ========================================== -SYSTEM_VERSION = "V10.647" +SYSTEM_VERSION = "V10.648" LOG_FILE_PATH = os.path.join(BASE_DIR, 'logs/system.log') public_url = PUBLIC_URL # 用於模板顯示 diff --git a/docs/AI_INTELLIGENCE_MODULE_SOT.md b/docs/AI_INTELLIGENCE_MODULE_SOT.md index 297e0a9..417fcc5 100644 --- a/docs/AI_INTELLIGENCE_MODULE_SOT.md +++ b/docs/AI_INTELLIGENCE_MODULE_SOT.md @@ -83,6 +83,7 @@ - V10.645 起 `/ai_intelligence` 的商品明細分流切換後,必須顯示「這類商品怎麼處理」的行動摘要,包含件數、近 7 天業績、平均可信度、最大價差、代表商品與主按鈕;使用者不得只能看到商品列表而不知道下一步。 - V10.646 起 `/ai_intelligence` 的商品明細必須提供搜尋與排序;搜尋至少涵蓋商品、分類、商品編號與 MOMO 候選資訊,排序至少支援優先級、近 7 天業績、價差、下滑幅度與可信度。搜尋/排序後的行動摘要與明細列表必須使用同一批結果。 - V10.647 起 `/ai_intelligence` 的商品明細每一筆都必須能打開單品作戰詳情,詳情需顯示商品、建議動作、近 7 天業績、業績變化、PChome/MOMO 價格證據、價差、可信度、判斷原因與下一步操作;不得只讓使用者看一排文字後自行猜測。 +- V10.648 起 `/ai_intelligence` 的商品明細上方必須提供分類策略看板,把商品依分類彙總成可點擊的數據條列;每列至少顯示分類、近 7 天業績、商品數、價格壓力、價格優勢、缺比價、待確認與建議下一步。點擊分類後必須切到該分類商品明細。 ## 零之一、12 Agent 決策信封(2026-05-24) diff --git a/templates/ai_intelligence.html b/templates/ai_intelligence.html index 6090561..8a80ba7 100644 --- a/templates/ai_intelligence.html +++ b/templates/ai_intelligence.html @@ -787,6 +787,126 @@ background: #d8a13a; } + .growth-category-board { + border: 1px solid rgba(42, 37, 32, 0.1); + border-radius: 8px; + background: rgba(255, 255, 255, 0.68); + margin-bottom: 10px; + padding: 10px; + } + + .growth-category-head { + display: flex; + align-items: center; + justify-content: space-between; + gap: 10px; + margin-bottom: 8px; + } + + .growth-category-title { + color: var(--momo-text-strong); + font-size: 0.84rem; + font-weight: 950; + margin: 0; + } + + .growth-category-note { + color: var(--momo-text-muted); + font-size: 0.68rem; + font-weight: 820; + text-align: right; + } + + .growth-category-list { + display: grid; + gap: 7px; + } + + .growth-category-row { + border: 1px solid rgba(42, 37, 32, 0.08); + border-radius: 8px; + background: rgba(250, 247, 240, 0.58); + color: var(--momo-text-strong); + display: grid; + grid-template-columns: minmax(160px, 1fr) minmax(260px, 1.25fr) minmax(88px, auto); + gap: 10px; + align-items: center; + padding: 9px 10px; + text-align: left; + width: 100%; + } + + .growth-category-row:hover, + .growth-category-row:focus { + border-color: rgba(172, 92, 58, 0.3); + background: rgba(255, 248, 232, 0.8); + outline: 0; + } + + .growth-category-row.is-active { + border-color: rgba(172, 92, 58, 0.38); + background: rgba(255, 248, 232, 0.9); + box-shadow: inset 3px 0 0 rgba(172, 92, 58, 0.48); + } + + .growth-category-name { + display: block; + font-size: 0.8rem; + font-weight: 950; + line-height: 1.25; + } + + .growth-category-meta, + .growth-category-action { + color: var(--momo-text-muted); + display: block; + font-size: 0.68rem; + font-weight: 850; + line-height: 1.3; + margin-top: 3px; + } + + .growth-category-bars { + display: grid; + gap: 5px; + } + + .growth-category-track { + background: rgba(42, 37, 32, 0.08); + border-radius: 999px; + height: 7px; + overflow: hidden; + } + + .growth-category-bar { + background: #ac5c3a; + border-radius: inherit; + display: block; + height: 100%; + } + + .growth-category-stats { + color: var(--momo-text-muted); + display: flex; + flex-wrap: wrap; + gap: 5px; + font-size: 0.66rem; + font-weight: 850; + line-height: 1.25; + } + + .growth-category-stats strong { + color: var(--momo-text-strong); + font-family: var(--momo-font-mono); + } + + .growth-category-cta { + color: #8f4d33; + font-size: 0.72rem; + font-weight: 950; + text-align: right; + } + .growth-decision-panel { display: grid; grid-template-columns: minmax(0, 1fr) auto; @@ -1631,6 +1751,23 @@ flex: 1 1 100%; } + .growth-category-head { + align-items: flex-start; + flex-direction: column; + } + + .growth-category-note { + text-align: left; + } + + .growth-category-row { + grid-template-columns: 1fr; + } + + .growth-category-cta { + text-align: left; + } + .growth-detail-price-grid { grid-template-columns: 1fr; } @@ -1826,6 +1963,15 @@ +