Commit Graph

148 Commits

Author SHA1 Message Date
OG T
4912c7f307 fix(phase25): 首席架構師 Review R2 修正 (I1/I2/I3/I4/C3/M1)
I1: auto_repair_service — 失敗分支 anti_pattern task 補齊 _pending_tasks GC 防護
C3: drift_remediator — _kubectl_apply() 實作 resource_key 範圍過濾(修復虛設參數 bug)
M1: drift_remediator — _git_push() 標記 DISABLED,防止誤啟用
I2: drift.py — Telegram 通知移除失效的 adopt() 端點連結
I3: drift/page.tsx — handleScan POST body namespace→namespaces(對齊後端 DriftScanRequest)
I4: drift/page.tsx — 移除硬編碼英文字串,改用 t('loading')/t('highCount')/t('mediumCount')
i18n: zh-TW.json + en.json 補齊 drift.loading key

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-05 00:22:38 +08:00
OG T
cd5547f5eb feat(web/kb): 知識庫支援 AUTO_RUNBOOK + ANTI_PATTERN 類型顯示
- KnowledgeEntry type: 加入 auto_runbook + anti_pattern
- TYPE_COLORS: auto_runbook (紫色) + anti_pattern (紅色)
- 類型過濾器: 新增兩種類型選項
- i18n: zh-TW + en 新增 type.auto_runbook + type.anti_pattern + status.published

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-04 18:09:10 +08:00
OG T
aea16c87ce feat(web/drift): Config Drift Detection 頁面 — Phase 25 P2 前端
Some checks are pending
CD Pipeline / build-and-deploy (push) Waiting to run
- drift/page.tsx: 漂移偵測頁面(報告列表 + 手動掃描)
- sidebar.tsx: 加入 drift nav item(Diff icon,ops section)
- i18n: zh-TW + en 新增 nav.drift + drift.* keys

功能:
- GET /api/v1/drift/reports → 顯示最近 20 份報告
- POST /api/v1/drift/scan → 手動觸發掃描,顯示結果 banner
- DriftLevelBadge: 高/中/低 漂移計數
- StatusBadge: pending/resolved/ignored
- Nemotron 意圖分析顯示

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-04 18:08:05 +08:00
OG T
902443f376 feat(knowledge): 前端語意搜尋 UI — 切換按鈕 + 相似度分數顯示
Some checks failed
CD Pipeline / build-and-deploy (push) Has been cancelled
- 搜尋欄旁新增語意/關鍵字切換按鈕 (Sparkles icon, claw-blue 高亮)
- 語意模式下呼叫 GET /api/v1/knowledge/semantic-search (500ms debounce)
- 條目卡片右側:語意模式顯示相似度百分比,關鍵字模式顯示 view_count
- 空態:語意模式未輸入時顯示提示文字
- i18n: zh-TW + en 新增 6 個 key

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-04 11:58:40 +08:00
OG T
200c382ca4 feat(metrics): sparklines 串接真實數據 + TOOL_LINKS 移至 API (2026-04-04 ogt)
All checks were successful
CD Pipeline / build-and-deploy (push) Successful in 7m6s
前端 page.tsx:
- 今日事件 sparkline: 過去 6 小時每小時事件數 (從 incidents 計算)
- MTTR sparkline: 各已解決 incident 修復時間序列 (從 incidents 計算)
- 無數據時不顯示 sparkline (undefined 渲染 nothing)
- 移除硬碼 TOOL_LINKS,改讀 API 回傳的 tool.url

後端 monitoring.py:
- 每個 probe 函數回傳 dict 加入 "url" 欄位
- 前端工具連結由後端集中管理,解決多環境問題

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-04 11:09:04 +08:00
OG T
c1834a7156 feat(kb+apm): KB Phase 2-A 自動萃取 + KB-D Markdown 詳情面板 + APM 趨勢圖
All checks were successful
CD Pipeline / build-and-deploy (push) Successful in 7m28s
- KB-A: 新增 knowledge_extractor_service.py (Ollama llama3.2:3b 本地推理)
- KB-A: incident_service.py resolve hook (fire-and-forget asyncio.create_task)
- KB-D: 引入 react-markdown + remark-gfm,知識庫詳情面板 Markdown 渲染
- KB-D: 批准/封存按鈕串接 API (POST /knowledge/{id}/approve, PATCH status)
- KB-D: i18n 新增 approving/archiving 載入狀態文字
- APM: apm/page.tsx 整合 TimeSeriesChart sparkline (使用 trend[] 欄位)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-03 14:40:27 +08:00
OG T
7ff0c5c304 fix(i18n): MonitoringTools 硬編碼中文 → i18n keys + MTTR 趨勢改為真實計算
Some checks failed
CD Pipeline / build-and-deploy (push) Has been cancelled
- MonitoringTools: 載入中/無法連線/觸發/正常/離線/版本/統計/更新 → useTranslations
- MTTR 趨勢: '↓2m' hardcode → 前半/後半 resolved incidents 真實比較
- zh-TW.json + en.json: 新增 connectionError/monitoringStatus.firing/metaVersion/metaStats/metaUpdatedAt

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-03 14:36:46 +08:00
OG T
778d3cc2e4 fix(metrics): Pod健康 extra row 對齊 figma-v2 — 改用 sub 小字取代紅色 badge
All checks were successful
CD Pipeline / build-and-deploy (push) Successful in 6m48s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-03 14:12:48 +08:00
OG T
37eb17fc78 fix(layout): sidebar/header 對齊 — ml-[224px] + pt-[68px] 消除 32px 空隙
Some checks failed
CD Pipeline / build-and-deploy (push) Failing after 48s
- ml-64(256px) → ml-[224px] 對齊 sidebar 實際寬度
- pt-16(64px) → pt-[68px] 對齊 header 實際高度
- calc(100vh-64px) → calc(100vh-68px)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-03 13:35:47 +08:00
OG T
c290507878 fix(dashboard): metrics 完整對齊 figma-v2 — trend箭頭+value-row
Some checks failed
CD Pipeline / build-and-deploy (push) Has been cancelled
- MetricItem 加 trend 欄位(value-row 右側箭頭,figma exact copy)
- 今日事件: value-row 顯示 ↑N 橘色
- 自動處置率: value-row 顯示 ↑N% 綠色
- MTTR均值: value-row 顯示 ↓2m 綠色

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-03 12:30:07 +08:00
OG T
6ae655d943 fix(dashboard): metrics strip 完整對齊 figma-v2
All checks were successful
CD Pipeline / build-and-deploy (push) Successful in 6m44s
- background 改為 #fff(白色)
- padding 改為 8px 16px,min-width:120px
- divider 改為獨立元素(width:0.5px height:36px alignSelf:center)
- label font-size 改為 11px
- 移除 borderRight hack,使用獨立 divider

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-03 12:15:32 +08:00
OG T
59eaf5c51b fix(sidebar): 從 top:68px 開始,不再蓋住 header brand area
Some checks failed
CD Pipeline / build-and-deploy (push) Has been cancelled
sidebar 原本從 top:0 + 68px spacer 實作,z-index:40 > header:30
導致 sidebar 蓋住 header 左側 brand area (AwoooI logo 消失)
修復: 改為 top:68px bottom:0,完全在 header 下方

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-03 12:12:10 +08:00
OG T
8788cdaaa0 fix(dashboard): 修復 metrics strip 排版與數據問題
All checks were successful
CD Pipeline / build-and-deploy (push) Successful in 6m50s
- 活躍事件:有 incident 時值改橘色,下方顯示 P0×N + P2×N badge
- 服務健康:固定 4 條橫條按比例顯示健康率
- 待處理授權:i18n 修正「待簽核」→「待處理授權」,badge 顯示「等待確認」
- 自動處置率:移除錯誤 sparkline 覆蓋,恢復綠色進度條
- 移除未使用的 errorRateMetric/rpsMetric

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-03 12:00:35 +08:00
OG T
cbe528b5c6 feat(ui): header/sidebar/openclaw 完整對齊 figma-v2
All checks were successful
CD Pipeline / build-and-deploy (push) Successful in 6m57s
- 移除 OpenClaw "AWOOOI v1.0.0 | 正式環境" header
- 語言按鈕標籤改為 繁/EN (pill 樣式)
- header/sidebar 視覺對齊 figma-v2

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-03 11:36:38 +08:00
OG T
741a8f4917 feat(dashboard): 完整對齊 figma-v2 設計 — 重寫主頁
All checks were successful
CD Pipeline / build-and-deploy (push) Successful in 6m42s
- Metrics strip 從 6 個擴展為 7 個指標,新增「今日事件」(含趨勢折線圖)
- 服務健康指標加入彩色進度條視覺 (4 格色塊)
- 自動處置率加入漸層進度條 (figma-v2 style)
- MTTR 均值加入趨勢折線圖
- 監控工具卡片全面升級為 figma-v2 設計:
  左側 3px 彩色條 (Grafana=橘/Prometheus=紅/Sentry=紫/Langfuse=藍/SigNoz=藍/Gitea=綠)
  clickable <a> 連結加 ↗ 開新視窗圖示
  底部 meta 行顯示版本/統計/更新時間

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-03 01:09:41 +08:00
OG T
2dcbedd80f fix(host-grid): 對齊 figma — 服務行去掉 port/描述,hostname 顯示末段 IP
All checks were successful
CD Pipeline / build-and-deploy (push) Successful in 7m4s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-03 00:59:59 +08:00
OG T
702350925a fix(monitoring+layout): 修復基礎架構消失 + 監控工具全線上
All checks were successful
CD Pipeline / build-and-deploy (push) Successful in 6m47s
- page.tsx: 右側 panel overflow:hidden → overflowY:auto,基礎架構重新顯示
- page.tsx: 監控工具卡片對齊 figma (icon box + 版本/統計行 + ›箭頭)
- monitoring.py: Gitea probe 改用 /api/v1/version (/-/readiness 404)
- monitoring.py: Grafana dashboard count 加 Basic auth
- NetworkPolicy: 補開 3002/9090/3001 egress (Grafana/Prometheus/Gitea)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-03 00:50:53 +08:00
OG T
8bc086af58 feat(infra): 完整監控工具 + 主機服務清單 + K3s Cluster 突顯
All checks were successful
CD Pipeline / build-and-deploy (push) Successful in 6m50s
監控工具 (6個):
- 加入 Grafana (110:3002), Sentry (110:9000), Langfuse (110:3100)
- 保留 Prometheus, SigNoz, Gitea

基礎架構:
- 靜態服務目錄 HOST_CATALOG:每台主機完整服務+Port+說明
- K3s Server #2 (121) 補靜態卡 (API 未回傳)
- K3s Cluster HA 獨立藍色區塊,☸ 標題 + VIP 資訊
- 所有服務含 Port 號與功能描述

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-03 00:36:59 +08:00
OG T
e1e89c521a fix(frontend): 修復 compliance resolved_rate 百分比重複 ×100 + users executed_at→created_at
Some checks failed
CD Pipeline / build-and-deploy (push) Has been cancelled
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-03 00:28:22 +08:00
OG T
ce11fcdc3a feat(monitoring): 監控工具區塊 — Grafana/Prometheus/SigNoz/Gitea 狀態
- 新增 GET /api/v1/monitoring/status,asyncio.gather 並行探測四工具
- 前端 MonitoringTools 元件,60s 輪詢顯示狀態/版本/統計
- 新增 monitoringTools i18n key

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-03 00:27:47 +08:00
OG T
cb0f92557d feat(pages): 升級 5 個空殼頁面串接真實 API
All checks were successful
CD Pipeline / build-and-deploy (push) Successful in 6m45s
- billing: /api/v1/audit-logs/stats (by operation/namespace)
- compliance: /api/v1/stats/incidents/summary + auto-repair/stats
- cost: /api/v1/stats/ai-performance (提案執行率/成功率)
- security: /api/v1/errors/stats + /errors/issues (Sentry BFF)
- users: /api/v1/audit-logs/stats + /audit-logs (操作稽核)

全部真實數據,無假頁面、無 mock data

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-03 00:11:27 +08:00
OG T
0b83707697 feat(web): APM/Apps/Deployments/Tickets 頁面升級 — 串接真實 API 數據
Some checks failed
CD Pipeline / build-and-deploy (push) Has been cancelled
- apm/page.tsx: Golden Signals 真實數據 (SignOz ClickHouse)
- apps/page.tsx: 主機服務狀態 (/api/v1/dashboard 真實數據)
- deployments/page.tsx: K8s 部署狀態串接
- tickets/page.tsx: Incidents 列表串接
- i18n: apm/apps/deployments/tickets namespace 雙語補齊

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-03 00:08:11 +08:00
OG T
2253c1b74e fix(layout): 修復主頁大空白 + Metrics Strip 右側溢出
All checks were successful
CD Pipeline / build-and-deploy (push) Successful in 7m18s
E2E Health Check / e2e-health (push) Successful in 18s
新增 AppLayout fullBleed prop,主頁 opt-out p-6 包裝,
移除 page.tsx 的 margin: '-24px' hack。

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-02 23:58:48 +08:00
OG T
e93a50a4b4 feat(pages): 全部 ComingSoon 頁面升級為真實 UI — 串接真實 API / 空狀態頁面
All checks were successful
CD Pipeline / build-and-deploy (push) Successful in 6m47s
- services/topology: 串接 /api/v1/dashboard,顯示服務清單表格與主機拓撲卡片 grid
- notifications: 串接 /api/v1/notifications/channels,404 時顯示空列表
- reports: 串接 /api/v1/stats/incident-summary + /api/v1/stats/resolution-stats,顯示統計卡片
- apm: 乾淨空狀態頁(SignOz 待整合)
- apps/tickets/users/deployments: 空列表表格結構
- billing/compliance/cost/security: 空狀態卡片結構
- help: 靜態系統版本資訊頁
- zh-TW.json + en.json: 新增所有頁面 i18n key(零 hardcode 字串)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-02 23:49:24 +08:00
OG T
e9a1ac6276 fix(ui): 對齊 figma-v2 設計稿 — IncidentCard + OpenClawPanel 視覺修正
Some checks failed
CD Pipeline / build-and-deploy (push) Failing after 35s
IncidentCard:
- 背景 #fff、圓角 12px、頂邊條 4px(對齊設計稿)
- P1 嚴重度色修正為 #F59E0B(amber,非 orange)
- Severity badge 改為 4px 圓角 uppercase 樣式
- Impact 指標列移除灰底方塊,改為細邊框分隔線
- AI 提案按鈕改為全寬居中橙色風格

OpenClawPanel:
- 移除多餘 rounded-xl/backdrop/border(由父層卡片容器提供)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-02 23:36:59 +08:00
OG T
a3f02888a1 feat(ui): 加入 chibi 龍蝦游泳列 + 主頁卡片式佈局對齊設計稿
Some checks failed
CD Pipeline / build-and-deploy (push) Has been cancelled
- Metrics Strip 頂部加入龍蝦游泳動畫列
- 主體 Feed 和 Right Panel 改為圓角卡片式(背景白/陰影)
- Section header 加入橘點裝飾,對齊 figma-v2 設計稿
- 所有資料串接真實 API,無假資料

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-02 23:31:01 +08:00
OG T
ef5b1ab85a fix(knowledge-base): 串接 NEXT_PUBLIC_API_URL 取代相對路徑
All checks were successful
CD Pipeline / build-and-deploy (push) Successful in 7m6s
- /api/v1/knowledge 改用 process.env.NEXT_PUBLIC_API_URL 前綴
- 確保 Docker build 後能正確連到後端 API,不再打到 Next.js app server

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-02 23:19:14 +08:00
OG T
58002e6bf4 feat(phase24-b3): NemotronProvider 抽取 + incident-card 重構
Some checks failed
E2E Health Check / e2e-health (push) Has been cancelled
CD Pipeline / build-and-deploy (push) Has been cancelled
Phase 24 B3:
- 新增 ai_providers/nemotron.py: NemotronProvider 封裝 K8s Tool Calling
  搬移自 openclaw.py _call_nemotron_tools (L1623-1785)
  capabilities=tool_calling, privacy_level=cloud
- ai_router.py: 加入 NemotronProvider 到 Registry
- ai_providers/__init__.py: 匯出 NemotronProvider

Phase R-UI2 (架構師 Warning):
- incident-card.tsx: 抽取 useApprovalAction hook
  handleApprove/handleReject 60行重複邏輯 → 共用 hook
  行為完全不變,維護性提升

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-02 23:12:42 +08:00
OG T
ba4ee46514 fix(ui): 架構師 Review 修復 — i18n/keyframe/型別/版面
Some checks failed
E2E Health Check / e2e-health (push) Has been cancelled
CD Pipeline / build-and-deploy (push) Has been cancelled
Critical:
- flow-pipeline.tsx: 移除 4 個重複 lobster-bob keyframe,統一在父元件注入
  修正 isResolved 路由邏輯,保留嚴重度視覺識別 (P0 resolved 仍用 StyleA)
- incident-card.tsx: 修復 4 個硬編碼中文字串 (affectedServices/signalCount/statusLabel/aiProposal)
  新增對應 i18n key 到 zh-TW.json + en.json

Warning:
- page.tsx: MetricItem type 提升至 module scope,pendingApprovals null 安全檢查
  Metrics Strip 移除固定 height:68px 改為 auto + padding:8px

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-02 21:36:51 +08:00
OG T
28bd06d7b3 feat(homepage): Metrics Strip 7指標視覺強化 + 真實資料串接
Some checks failed
CD Pipeline / build-and-deploy (push) Has been cancelled
E2E Health Check / e2e-health (push) Has been cancelled
- 新增 podHealth/allRunning i18n key (zh-TW + en)
- Metrics Strip: 6個指標全部串接真實 API
  - 活躍事件: incidents count + P0 badge
  - 服務健康: dashboard services healthy/total + RPS sparkline
  - 待簽核: dashboard pendingApprovals + 橘色 badge
  - 自動處置率: incidents resolved rate + error rate sparkline
  - MTTR 均值: incidents resolved avg duration
  - POD 健康: dashboard services up/total + 顏色狀態
- Right panel 固定 530px 寬度 (55/45 比例)
- 禁止假數據: 無 API 資料時顯示 "--"

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-02 21:27:59 +08:00
OG T
93e3aa6811 feat(ui): 四種嚴重度管線動畫 + WoooClaw 命名更新
Some checks failed
E2E Health Check / e2e-health (push) Has been cancelled
CD Pipeline / build-and-deploy (push) Has been cancelled
- flow-pipeline.tsx: 新增 severity prop,四種管線樣式
  - P0 → Style A: 脈衝光波 + 流動光效 (#cc2200)
  - P1 → Style B: 進度條,龍蝦站在進度端點 (#F59E0B)
  - P2 → Style C: 卡片步驟,龍蝦浮在 active 卡片上方 (#4A90D9)
  - P3 → Style D: 時間軸,虛線流動動畫 (#22C55E)
- incident-card.tsx: FlowPipeline 傳入 severity={sev}
- openclaw-panel.tsx: NemoClaw→WoooClaw, OpenClaw Pipeline→WoooClaw Pipeline

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-02 21:18:22 +08:00
OG T
9afb518ea6 fix(ui): 修復事件卡片溢出框 + 基礎架構資料欄位錯誤對應
Some checks failed
CD Pipeline / build-and-deploy (push) Failing after 49s
E2E Health Check / e2e-health (push) Successful in 21s
- incident-card: AI提案按鈕 width 100% + margin 造成右側懸浮框,改為 calc(100%-20px)
- page.tsx: useHosts() 返回 Host[] 但直接傳入 HostGrid 期望的 HostInfo[],
  補上 mapper (name→hostname, metrics.cpu_percent→cpuPct, service.status→healthy)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-02 19:01:07 +08:00
OG T
1ec342db0c fix(web): 首席架構師審查修復 (82/100 → Pass)
Some checks failed
E2E Health Check / e2e-health (push) Successful in 18s
CD Pipeline / build-and-deploy (push) Has been cancelled
- 字體遷移遺漏: host-grid (2處), sidebar (1處) → var(--font-body)
- time-series-chart tick → var(--font-mono) (圖表軸標籤保留等寬意圖)
- i18n key 重複: 移除 incident.anomaly, 保留 incident.card.anomaly
- 全站 inline fontFamily: 'monospace' 歸零

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 13:56:43 +08:00
OG T
f0f9cc87a1 fix(web): monitoring 頁 QA 修復 — NAN% + HostGrid + i18n
Some checks failed
E2E Health Check / e2e-health (push) Successful in 17s
CD Pipeline / build-and-deploy (push) Has been cancelled
- HostGrid 接 useHosts() SSE 數據(不再傳空陣列)
- HealthSummary NAN% 修復:total_count=0 時顯示 0% 而非 NaN%
- 8 處硬編碼中文改 i18n (正常/警告/異常/黃金指標/主機狀態/服務清單/表頭)
- 新增 monitoring namespace i18n keys (11 keys × 2 langs)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 13:55:29 +08:00
OG T
1f174e1268 fix(web): 首頁全面 QA 修復 — hosts 數據 + incident 標題 + i18n + 字體
Some checks failed
E2E Health Check / e2e-health (push) Successful in 17s
CD Pipeline / build-and-deploy (push) Has been cancelled
- HostGrid 接 useHosts() SSE 數據(不再傳空陣列)
- IncidentCard 標題從 description?? '--' 改為 decision.action ?? services + 異常
- 6 處硬編碼中文改 i18n (活躍事件/載入中/系統穩定/OpenClaw認知引擎/基礎架構)
- fontFamily: Inter/monospace → var(--font-body) 全部替換
- 新增 dashboard.openclawEngine / infrastructure i18n keys

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 13:33:48 +08:00
OG T
1628f659e3 fix(web): tDashboard is not defined — 補上 useTranslations('dashboard')
Some checks failed
E2E Health Check / e2e-health (push) Successful in 16s
CD Pipeline / build-and-deploy (push) Has been cancelled
ReferenceError 導致 web pod crash loop。
page.tsx 用了 tDashboard() 但沒宣告。

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 13:17:32 +08:00
OG T
1123eb4107 feat(web): Metrics Strip 自動處置率 + MTTR 真實計算
Some checks failed
E2E Health Check / e2e-health (push) Successful in 17s
CD Pipeline / build-and-deploy (push) Has been cancelled
- autoRemediationRate: resolved+closed / total incidents
- mttrAvg: 平均 (updated_at - created_at) 分鐘/小時
- 替換原本的 '--' 靜態值

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 13:03:20 +08:00
OG T
05cd9cbab4 fix(web): 驗收報告 6 個問題修復
Some checks failed
E2E Health Check / e2e-health (push) Successful in 17s
CD Pipeline / build-and-deploy (push) Has been cancelled
1. [Medium] Metrics Strip [object Object] — 移除 pendingApprovals 陣列直接渲染
   + label 硬編碼改 i18n (activeIncidents/serviceHealth/todayIncidents 等)
2. [Low] KB GET /{id} 不過濾 archived — get_by_id 加 status != ARCHIVED
3. [Low] favicon.ico 404 — 新增 NemoClaw SVG favicon + layout metadata
4. [Medium] auto-repair console errors — fetchEval 加 try-catch 靜默處理

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 10:30:43 +08:00
OG T
4d46e6b9a7 style(web): 全站 font-mono → font-body (DM Mono 設計系統套用)
Some checks failed
E2E Health Check / e2e-health (push) Successful in 17s
CD Pipeline / build-and-deploy (push) Has been cancelled
45 個 component + 6 個 page 統一從舊 font-mono 遷移到
font-body (DM Mono),確保設計系統一致性。

font-body = DM Mono (等寬),視覺效果相同但走新設計 token。
保留: font-heading (Syne)、font-dot-matrix (VT323/DSEG7)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 09:37:03 +08:00
OG T
3ecfe7b3f5 chore: 清理 NemoNodeAnimation 殘留 + 修復 Migration YAML
Some checks failed
E2E Health Check / e2e-health (push) Successful in 19s
CD Pipeline / build-and-deploy (push) Has been cancelled
- 移除 nemo-node-animation.tsx (無人引用,已被 NemoClaw 取代)
- Migration YAML: 修復 $$ 在 YAML heredoc 被 shell 解析問題
  改用單引號字串 DO '' 語法

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 09:09:25 +08:00
OG T
e17248fd10 fix: 首席架構師審查修復 — i18n/CD/時區/死碼清理
Some checks failed
E2E Health Check / e2e-health (push) Successful in 16s
CD Pipeline / build-and-deploy (push) Has been cancelled
P0 前端 i18n 合規 (6 檔案):
- settings/page.tsx: 全面改用 useTranslations('settings')
- auto-repair/page.tsx: 30+ 處硬編碼改用 t('autoRepair.*')
- sidebar.tsx: sectionLabel 改用 tSection(),aria-label 國際化
- openclaw-panel.tsx: STATUS_MESSAGES 改用 tPanel(),Production 改用 tBrand
- alerts/page.tsx: StatPill label 改用 t('incident.severity.*')

P1 CD Pipeline:
- cd.yaml: runs-on 改 self-hosted (ADR-039)
- Telegram Secret 注入失敗改為 exit 1 (ADR-035)
- kubectl patch op:replace → op:add (首次部署相容)

P2 後端:
- langfuse_client.py: 移除 v4.x 死碼分支 (SDK 鎖定 <3.0.0)
- ai.py: 標記 TODO(R4) Router 瘦身

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 09:02:41 +08:00
OG T
502621e2f2 feat(web): Knowledge Base 前端頁面 + i18n
Some checks failed
CD Pipeline / build-and-deploy (push) Has been cancelled
E2E Health Check / e2e-health (push) Has been cancelled
- 左側分類導航 (基礎設施/應用層/AI系統/安全合規)
- 頂部搜尋欄 + 類型篩選 + 新增按鈕
- 知識條目列表 (type badge + status + tags + view count)
- 右側詳情 Panel (content + meta + approve/archive)
- 空態設計 (BookOpen icon + 說明文字)
- i18n: zh-TW + en knowledgeBase namespace (30+ keys)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 09:00:23 +08:00
OG T
5959855a71 feat(web): 字體系統升級 + NemoClaw SVG 還原 + Knowledge Base 設計文件
Some checks failed
E2E Health Check / e2e-health (push) Has been cancelled
CD Pipeline / build-and-deploy (push) Has been cancelled
- 字體:Syne (標題) + DM Mono (內文) + VT323 (品牌點陣),替換 Inter
- Tailwind: fontFamily 更新 + 5 層文字色彩 token (primary→disabled)
- Sidebar: NemoClaw 白瓷龍蝦爪 SVG + AWOOOI 用 VT323 放大
- OpenClaw Panel: 還原 NemoClaw 3D 白瓷龍蝦爪 (替換 NemoNodeAnimation)
- Knowledge Base 設計文件 (B分離/A K8s Job/Phase1跳過向量搜尋)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 00:48:42 +08:00
OG T
75e17528fc feat(settings): 從佔位符升級為完整設定頁面
All checks were successful
CD Pipeline / build-and-deploy (push) Successful in 6m55s
E2E Health Check / e2e-health (push) Successful in 15s
- 4 分區側邊導覽:外觀/語言/通知/系統資訊
- 外觀:緊湊模式 Toggle (localStorage 持久化)
- 語言:zh-TW / en 切換(路由導向)
- 通知:瀏覽器推播 / P0 Only 過濾 Toggles
- 系統:版本、API 端點資訊

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-01 23:03:41 +08:00
OG T
b51241826c feat(auto-repair): 從佔位符升級為完整自動修復頁面
- 統計面板: Playbook 數/高品質數/執行次數/成功率
- 自動修復就緒狀態指示器
- 活躍 P1/P2 Incident 評估列表(可展開查看 Playbook 詳情)
- 執行修復按鈕(呼叫 /api/v1/auto-repair/execute)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-01 23:02:40 +08:00
OG T
cdf60bb8c8 feat(pages): 補全所有缺失路由頁面 (15 個)
Some checks failed
E2E Health Check / e2e-health (push) Has been cancelled
CD Pipeline / build-and-deploy (push) Has been cancelled
實作頁面:
- /monitoring: 黃金指標 + 主機狀態 + 服務健康表格
- /alerts: P0-P3 分組 + 嚴重度統計 (已送)
- /terminal: OmniTerminal 路由 (已送)
- /authorizations: LiveApprovalPanel (已送)

佔位頁面 (ComingSoon):
- /apm /topology /security /compliance
- /auto-repair /deployments /tickets /cost /reports
- /apps /services /users /notifications /billing /help

新增 ComingSoon 元件 (極簡動點動畫)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-01 22:59:02 +08:00
OG T
7dde534575 feat(alerts): 新增告警管理頁面 + i18n 補全
Some checks failed
CD Pipeline / build-and-deploy (push) Successful in 6m52s
E2E Health Check / e2e-health (push) Has been cancelled
- /alerts 頁面:按 P0/P1/P2/P3 分組,15s 自動刷新
- 統計 4 欄(P0 CRITICAL 紅色高亮)
- 空態 / 載入 / 錯誤三態處理
- 補全 alerts.autoRefresh、common.loading/refresh i18n keys

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-01 22:50:12 +08:00
OG T
fccc69972d feat(terminal): 建立 /terminal 路由頁 + 補全 Sidebar 全部 i18n nav keys
Some checks failed
E2E Health Check / e2e-health (push) Has been cancelled
CD Pipeline / build-and-deploy (push) Has been cancelled
- 新增 terminal/page.tsx (自動開啟 OmniTerminal)
- zh-TW/en nav 補全 18 個缺失 key (alerts/monitoring/apm/...)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-01 22:46:59 +08:00
OG T
ddf82937f4 feat(authorizations): 從佔位符升級為完整 HITL 授權頁面
Some checks failed
E2E Health Check / e2e-health (push) Has been cancelled
CD Pipeline / build-and-deploy (push) Has been cancelled
接入 LiveApprovalPanel:Multi-Sig、權限擋板 (RBAC)、SSE 即時更新、CSRF 保護

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-01 22:45:41 +08:00
OG T
79c8a2e7ab fix(layout): 還原 Header 原始設計 + 修復 Metrics Strip 高度
Some checks failed
CD Pipeline / build-and-deploy (push) Has been cancelled
E2E Health Check / e2e-health (push) Has been cancelled
- Header 左側換回頁面標題 (移除重複的 SVG + AWOOOI 品牌)
- Metrics Strip height 50→60px (避免三行文字被截斷)
- 原因: commit 249ecde 錯誤地在 Header 加入品牌區塊,與 Sidebar 重複

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-01 22:42:07 +08:00