OG T
|
0b93f0e5c6
|
feat(topology): B2 elkjs 自動排版 + 展開收合互動 + 過濾控制
CD Pipeline / build-and-deploy (push) Has been cancelled
- 新增 useElkLayout.ts: elkjs compound graph 自動計算節點位置
- 收合時群組為葉節點, 展開時子服務納入 compound layout
- 邊線參與跨群組排版
- 異步計算, 失敗時 fallback 原位置
- GroupNode.tsx: 新增 onToggle/isExpanded props, ChevronDown/Right 圖示
- ServiceTopology.tsx: 整合 elkjs, 展開收合 state, 3 個控制按鈕
- 全展開 / 全收合 / 只看異常
- 排版中指示文字
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-04-10 11:29:16 +08:00 |
|
OG T
|
f8c6dfc642
|
feat(web): Header ⌘K 搜尋提示按鈕 + sensor service file 補齊
CD Pipeline / build-and-deploy (push) Has started running
Header:
- 新增 ⌘K 入口按鈕(搜尋圖示 + "搜尋..." + ⌘K badge)
- 點擊觸發 window keydown(meta+k) 開啟 CommandPalette
- hover 變藍(UX 提示)
Sensor:
- 補齊 apps/sensor/awoooi-sensor.service(PYTHONUNBUFFERED=1 + --loop)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-04-10 00:29:15 +08:00 |
|
OG T
|
524423577a
|
feat(web): 基礎架構主機卡點擊 → 詳情抽屜展開
CD Pipeline / build-and-deploy (push) Failing after 3m57s
E2E Health Check / e2e-health (push) Successful in 35s
點擊主機卡展開行內抽屜:
- CPU/RAM 大字顯示(含顏色警示:>80% 紅/>60% 橙)
- 完整服務清單(狀態點 + port + latency_ms)
- 相關事件(按 affected_services 過濾)
- ✕ 關閉 / 再點同卡收合
- 選中狀態:藍色邊框高亮
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-04-09 23:49:00 +08:00 |
|
OG T
|
2897007014
|
fix(web): 修復 webpack build 錯誤 — 重複 flexShrink + firing_count undefined
CD Pipeline / build-and-deploy (push) Has been cancelled
header.tsx: 移除重複的 flexShrink: 0 屬性 (TS1117)
classic/page.tsx: firing_count ?? 0 處理 undefined (TS2322)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-04-09 23:45:52 +08:00 |
|
OG T
|
89db96fc21
|
feat(web): ⌘K Command Palette — 全局指令面板 + 高斯模糊
CD Pipeline / build-and-deploy (push) Has been cancelled
- ⌘K (Mac) / Ctrl+K (其他) 開啟/關閉
- 高斯模糊背景 (backdrop-blur 8px + rgba overlay)
- 搜尋過濾:導航 9 頁 + 快速動作(開 Terminal)
- 鍵盤完整支援:↑↓ 選擇 / Enter 執行 / Esc 關閉
- 滑鼠 hover 同步 activeIdx
- 100% i18n (commandPalette namespace)
- Z-Index: DIALOG(70),掛載於 providers.tsx 全局層
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-04-09 23:28:36 +08:00 |
|
OG T
|
af7b6beba8
|
fix(web): Tab4 by_anomaly 欄位修正 — 適配真實 API 結構
CD Pipeline / build-and-deploy (push) Successful in 12m8s
by_anomaly 回傳結構為 {alert_name, anomaly_key, disposition:{total,auto_repair,auto_rate,...}}
修正:
- 排序依 disposition.total(非 count)
- 名稱顯示用 alert_name || anomaly_key
- auto_rate 取自 disposition.auto_rate * 100
- 計數取自 disposition.total
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-04-09 20:57:58 +08:00 |
|
OG T
|
ab5ba7062c
|
feat(web): Tab3 Chain-of-Thought 面板 + Tab4 by_anomaly Top5 + MTTR
CD Pipeline / build-and-deploy (push) Successful in 13m1s
Tab 3 ActivityStreamTab:
- 點擊 SSE 事件展開 COT 側面板(含 provider/confidence/latency/tools/reasoning)
- 有 proposal_data 的事件顯示 COT badge
- 點擊同一事件收合面板
Tab 4 DispositionTab:
- by_anomaly Top5 水平進度條(按 auto-repair 率著色:≥80% 綠/≥50% 橙/其他紅)
- MTTR 大字顯示(分鐘)+ 無資料時 fallback
i18n: cotTitle/cotReasoning/cotConfidence/cotProvider/cotLatency/cotTools/
cotClickHint/byAnomalyTitle/byAnomalyAutoRate/mttrTitle/mttrUnit/mttrNoData
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-04-09 20:42:02 +08:00 |
|
OG T
|
c200d7a52d
|
fix(web+k8s): CSRF mismatch + NetworkPolicy 缺少監控端口
CD Pipeline / build-and-deploy (push) Successful in 12m19s
1. pending-approvals-card: 改為點擊時即時 fetch 新 CSRF token
避免多 useCSRF 實例互相覆蓋 cookie 導致 header/cookie 不一致
2. NetworkPolicy: 補開 110:3002(Grafana) 9090(Prometheus) 3001(Gitea)
修正 monitoring probe "All connection attempts failed"
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-04-09 20:11:00 +08:00 |
|
OG T
|
8c2983b70a
|
fix(api+web): CORS 補 K3s NodePort origins + sign 補 signer_id/name
CD Pipeline / build-and-deploy (push) Has been cancelled
CORS (config.py):
- 補 http://192.168.0.125:32335 (K3s VIP NodePort)
- 補 http://192.168.0.120:32335 + 121:32335 (K3s nodes)
- 修前: 內網瀏覽器開 :32335 打 API 全 CORS blocked
(incidents Failed to fetch / monitoring 無法連線根因)
sign body (pending-approvals-card.tsx):
- signer: 'web-ui' → signer_id: CURRENT_USER.id + signer_name: CURRENT_USER.name
- 修前: POST /approvals/{id}/sign 回 403 (缺必填欄位 422 誤報為 403)
— 實際是 422 Field required signer_id + signer_name
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-04-09 19:50:48 +08:00 |
|
OG T
|
9a8f410f23
|
fix(web): PendingApprovalsCard 批准/拒絕補 CSRF Token — 修復 403
CD Pipeline / build-and-deploy (push) Has been cancelled
根因: fetch 沒帶 X-CSRF-Token header + credentials:include
API 回 403 "CSRF token cookie missing"
修復: 加 useCSRF hook,sign/reject 請求帶 ...getHeaders() + credentials:include
與 incident-card.tsx / openclaw-state-machine.tsx 同一模式
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-04-09 19:00:02 +08:00 |
|
OG T
|
a2a98452ad
|
fix(web): 移除 AIModelStatus 假綠燈 — Gemini/NVIDIA 不應 assumed up
CD Pipeline / build-and-deploy (push) Has been cancelled
根因: /api/v1/health 的 components 只有 api/database/redis/ollama/openclaw
d.components.gemini 永遠 undefined → healthy: true 是硬編碼假數據
修復: 改為只有 components 有對應 key 才更新狀態
無 health 資料時保持 false(unknown),不顯示假綠燈
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-04-09 18:51:14 +08:00 |
|
OG T
|
896bef94ee
|
fix(web): pending-approvals-card 加防重複點擊 + loading 狀態
linter 自動強化: actioningId state 防止同一張卡重複操作
- disabled + opacity 0.6 + cursor not-allowed
- loading 時按鈕顯示 '...'
- finally() 確保 actioningId 清除
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-04-09 18:38:08 +08:00 |
|
OG T
|
890e2a9568
|
fix(review): 架構審查修復 — P0 import crash + i18n 零 hardcode + 靜默錯誤
P0:
- proposal_service.py: 補 get_redis + INCIDENT_KEY_PREFIX import
(修前: resolve_incident_after_approval 必 NameError crash)
P1 i18n:
- page.tsx: 拓撲群組移除 emoji,改用 tTopo() i18n key
- page.tsx: 主機標籤 (DevOps金庫等) 改 tTopo() i18n
- ai-model-status.tsx: 加 useTranslations,AI 模型狀態 → t('aiModelStatus')
- disposition-mini.tsx: 查看完整報表 → t('viewAllReport')
- recent-activity.tsx: 查看活動串流 → t('viewAllAlerts')
P2 品質:
- pending-approvals-card.tsx: approve/reject 加 r.ok 檢查+錯誤顯示,查看全部授權加路由+i18n
- page-tabs.tsx: TabSkeleton 載入中... → t('loading')
- page.tsx: ↑5% → tDashboard('trendUp', {pct}) 動態值
- page.tsx: Prometheus '23' hardcode → '-- targets'
i18n 新增 key (zh-TW + en 同步):
- dashboard: viewAllAlerts/viewAllAuth/viewAllReport/aiModelStatus/loading/trendUp
- topology: groupExternal/allReachable/investigating/hostDevops/hostAiData/hostK3sMaster/hostK3sWorker
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-04-09 18:34:50 +08:00 |
|
OG T
|
49a15e1ac9
|
feat(web): G1 骨架屏取代載入中 + S8 完整提交 — Sprint 5R
CD Pipeline / build-and-deploy (push) Has been cancelled
- G1: PulseSkeleton + CardSkeleton 元件
- 首頁所有 LobsterLoading 替換為 PulseSkeleton/CardSkeleton
- Tab 2/4 載入狀態用 CardSkeleton
- 活躍事件載入用 PulseSkeleton
Sprint 5R Phase 1B+1C 全部完成:
S1(KPI卡片) S2(FlowPipeline OpenClaw) S3(AI提案) S4(環形圖)
S5(時間線) S6(Terminal) S7(待審批) S8(拓撲群組+主機)
S9(AI模型) S10(監控3×2) S11(Tab修復) S12(頁面修復) G1(骨架屏)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-04-09 18:09:26 +08:00 |
|
OG T
|
09c6eb3358
|
feat(web): S2 FlowPipeline 龍蝦→OpenClaw icon — Sprint 5R
CD Pipeline / build-and-deploy (push) Has been cancelled
- LobsterSVG 替換為 OpenClawIcon (dashboardicons.com/openclaw PNG)
- 4 種嚴重度渲染全部更新 (P0/P1/P2/P3)
- icon 直接取代圓圈作為活躍步驟標記(非浮動)
- S3 確認: AI 提案橫幅已存在且樣式正確
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-04-09 18:07:53 +08:00 |
|
OG T
|
03b07d5bc5
|
feat(web): S8 基礎架構拓撲群組 2×2 + 主機 4 台 — Sprint 5R
CD Pipeline / build-and-deploy (push) Has been cancelled
- 拓撲模式(預設): 4 群組 2×2 網格 (基礎設施/AI數據/K3s/外部)
每群組含名稱+服務數+健康摘要+服務列表(色點)
有 warning 的群組加橘色光暈
- 主機模式: 4 台 2×2 (110/188/120/121) 含 CPU/RAM 進度條
優先使用 API 真實數據,fallback 靜態值
- 預設切換為拓撲模式 (設計稿要求)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-04-09 18:06:01 +08:00 |
|
OG T
|
895784e646
|
feat(web): S7+S9+S10 待審批+AI模型+監控工具3×2 — Sprint 5R
CD Pipeline / build-and-deploy (push) Successful in 12m15s
- S7: PendingApprovalsCard 含風險標籤 + 批准/拒絕按鈕
- S9: AIModelStatus 2×2 (OpenClaw/Ollama/Gemini/NVIDIA)
- S10: MonitoringTools 改 3×2 網格 (名稱+元資訊+左側色條)
- 右欄順序: OpenClaw → 待審批 → 基礎架構 → 監控工具 → AI模型
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-04-09 16:10:28 +08:00 |
|
OG T
|
a0f3a7d532
|
feat(web): S6 OpenClaw AI Terminal + 狀態數據 — Sprint 5R
CD Pipeline / build-and-deploy (push) Successful in 13m15s
- 分隔線下方新增:模型名稱 + 運行狀態
- 即時統計:今日分析數 / 成功率 / MTTR
- AI 推理終端:#141413 背景 + #a0e8a0 螢光綠 + JetBrains Mono
- 最後一行黃色閃爍游標 ▎
- 資料來源:/api/v1/alert-operation-logs + /api/v1/stats/disposition
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-04-09 15:56:03 +08:00 |
|
OG T
|
b85a0e232e
|
feat(web): S4+S5 處置統計環形圖 + 最近活動時間線 — Sprint 5R
CD Pipeline / build-and-deploy (push) Has been cancelled
- S4: DispositionMini 元件 (SVG 環形圖 + 四類列表)
- S5: RecentActivity 元件 (時間線 + 色點 + JetBrains Mono)
- 左欄改為 flex:6 可滾動多卡片列
- 右欄改為 flex:4 (60:40 比例)
- 左欄結構: 活躍事件 → 處置統計 → 最近活動
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-04-09 15:51:54 +08:00 |
|
OG T
|
7a2e07f74f
|
feat(web): S1 KPI Strip 改 5 張卡片 — Sprint 5R Phase 1B
- 7 指標分隔線 → 5 張 kpi-card 卡片橫排
- 系統健康(進度條) / 活動事件(P1:P2) / 自動修復率(進度條+↑5%) / 待審批 / 本週操作
- 移除龍蝦游泳列(統帥指示移除)
- 新增 weeklyOps 從 /api/v1/audit-logs/stats 取得
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-04-09 15:48:04 +08:00 |
|
OG T
|
289dac6bd1
|
fix(web): S11+S12 載入失敗修復 — Sprint 5R Phase 1A
CD Pipeline / build-and-deploy (push) Has been cancelled
- S11: Tab 2 approvals API path 修正 (?status=pending → /pending)
- S11: Tab 2 fetch 加 r.ok 檢查避免解析錯誤 JSON
- S12: 安全合規改用 SecurityPanel + CompliancePanel (解決 double AppLayout)
- S12: 知識庫改為 redirect 到 /knowledge-base (避免 lazy import 問題)
- S12: 拓撲圖加入 useDashboardStore.connect() 啟動 SSE
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-04-09 15:43:06 +08:00 |
|
OG T
|
73ef9c6b12
|
fix(web): QA 掃描 — alert-operation-logs i18n + classic emoji→icon + knowledge 載入中
CD Pipeline / build-and-deploy (push) Successful in 12m28s
- alert-operation-logs: 30+ 處硬編碼中文改 useTranslations (18 event types + UI)
- classic: 告警 badge + 等待確認 + TOOL_EMOJI → Lucide icon
- knowledge: 載入中 → common.loading
- 新增 alertOpLogs i18n section (zh-TW + en)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-04-09 13:58:04 +08:00 |
|
OG T
|
580053394b
|
fix(web): C4 監控工具 emoji → Lucide icon (feedback_no_emoji_use_icons.md)
CD Pipeline / build-and-deploy (push) Has been cancelled
TOOL_EMOJI Record<string> 改為 TOOL_ICON Record<React.ReactNode>
使用 BarChart3/Flame/Telescope/FlaskConical/Activity/GitBranch
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-04-09 11:28:53 +08:00 |
|
OG T
|
4a94588766
|
fix(web): I3 approve/reject API + I4 SIGNOZ_URL env + I5 ErrorsPanel nothing-gray
CD Pipeline / build-and-deploy (push) Has been cancelled
- I3: Approve/Reject 按鈕串接 /api/v1/approvals/{id}/sign|reject
- I4: ApmPanel SIGNOZ_URL 改用 NEXT_PUBLIC_SIGNOZ_URL 環境變數
- I5: ErrorsPanel 外框改用 nothing-gray 調色盤 inline style
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-04-09 11:20:44 +08:00 |
|
OG T
|
28d2ff704e
|
fix(web): C1 殘留 i18n — 5 處硬編碼中文改 useTranslations
CD Pipeline / build-and-deploy (push) Has been cancelled
- 告警 badge: alertBadge / alertBadgeZero
- 等待確認: awaitingConfirm
- 主機/拓撲 toggle: hostView / topoView
- HOST_CATALOG description 確認未渲染,不需 i18n
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-04-09 11:18:05 +08:00 |
|
OG T
|
fb66ecd2a0
|
refactor(web): Panel 抽取全面完成 — 三個整合頁面解決雙重 AppLayout
CD Pipeline / build-and-deploy (push) Has been cancelled
/observability: AppsPanel + ServicesPanel (共 5/5 Tab 完成)
/automation: AutoRepairPanel + NeuralCommandPanel + DriftPanel (3/3)
/operations: DeploymentsPanel + TicketsPanel + CostPanel + ActionLogsPanel + BillingPanel (5/5)
原始頁面全部精簡為 AppLayout + Panel,零雙重 Layout。
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-04-09 11:06:57 +08:00 |
|
OG T
|
7934ade3a6
|
refactor(web): 全部 13 Panel 抽取完成 + 整合頁面雙重 AppLayout 修正
CD Pipeline / build-and-deploy (push) Has been cancelled
Panel 抽取 (13 個):
- MonitoringPanel, ApmPanel, ErrorsPanel, AppsPanel, ServicesPanel
- AutoRepairPanel, NeuralCommandPanel, DriftPanel
- DeploymentsPanel, TicketsPanel, CostPanel, ActionLogsPanel, BillingPanel
整合頁面更新 (全部使用 Panel,無雙重 AppLayout):
- /observability: 5 Panel
- /automation: 3 Panel
- /operations: 5 Panel
首席架構師 I2 問題已解決
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-04-09 11:05:37 +08:00 |
|
OG T
|
9e10305acc
|
fix(web): C2 拓撲元件 i18n — 10+ 處硬編碼中文改 useTranslations
CD Pipeline / build-and-deploy (push) Has been cancelled
|
2026-04-09 11:04:35 +08:00 |
|
OG T
|
7153395267
|
fix(web): 首席架構師 P0 修正 — i18n 硬編碼 + 效能輪詢
CD Pipeline / build-and-deploy (push) Has been cancelled
C1: 首頁 4 Tab 30+ 處硬編碼中文改為 useTranslations
- 新增 dashboard.tabs.* / alertEvents / approve / reject 等 30+ i18n key
- zh-TW + en 雙語同步
C3: automation/operations Loading 改用 LobsterLoading (i18n)
I1: 100ms setInterval 改為 popstate + 1s 低頻備援 (效能 10x 改善)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-04-09 11:01:07 +08:00 |
|
OG T
|
5ea6c3fb91
|
feat: alert_operation_log 查詢 API + 前端頁面 (Sprint 5.2)
CD Pipeline / build-and-deploy (push) Has been cancelled
後端:
- 新增 list_recent() 分頁方法 (alert_operation_log_repository)
- 新增 /api/v1/alert-operation-logs GET + /stats 端點
- main.py 註冊 alert_operation_logs_v1.router
前端:
- /alert-operation-logs 頁面,18 種 event_type 顏色標記
- 分頁、event_type 篩選、incident_id 篩選
- 24h 統計卡片 (總數/護欄攔截/自動修復/已解決)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-04-09 10:57:40 +08:00 |
|
OG T
|
11fc2860cf
|
refactor(web): ErrorsPanel 抽取 — /observability 3 個 Tab 已無雙重 Layout
CD Pipeline / build-and-deploy (push) Has been cancelled
|
2026-04-09 10:51:59 +08:00 |
|
OG T
|
22fa6ea413
|
refactor(web): ApmPanel 抽取 — /observability 的 monitoring+apm 兩個 Tab 無雙重 Layout
CD Pipeline / build-and-deploy (push) Has been cancelled
|
2026-04-09 10:49:39 +08:00 |
|
OG T
|
f05a391d02
|
feat(web): panels/index.ts 匯出 + Panel 抽取進度標記
CD Pipeline / build-and-deploy (push) Has been cancelled
|
2026-04-09 10:42:30 +08:00 |
|
OG T
|
770667eed4
|
refactor(web): MonitoringPanel 抽取 — 解決 /observability 雙重 AppLayout
CD Pipeline / build-and-deploy (push) Has been cancelled
|
2026-04-09 10:40:07 +08:00 |
|
OG T
|
c26c4030e4
|
feat(web): /topology 升級為 React Flow 完整版 (串接真實 dashboard API)
CD Pipeline / build-and-deploy (push) Has been cancelled
|
2026-04-09 09:49:31 +08:00 |
|
OG T
|
030f4f7c32
|
feat(web): 首頁基礎架構加入拓撲圖 Toggle (主機/拓撲切換,串接真實 API)
CD Pipeline / build-and-deploy (push) Has been cancelled
|
2026-04-09 09:12:31 +08:00 |
|
OG T
|
65e1edb0ad
|
feat(web): OpenClaw 風格龍蝦 SVG + 三色狀態燈號 + 測試修正
CD Pipeline / build-and-deploy (push) Failing after 1m39s
前端:
- OpenClawLobster 全新 SVG (參考 dashboardicons.com/icons/openclaw)
圓潤身體 + 大眼睛 + 鉗子 + 觸角 + 微笑 + 小腳
- 三色版本: red(異常/預設) / green(健康) / yellow(警告)
- LobsterLoading 改用新 SVG
測試修正:
- test_nemotron_failure_still_returns_proposal: func_body 截取 5000→10000
原因: 函數超過 5000 字元,導致 rfind 找不到最後的 return
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-04-09 08:55:21 +08:00 |
|
OG T
|
c669069427
|
feat: 小龍蝦載入動畫 + HostAggregator 效能優化
CD Pipeline / build-and-deploy (push) Has been cancelled
前端:
- LobsterLoading 共用元件 (Q版龍蝦上下浮動 + 文字提示)
- 替換首頁所有「載入中...」為小龍蝦動畫
- PageTabs 骨架屏也換成龍蝦
後端:
- TCP probe timeout: 3.0s → 1.5s
- HTTP probe timeout: 5.0s → 2.0s
- 30 秒記憶體快取 (避免 unreachable 主機拖慢前端)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-04-08 22:44:24 +08:00 |
|
OG T
|
ef17720dfe
|
fix(web): 首頁 Tab 切換同步修正 — activeTabId 追蹤 URL query 變化
CD Pipeline / build-and-deploy (push) Has been cancelled
|
2026-04-08 22:36:39 +08:00 |
|
OG T
|
286df4b3e3
|
fix(web): Sidebar section label 修正 — main 不顯示標題,legacy 用分隔線
CD Pipeline / build-and-deploy (push) Has been cancelled
|
2026-04-08 22:33:17 +08:00 |
|
OG T
|
1413804378
|
feat(web): Sprint 5 Phase 3 — 5 個整合頁面 + Sidebar 路由更新
新增頁面:
- /observability: 服務監控 + APM + 錯誤追蹤 + 應用 + 服務目錄 (5 Tab)
- /automation: 自動修復 + 神經指揮 + Drift (3 Tab)
- /operations: 部署 + 工單 + 成本 + 行動日誌 + 計費 (5 Tab)
- /security-compliance: 安全 + 合規 (2 Tab)
- /knowledge: 知識庫
所有 Tab 用 React.lazy + Suspense 載入現有頁面內容
零假數據: 每個 Tab 都是現有真實頁面
Sidebar 路由更新指向新整合頁面
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-04-08 22:09:53 +08:00 |
|
OG T
|
d276b39bd5
|
feat(web): Sprint 5 Phase 2 — React Flow 拓撲圖元件 (串接真實 dashboard API)
新增 7 個檔案:
- ServiceTopology.tsx: 主元件 (ReactFlow + Controls + MiniMap + 空狀態)
- GroupNode.tsx: 群組節點 (memo + 收合摘要 + CPU/RAM 指標)
- ServiceNode.tsx: 服務節點 (memo + 狀態燈 + 端口 + 延遲)
- TopologyEdge.tsx: 自定義邊線 (漸層 + 虛線)
- useTopologyData.ts: 從 dashboard store 讀取真實資料 → nodes/edges
- index.ts: 匯出
資料來源: useDashboardStore → hosts[] (HostAggregator 真實 TCP/HTTP 探測)
依賴關係: 靜態定義 (對應 ConfigMap 環境變數)
零假數據: 所有節點資料來自真實 API
TypeScript: 零新增錯誤
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-04-08 21:14:29 +08:00 |
|
OG T
|
eaa6102e69
|
feat(web): Sprint 5 Phase 1.3 — Sidebar 精簡 25→6+2+經典
導航重組 (統帥批准 2026-04-08):
- 指令中心 / → 整合: 儀表板+授權+告警+報表 (4 Tab)
- 可觀測性 → 整合: 監控+APM+錯誤+應用+服務 (5 Tab)
- 自動化 → 整合: 自動修復+神經指揮+Drift (3 Tab)
- 營運 → 整合: 部署+工單+成本+行動日誌+計費 (5 Tab)
- 安全合規 → 整合: 安全+合規 (2 Tab)
- 知識 → 知識庫
- Legacy: 經典 AI 中心 (/classic)
- 底部: 終端 + 設定
i18n: zh-TW + en 新增 7 個導航 key
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-04-08 21:10:11 +08:00 |
|
OG T
|
4f2f9e176f
|
feat(web): Sprint 5 Phase 1.2 — 首頁 4-Tab 結構 (全部串接真實 API)
Tab 1 戰情總覽: 保留現有首頁所有元素 (MetricsStrip + IncidentCard + OpenClaw + HostGrid + MonitoringTools)
Tab 2 告警 & 授權: 串接 /api/v1/incidents + /api/v1/approvals (真實數據)
Tab 3 活動串流: 串接 SSE /api/v1/dashboard/stream (EventSource 即時)
Tab 4 處置統計: 串接 /api/v1/stats/disposition (Sprint 4 API)
零假數據: 所有 Tab 無資料時顯示空狀態,不用 Mock
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-04-08 18:17:10 +08:00 |
|
OG T
|
46ca2eadc3
|
feat(web): Sprint 5 Phase 1.1 — PageTabs 共用頁籤元件
|
2026-04-08 18:12:43 +08:00 |
|
OG T
|
11ff517406
|
feat(web): Sprint 5 Phase 0 — 安裝 React Flow + elkjs + 保留經典首頁
Phase 0:
- 安裝 @xyflow/react 12.10.2 + elkjs 0.11.1
- import 驗證通過
經典首頁保留:
- 複製現有首頁到 /classic/page.tsx (815行)
- 統帥指示: 新指令中心部署後,舊版保留供對照
零假數據鐵律: 所有新頁面必須串接真實 API
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-04-08 18:07:59 +08:00 |
|
OG T
|
de3935d1d4
|
feat: Sprint 4 Phase E+F — 前端處置統計 + 週報處置分佈
CD Pipeline / build-and-deploy (push) Failing after 1m26s
Type Sync Check / check-type-sync (push) Failing after 1m2s
Phase E: 前端頁面
- E1: /reports 完整處置統計儀表板 (已在 Sprint F 完成)
- E2: 首頁 Metrics Strip — 從 disposition API 取得真實自動化率
優先使用 /stats/disposition auto_rate,fallback 到 incidents 推算
- E3: /auto-repair 處置概況卡片 (已在 Sprint F 完成)
- E4: /neural-command stats tab 處置分佈 (已在 Sprint F 完成)
- E5: i18n 翻譯 zh-TW + en (已在 Sprint F 完成)
Phase F: 週報 + 文件
- F1: WeeklyReportMessage 新增 disposition 5 欄位
週報格式加「📋 處置分佈」區塊 (自動/冷啟動/人工/手動 + 自動化率)
weekly_report_service 整合 get_all_disposition_stats()
- message 字數上限從 900 提升到 1200 (適應處置區塊)
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
|
2026-04-07 13:02:20 +08:00 |
|
OG T
|
22bc384b28
|
feat(web): Sprint 4 Phase E — 前端處置統計儀表板
E1: /reports 頁面升級為完整處置統計儀表板
- 頂部 3 KPI (處置總次數/自動化率/人工介入率)
- 四大計數卡片 (自動修復/人工審核/手動處理/冷啟動信任)
- 堆疊分佈條 (百分比視覺化)
- 按異常類型明細表格
- 串接 GET /api/v1/stats/disposition
E3: /auto-repair 頁面加入處置概況 4 卡片
E4: /neural-command stats tab 加入處置分佈區塊
E5: 新增 25+ i18n 翻譯鍵 (zh-TW + en)
全部頁面 next build 通過,統帥鐵律: 無假數據,無資料顯示 '--'
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-04-07 13:00:41 +08:00 |
|
OG T
|
246587a401
|
fix(web): Sprint F 前端打假行動 — 29處假數據全面清除 (首席架構師 98/100)
P0: Neural Command 三個子組件移除所有 MOCK 常數,接上真實 API props
- NeuralLiveCenter: 假歷史/假KPI/假雷達 → 從 stats/history/incidents 即時計算
- NeuralStats: MOCK_HISTORY/SCHEME_STATS/PLAYBOOK_RANKINGS → useMemo 聚合
- NeuralApprovalPanel: MOCK_PENDING → 真實 /api/v1/approvals 簽核操作
P1: 10+處假用戶身份 (demo-user/user-001/War Room User) → CURRENT_USER 常數統一
P2: 刪除 6 個 Demo 匯出 (GlobalPulseChartDemo/MOCK_APPROVAL/DEMO_DECISION_CHAIN)
P3: /demo 頁面加 NEXT_PUBLIC_ENABLE_DEMO 環境變數保護
i18n: 新增 22 個翻譯鍵 (zh-TW + en)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-04-07 12:53:52 +08:00 |
|
OG T
|
02510d3d93
|
feat: /api/v1/auto-repair/history endpoint + neural-command 接真實 API (Sprint 3)
CD Pipeline / build-and-deploy (push) Failing after 8m50s
- 新增 RepairHistoryItem/RepairHistoryResponse Pydantic models
- GET /api/v1/auto-repair/history?limit=N 從 incidents working memory 推導修復歷史
- 前端 fetchData() 同時拉 history + approvals/pending,移除硬編碼 pendingApprovals=0
- try/except 包覆確保任何錯誤都回傳空列表不中斷前端
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-04-06 14:28:55 +08:00 |
|