diff --git a/docs/AWOOOI_COMPREHENSIVE_AUDIT_2026Q1.md b/docs/AWOOOI_COMPREHENSIVE_AUDIT_2026Q1.md new file mode 100644 index 00000000..9368ce8d --- /dev/null +++ b/docs/AWOOOI_COMPREHENSIVE_AUDIT_2026Q1.md @@ -0,0 +1,783 @@ +# AWOOOI 全維度盤點暨長期解決方案總報告 + +> **文件類型**: 首席架構師全面稽核報告 +> **建立日期**: 2026-03-29 12:21 (台北) +> **建立者**: Antigravity (Google DeepMind) +> **版本**: v1.0 +> **保密等級**: 統帥級 + +--- + +## 執行摘要 (Executive Summary) + +AWOOOI 平台已完成 **Phase 21 (Day 12)**,整體架構已從「Agent 指揮艙」成功升級為「獨立 SaaS AI 智能運維平台」。本報告對五大主軸進行深度盤點:**基礎設施、工具鏈、前端 UI/UX、後端服務、AI/觀測性**,並針對每個痛點提供長期解決方案路線圖。 + +**AWOOOI 當前總評**: `87/100` — **強健 (Robust,接近卓越)** + +--- + +## 第一章:基礎設施盤點 (Infrastructure Inventory) + +### 1.1 五大主機現況 + +| 主機 IP | 代號 | 職責 | 健康狀態 | 備註 | +|---------|------|------|---------|------| +| **192.168.0.110** | DevOps 金庫 | Harbor:5000 / Sentry:9000 / Langfuse:3100 / GH Runner | ✅ 健康 | 雙 Prometheus (188+110) | +| **192.168.0.112** | Kali Security | Scanner API:8080 | ⚠️ **低活躍** | 幾乎無 ADR 覆蓋,未整合進主流程 | +| **192.168.0.188** | AI+Web 中心 | Nginx / Ollama:11434 / OpenClaw:8089 / SigNoz:3301 / PostgreSQL:5432 / Redis:6380 / MinIO:9000 | ✅ 健康 | **核心大腦節點** | +| **192.168.0.120** | K3s Master (mon) | AWOOOI Prod (API:32334 / Web:32335) / VIP 入口 | ✅ 健康 | K3s v1.34.5+k3s1 | +| **192.168.0.121** | K3s Worker (mon1) | K3s Control-Plane 2 | ✅ 健康 | PostgreSQL Datastore HA | +| **192.168.0.125** | VIP | keepalived 虛擬 IP | ✅ 已整合 CI/CD | K8s API Entry | + +### 1.2 已部署服務清單 (60+ 服務) + +#### K8s Workloads (awoooi-prod namespace) + +| 服務 | 副本 | 監控 | 告警 | 自動修復 | 優先級 | +|------|------|------|------|---------|-------| +| awoooi-api | 2 (HPA 2-6) | P/S/O/L | ✅ 全覆蓋 | restart/scale | **P0** | +| awoooi-web | 2 (HPA 2-6) | P/S/O | ✅ 全覆蓋 | restart | **P0** | +| awoooi-worker | 1 | P/S/O/L | worker_stuck | restart | P1 | +| argocd-server | - | P | sync_failed | - | P1 | +| prometheus | - | - | service_down | - | P0 | +| alertmanager | - | P | service_down | - | P0 | +| VPA/Descheduler/Kured | - | P | - | - | P2 | + +> 圖例: P=Prometheus, S=Sentry, O=OTEL, L=Langfuse + +#### Docker 服務 (192.168.0.188) + +| 服務 | Port | 優先級 | 自動修復 | +|------|------|-------|---------| +| Ollama | 11434 | P0 | ✅ 自動重啟 | +| OpenClaw | 8089 | P0 | ✅ 自動重啟 | +| Redis Stack | 6380 | P0 | ❌ 謹慎處理 | +| PostgreSQL | 5432 | P0 | ❌ 謹慎處理 | +| MinIO | 9000/9001 | P1 | - | +| SigNoz UI | 3301 | P2 | - | +| SigNoz Collector | 24317 | P1 | - | +| ClickHouse | 8123 | P1 | - | + +#### Docker 服務 (192.168.0.110) + +| 服務 | Port | 優先級 | 整合狀態 | +|------|------|-------|---------| +| Harbor Registry | 5000 | P0 | ✅ CI/CD 整合 | +| Sentry | 9000 | P1 | ✅ Webhook 整合 | +| Langfuse | 3100 | P2 | ✅ LLMOps 整合 | +| GitHub Runner | systemd | P0 | ✅ 自動修復 | + +### 1.3 基礎設施問題清單 + +#### 🔴 嚴重問題 (P0) + +| # | 問題 | 根因 | 風險 | +|---|------|------|------| +| I-01 | **192.168.0.112 (Kali) 幾乎未整合** | 只有 Scanner API,無 ADR 覆蓋,無自動告警 | 安全掃描能力閒置,投資浪費 | +| I-02 | **K3s Worker liveness 探針依賴 heartbeat mtime** | 非標準方式,若 touch 失敗會誤殺 Pod | 服務不穩定性 | +| I-03 | **單一 GPU 節點 (.188) 無備援** | Ollama 跑在唯一的 62GB RAM 機器 | 單點故障導致 AI 能力全失 | + +#### 🟡 警告問題 (P1) + +| # | 問題 | 根因 | 風險 | +|---|------|------|------| +| I-04 | **PostgreSQL 無主從複製** | K3s HA 的 Datastore 沒有 PostgreSQL 副本 | DB 故障時 K3s 控制面崩潰 | +| I-05 | **Redis 無持久化驗證** | RDB/AOF 配置未在監控覆蓋 | 重啟後 Signing State 可能丟失 | +| I-06 | **MinIO 無 GC 機制** | Velero 備份積累 30 天不清理 | 磁碟滿 (MinIO 在 .188 上) | +| I-07 | **雙 Prometheus 未合併** | .188 和 .110 各跑一個 Prometheus,無聯邦查詢 | 監控數據碎片化,無統一視圖 | + +### 1.4 長期解決方案 + +``` +📌 路線圖:基礎設施長期戰略 + +Phase I-A (立即執行, 2週): + ├── I-01: 建立 Kali Scanner ADR,整合到 AWOOOI 安全掃描流程 + ├── I-04: PostgreSQL Streaming Replication 到備援機器 + └── I-07: 建立 Prometheus Federation,統一指向 .188 查詢 + +Phase I-B (中期執行, 1月): + ├── I-02: 重新設計 Worker 健康檢查 (HTTP + /tmp 雙重) + ├── I-05: Redis AOF 配置驗證 + 告警覆蓋 + └── I-06: MinIO Lifecycle Policy (>30天自動刪除) + +Phase I-C (長期規劃, Q2): + └── I-03: 評估第二 GPU 節點或 Cloud GPU 熱備用策略 +``` + +--- + +## 第二章:工具鏈與 CI/CD 盤點 + +### 2.1 CI/CD 管線現況 + +| 環節 | 工具 | 狀態 | +|------|------|------| +| 原始碼 | GitHub | ✅ 正常 | +| CI | GitHub Actions (self-hosted, .110) | ✅ 正常 | +| 映像建置 | Harbor (192.168.0.110:5000) | ✅ 不可變標籤 {sha}-{run_id} | +| CD | ArgoCD + kubectl | ✅ ApplicationSet 修復完成 | +| VIP | keepalived 192.168.0.125 | ✅ CI/CD 整合 | +| 告警鏈路驗證 | alert_chain_smoke_test.py | ✅ CD 後自動執行 | +| Telegram Secrets | kubectl patch secret | ✅ 三層防護 | + +### 2.2 工具生態系盤點 + +#### 已整合工具 + +| 工具 | 用途 | 整合深度 | +|------|------|---------| +| **ArgoCD** | GitOps CD | ✅ ApplicationSet 部署 | +| **Velero + MinIO** | K8s 備份還原 | ✅ 每日 02:00 備份 | +| **Kured** | 自動節點重啟 | ✅ 維護窗口 02:00-04:00 | +| **VPA** | 垂直 Pod 自動擴縮 | ✅ 已部署 | +| **Descheduler** | 負載均衡 | ✅ 每 2 小時 threshold 30% | +| **kube-state-metrics** | K8s 狀態指標 | ✅ v2.10.1 @ :30888 | +| **Langfuse** | LLMOps 追蹤 | ✅ 整合 Ollama/Gemini | +| **Sentry** | 錯誤追蹤 + Webhook | ✅ 完整整合 | +| **SigNoz** | OTEL APM | ✅ 整合所有後端 | +| **Prometheus/Alertmanager** | 指標告警 | ✅ 25/25 targets UP | +| **Grafana** | 視覺化 | ✅ K3s + NVIDIA Dashboard | +| **MCP Protocol** | AI 工具橋接 | ✅ ADR-001 | + +#### 未整合 / 弱整合工具 + +| 工具/能力 | 現況 | 缺口 | +|---------|------|------| +| **Kali Scanner (.112)** | 🔴 孤立 | 無 AWOOOI Webhook 整合 | +| **GraphRAG** | 🟡 實作但未整合 | `graph_rag.py` 存在但無持久化 | +| **Knowledge Base** | 🟡 頁面存在但無後端 | `/knowledge-base` 頁面空白 | +| **Omni-Terminal 後端** | 🟡 前端殼已建 | FastAPI 端點未完全對接 | +| **NVIDIA Nemotron** | ✅ Phase 20 已完成 | Circuit Breaker 已部署 | +| **Playwright E2E** | 🟡 測試已寫 | 缺少 CI/CD 定期執行 | +| **Cost Analyzer** | 🔴 FinOps 引擎閒置 | cost_analyzer.py 有實作但無 UI | + +### 2.3 CI/CD 問題 + +#### 🔴 嚴重問題 + +| # | 問題 | 影響 | +|---|------|------| +| C-01 | **OpenAPI Spec 未自動驗證** | 前後端契約可能悄悄偏離 | +| C-02 | **E2E Playwright 測試未在 CI 定期跑** | UI 回歸無保障 | +| C-03 | **CD timeout 僅 20min** | 大型部署可能超時失敗 | + +#### 🟡 警告問題 + +| # | 問題 | 影響 | +|---|------|------| +| C-04 | **無藍綠部署** | 每次部署都有短暫 downtime | +| C-05 | **SBOM / 軟體物料清單缺失** | 依賴安全掃描盲區 | + +### 2.4 長期解決方案 + +``` +📌 路線圖:工具鏈長期戰略 + +Phase C-A (立即執行, 1週): + ├── C-02: 加入 Playwright Weekly E2E 排程 (weekly.yaml) + └── C-01: 整合 spectral lint 到 CI (spectral.yaml 已存在!) + +Phase C-B (中期, 1月): + ├── C-04: 實作 K8s Blue-Green 部署策略 + ├── 整合 Kali Scanner 到 CI (每次 PR 做安全掃描) + └── 整合 FinOps 看板到 Dashboard + +Phase C-C (長期規劃, Q2): + └── C-05: 整合 Trivy/Syft SBOM 生成到 CD +``` + +--- + +## 第三章:前端 UI/UX 深度審查 ⚠️ 核心痛點 + +> **統帥點名**:前端缺陷是此次盤點最核心的痛點,必須有徹底的解決方案。 + +### 3.1 現況診斷 + +#### 已完成的前端建設 + +| 頁面/組件 | 狀態 | 品質 | +|---------|------|------| +| Dashboard (首頁) | ✅ 運行 | 真實 SSE 數據 | +| Authorizations (簽核) | ✅ 運行 | ConversationalView + CSRF | +| Action Logs | ✅ 運行 | 真實 API | +| Error Tracking | ✅ 運行 | Sentry 整合 | +| Omni-Terminal | 🟡 外殼已建 | 後端未完全對接 | +| Settings | 🟡 部分功能 | - | +| Knowledge Base | 🔴 空白頁 | 無後端 | +| Topological Canvas | 🔴 未建 | AWOOOI Roadmap P2 | + +#### 技術債盤點 + +**i18n 違規 (GLOBAL_RULES 第二章):** + +根據 `docs/TECHNICAL_DEBT_PHASE2.md`,截至 2026-03-20 仍有 40+ 處違規,主要集中在: + +| 優先級 | 檔案 | 違規數 | 狀態 | +|-------|------|-------|------| +| 🔴 P0 | `approval-card.tsx` | 20+ | 部分修復 | +| 🔴 P0 | `data-pincer.tsx` | 5 | **未修復** | +| 🔴 P0 | `status-orb.tsx` | 4 | **未修復** | +| 🔴 P0 | `connection-status.tsx` | 10 | **未修復** | +| 🟡 P1 | `thinking-terminal.tsx` | 15+ | **未修復** | +| 🟡 P1 | `live-host-card.tsx` | 1 | **未修復** | + +**視覺規範違規:** +- Omni-Terminal 外殼:白玻璃效果已實現,但後端 SSE 事件類型未完全對接 +- 部分頁面仍存在 `shadcn/ui` 預設樣式 (已廢除) + +### 3.2 🚨 Claude Code 前端弱點:根本問題診斷 + +Claude Code (以及類似 AI 工具) 在前端 UI/UX 領域存在**結構性弱點**,必須正視: + +| 弱點 | 具體表現 | 影響 | +|------|---------|------| +| **視覺感知盲區** | AI 無法「看到」最終渲染效果 | 代碼看起來正確,但視覺效果差 | +| **CSS層疊語境失憶** | 修改一個組件不知道影響全局 | 修了A壞了B | +| **動畫設計能力薄弱** | 無法感受 150ms vs 300ms 的區別 | 動畫要麼太慢要麼太生硬 | +| **設計意圖無法推斷** | Nothing.tech 審美需要視覺參照 | 生成的 UI 趨向平庸/安全 | +| **瀏覽器兼容性盲點** | Safari glassmorphism bugs 難以捕捉 | 交付物在某些瀏覽器崩潰 | + +### 3.3 🎯 前端 UI/UX 徹底解決方案 (The Frontend Sovereignty Plan) + +#### 戰略框架:三元驅動模型 + +``` +┌─────────────────────────────────────────────────────────────────────┐ +│ AWOOOI 前端主權計畫 (Frontend Sovereignty) │ +├─────────────────────────────────────────────────────────────────────┤ +│ │ +│ Layer 1: 設計系統主權 (Design System Sovereignty) │ +│ ┌─────────────────────────────────────────────────────────────┐ │ +│ │ Nothing.tech Design Tokens → Tailwind Config → │ │ +│ │ Storybook 組件庫 → AI 可引用的視覺規格文檔 │ │ +│ └─────────────────────────────────────────────────────────────┘ │ +│ ↕ 雙向同步 │ +│ Layer 2: AI 賦能層 (AI-Augmented Development) │ +│ ┌─────────────────────────────────────────────────────────────┐ │ +│ │ Cursor/Claude Code → 視覺截圖回饋 → 自動 QA → │ │ +│ │ Playwright Screenshot Diff (視覺回歸測試) │ │ +│ └─────────────────────────────────────────────────────────────┘ │ +│ ↕ 品質門 │ +│ Layer 3: 統帥審美主控 (Commander Aesthetic Control) │ +│ ┌─────────────────────────────────────────────────────────────┐ │ +│ │ AI 生成 → 截圖存檔 → 統帥批准 → 鎖定 Snapshot → │ │ +│ │ 後續 AI 修改必須通過 Visual Regression Test │ │ +│ └─────────────────────────────────────────────────────────────┘ │ +│ │ +└─────────────────────────────────────────────────────────────────────┘ +``` + +#### 具體解決方案:9 大行動 + +**🔴 緊急 (立即執行)** + +**行動 1: 建立 Storybook 組件庫 (Component Bible)** + +```bash +# 在 apps/web 建立 Storybook +pnpm add -D @storybook/nextjs @storybook/addon-essentials +``` + +目標:將所有核心組件 (GlassCard, StatusOrb, ApprovalCard, OmniTerminal 等) 上架 Storybook,讓 AI 有可引用的「視覺字典」。每個組件附上: +- 設計規格截圖 +- Nothing.tech 視覺 Token 標注 +- 各狀態的 Stories (Loading/Error/Success/CRITICAL) + +**行動 2: 建立 Visual Regression Testing** + +```yaml +# .github/workflows/visual-regression.yaml +# 使用 Playwright Screenshot Diff +# 每次 PR 自動截圖並與 baseline 比對 +# 差異超過 阈值 → PR 阻擋 +``` + +這直接解決 AI「視覺感知盲區」問題。AI 修了代碼,如果像素不對,CI 就攔截。 + +**行動 3: 完成 i18n 清零 (技術債閃電戰)** + +策略:一次性全掃描,批量修復所有 40+ 違規,而非逐一修復。 + +```bash +# 腳本化搜索所有硬編碼字串 +grep -rn "\"[A-Z][A-Z]" apps/web/src --include="*.tsx" | grep -v "//.*\"" > i18n_violations.txt +``` + +**🟠 中期 (2-4 週)** + +**行動 4: Omni-Terminal 後端全接通** + +根據 `AWOOOI_AGENTIC_WORKSPACE_ROADMAP.md` 的神經連接藍圖,實現三大 SSE 事件類型: +- `event: thought` → Agent 思考流 +- `event: tool_call` → 工具調用微動畫 +- `event: render_ui` → GenUI 動態渲染 + +這是 AWOOOI 區別於傳統監控後台的**決定性功能**。 + +**行動 5: 建立 GenUI 組件動態註冊系統** + +```typescript +// apps/web/src/components/genui/registry.ts +// 已有基礎,需要擴充 + +const GENUI_COMPONENTS = { + 'MetricsCard': () => import('./cards/MetricsCard'), + 'K8sPodCard': () => import('./cards/K8sPodCard'), + 'SqlQueryCard': () => import('./cards/SqlQueryCard'), // 新增 + 'NetworkTopologyCard': () => import('./cards/NetworkTopologyCard'), // 新增 + 'IncidentTimelineCard': () => import('./cards/IncidentTimelineCard'), // 新增 + 'FinOpsCard': () => import('./cards/FinOpsCard'), // 新增 +} +``` + +**行動 6: Knowledge Base 頁面後端建設** + +建立 Knowledge Base API (`/api/v1/knowledge-base/`): +- 整合 GraphRAG (`graph_rag.py`) +- 事件記憶回廊 (Episodic Memory Vault) +- Playbook 搜尋與管理 + +**🟡 長期 (1-2 個月)** + +**行動 7: Topological Canvas 建設** + +實現 `AWOOOI_AGENTIC_WORKSPACE_ROADMAP.md` 中的「拓撲因果畫布」: +- 使用 `react-flow` 或類似庫 +- 爆炸半徑高光 (Blast Radius Highlight) +- 時光倒流 Time-Travel 功能 + +**行動 8: 視覺靈魂注入 (Phase 4)** + +啟動條件:所有 API 穩定、i18n 清零後。 +- Q 版 OpenClaw 品牌 3D 資產 +- 微動畫升級 (150ms 快閃動畫) +- 打字機效果 Token Buffer 優化 + +**行動 9: 建立 AI 視覺審查 SOP** + +```markdown +## AI 前端開發 SOP (新增) + +1. AI 修改前端代碼 +2. AI 執行 `pnpm exec tsc --noEmit` (已有) +3. 🆕 AI 執行瀏覽器截圖: `playwright screenshot` +4. 🆕 截圖存至 `docs/screenshots/{date}/{component}.png` +5. 🆕 更新 LOGBOOK: "已截圖,視覺狀態 XX" +6. 統帥審核截圖後批准或提供反饋 +``` + +### 3.4 前端路線圖時間表 + +``` +2026 Q1 (即時): + Week 1: i18n 清零全掃描 + 一次性修復 + Week 2: Storybook 建立 + 10 核心組件上架 + +2026 Q2 前半: + Week 3-4: Omni-Terminal 後端全接通 + Week 5-6: GenUI Registry 擴充 + 5 張新卡片 + Week 7-8: Visual Regression Testing CI 整合 + +2026 Q2 後半: + Month 2: Knowledge Base 後端建設 + Month 3: Topological Canvas MVP + +2026 Q3: + Phase 4: 視覺靈魂注入 (品牌資產 + 微動畫) +``` + +--- + +## 第四章:後端服務盤點 + +### 4.1 leWOOOgo 積木化現況 + +| 積木類別 | 實作狀態 | 品質評分 | +|---------|---------|---------| +| **INPUT** | ✅ Webhook/Cron/Alert 全覆蓋 | 9/10 | +| **BRAIN** | ✅ LLM Router/RAG/Triage | 9/10 | +| **OUTPUT** | ✅ Telegram Gateway | 9/10 | +| **ACTION** | ✅ K8s/SSH Executor | 8/10 | +| **DATA** | ✅ Redis/PostgreSQL | 8/10 | +| **UI** | 🟡 GenUI 部分完成 | 6/10 | + +### 4.2 核心服務健康度 + +| 服務 | 版本 | 測試覆蓋 | ADR | 問題 | +|------|------|---------|-----|------| +| `decision_manager.py` | - | 🟡 | ADR-003 | 首席架構師 Tier 3,修改需授權 | +| `trust_engine.py` | - | ✅ | ADR-003 | 穩健 | +| `telegram_gateway.py` | - | ✅32/32 | ADR-035 | 方法名稱曾出錯 (已修復) | +| `model_router.py` | - | ✅ | ADR-006/016 | 穩健 | +| `nvidia_provider.py` | - | ✅34/34 | ADR-036 | Circuit Breaker 完成 | +| `anomaly_counter.py` | v1.0 | ✅ | ADR-037 | 新完成,觀察期 | +| `learning_service.py` | v1.1 | ✅ | ADR-030 | Phase G 擴展完成 | +| `stats_service.py` | - | ✅ | ADR-024 | 已重構 (Router 層薄轉發) | + +### 4.3 後端問題清單 + +#### 🔴 嚴重 (P0) + +| # | 問題 | 根因 | 狀態 | +|---|------|------|------| +| B-01 | **Sentry Comment 回寫未完成** | Phase D 中 `post_sentry_comment` 是 TODO | 🚧 待實作 | +| B-02 | **GraphRAG 無持久化** | `graph_rag.py` 拓撲在記憶體中,重啟消失 | 🔴 技術債 | +| B-03 | **Knowledge Base 無後端** | 前端頁面空白,無對應 API | 🔴 缺失 | + +#### 🟡 警告 (P1) + +| # | 問題 | 根因 | +|---|------|------| +| B-04 | **CSRF Token 未驗證在所有敏感端點** | Phase 20 只覆蓋 Approvals,其他端點未驗證 | +| B-05 | **Slow Query 監控只有 5s/10s 警告,無自動優化** | `stats_service.py` 只有日誌,無動作 | +| B-06 | **Worker 只有 1 副本,無備援** | HPA 未設定 Worker,單點故障 | + +### 4.4 長期解決方案 + +``` +📌 路線圖:後端長期戰略 + +Phase B-A (立即執行, 1週): + ├── B-01: 完成 Sentry Comment 回寫 (Phase D 文件已有代碼) + ├── B-06: Worker HPA 設定 (min:1, max:3) + └── Phase E: SignOz Webhook Handler 部署 + +Phase B-B (中期, 1月): + ├── B-02: GraphRAG 整合 Redis/Neo4j 持久化 + ├── B-03: Knowledge Base API 建設 + └── B-04: CSRF 全站推廣 + +Phase B-C (長期, Q2): + ├── B-05: 自動 Slow Query 優化建議 (AI 分析) + └── 完整 Learning Service 閉環 (自動更新 Playbook) +``` + +--- + +## 第五章:AI / 可觀測性盤點 + +### 5.1 AI 能力矩陣 + +| 能力 | 狀態 | 提供商 | 備援 | +|------|------|-------|------| +| **一般對話/RCA** | ✅ | Ollama → Gemini → Claude | 四層備援 | +| **Tool Calling** | ✅ | NVIDIA Nemotron → Gemini → Claude | Circuit Breaker | +| **LLMOps 追蹤** | ✅ | Langfuse | Traces 完整 | +| **OTEL 分佈追蹤** | ✅ | SigNoz | 25 targets | +| **錯誤追蹤** | ✅ | Sentry Self-Hosted | Webhook 整合 | +| **Prometheus 指標** | ✅ | 25/25 targets | - | +| **AI 信心透明化** | ✅ | confidence 真實值 | provider 標記 | +| **FinOps 成本追蹤** | 🟡 | cost_analyzer.py | 無 UI | +| **私有知識 RAG** | 🔴 | 實作但未上線 | - | +| **AI 自治率指數** | 🔴 | Autonomy Index 未建 | - | + +### 5.2 可觀測性三支柱評分 + +| 支柱 | 完成度 | 問題 | +|------|-------|------| +| **Metrics (Prometheus)** | 95% | 雙 Prometheus 未聯邦 | +| **Logs (Structlog + Sentry)** | 90% | 少數服務無 trace_id 關聯 | +| **Traces (SigNoz OTEL)** | 85% | CI/CD OTEL 端點固定,難以切換環境 | + +### 5.3 監控覆蓋率 (Phase 21 結果) + +``` +整體覆蓋率: 88.0% + +├── Prometheus: 94.1% ✅ +├── Sentry: 75% 🟡 +├── OTEL: 80% 🟡 +└── Auto-Repair: 40% 🔴 (需要加強) + └── 主要缺口: 資料庫 (Redis/PostgreSQL) 自動修復過於保守 +``` + +### 5.4 AI 重大事故回顧 + +| 日期 | 事故 | 教訓 | 已防護 | +|------|------|------|-------| +| 2026-03-23 | Telegram logOut 災難 | 禁止 logOut | ✅ HARD_RULES | +| 2026-03-26 | Alertmanager 路徑錯誤 (2天無告警) | 指向 AWOOOI API 非 OpenClaw | ✅ ADR-025 | +| 2026-03-28 | SignOz OTEL 端點配置錯誤 | CI 檢查 OTEL 端點 | ✅ | +| 2026-03-29 | K8s Secrets 未注入 (長時間無告警) | 三層防護機制 | ✅ ADR-035 | + +### 5.5 長期解決方案 + +``` +📌 路線圖:AI & 可觀測性長期戰略 + +Phase A-A (立即執行, 1週): + ├── 建立 Prometheus Federation (合併 .110 和 .188) + ├── FinOps Dashboard 整合到前端 (cost_analyzer.py → UI) + └── 完成 Auto-Repair 覆蓋率 40% → 70% + +Phase A-B (中期, 1月): + ├── 建立 AI 自治率指數 (Autonomy Index Dashboard) + ├── RAG 知識庫上線 (GraphRAG + Knowledge Base 整合) + └── Sentry Comment 回寫完成 (AI 分析回饋到 Issue) + +Phase A-C (長期, Q2): + ├── 實現「事件記憶迴廊」(Episodic Memory Vault) + ├── Multi-Agent Debate 可視化 (@Investigator/@Strategist/@Guardrail) + └── AI 自動 Playbook 更新閉環 (Learning Service Phase G) +``` + +--- + +## 第六章:安全性盤點 + +### 6.1 安全機制現況 + +| 機制 | 狀態 | 評分 | +|------|------|------| +| **RBAC** (4 角色) | ✅ 實作 | 9/10 | +| **Multi-Sig** (多重簽核) | ✅ TOCTOU 防護 | 9/10 | +| **CSRF 防護** | 🟡 只覆蓋 Approvals | 7/10 | +| **Privacy Shield** (資料脫敏) | ✅ Consistent Hashing | 9/10 | +| **NetworkPolicy** | ✅ 命名空間隔離 | 8/10 | +| **Secrets Management** | ✅ K8s Secrets + 三層防護 | 9/10 | +| **Zero Trust (CORS)** | ✅ 白名單 | 9/10 | +| **Dry-Run 強制** | ✅ 所有 K8s 操作 | 9/10 | +| **Blast Radius 評估** | ✅ 風險矩陣 | 8/10 | +| **TLS 憑證監控** | ✅ 30d/7d/過期 告警 | 8/10 | +| **Kali 安全掃描** | 🔴 **未整合** | 2/10 | + +### 6.2 安全缺口 + +| # | 缺口 | 風險等級 | +|---|------|---------| +| S-01 | **Kali 安全掃描孤立,未整合到 CI/CD** | 🔴 高 | +| S-02 | **CSRF 未覆蓋所有寫入端點** | 🟠 中 | +| S-03 | **Worker 節點直接 SSH 到其他主機** | 🟡 低 (有 RBAC) | +| S-04 | **SBOM (軟體物料清單) 缺失** | 🟡 低 | + +--- + +## 第七章:未整合節點全清單 + +以下是所有**已建立但未完整整合**的節點,需要進行「最後一哩路」連接: + +### 7.1 技術節點 + +| 節點 | 實作狀態 | 缺口 | 工時估算 | +|------|---------|------|---------| +| **Kali Security Scanner** | Docker 服務存在 | 無 AWOOOI Webhook | 2h | +| **GraphRAG 持久化** | `graph_rag.py` 完整 | 拓撲存在記憶體 | 4h | +| **FinOps Dashboard** | `cost_analyzer.py` 完整 | 無前端 UI | 8h | +| **Sentry Comment 回寫** | 框架已建 | TODO 片段 | 2h | +| **SignOz Webhook Handler** | 框架已建 | 部署未完成 | 2h | +| **Knowledge Base API** | 頁面存在 | 無後端 | 16h | +| **Omni-Terminal 全接通** | 前端殼完整 | GenUI SSE 事件 | 8h | +| **AI 自治率指數** | 概念設計 | 無實作 | 12h | +| **Worker HPA** | API/Web 已有 | Worker 未設定 | 1h | +| **Prometheus Federation** | 雙 Prom 運行 | 無聯邦配置 | 4h | +| **CSRF 全站覆蓋** | Approvals 有 | 其他端點缺 | 4h | +| **Visual Regression Test** | 無 | 全新建立 | 8h | +| **Storybook** | 無 | 全新建立 | 16h | +| **E2E CI 排程** | 測試已寫 | 無排程執行 | 1h | + +**未整合節點總工時估算**: ~88 小時 (約 11 工作天) + +### 7.2 優先度分級 + +``` +🔴 P0 (立即 - 本週): + 1. 完成 Sentry Comment 回寫 (2h) + 2. SignOz Webhook 部署 (2h) + 3. Worker HPA (1h) + 4. E2E CI 排程 (1h) + 5. i18n 違規一次性清零 (4h) + +🟠 P1 (短期 - 本月): + 6. Omni-Terminal GenUI 全接通 (8h) + 7. Prometheus Federation (4h) + 8. CSRF 全站覆蓋 (4h) + 9. FinOps Dashboard UI (8h) + 10. Kali Scanner 整合 (2h) + +🟡 P2 (中期 - Q2): + 11. Storybook 組件庫 (16h) + 12. Visual Regression Testing (8h) + 13. Knowledge Base 後端全建 (16h) + 14. GraphRAG 持久化 (4h) + 15. AI 自治率指數 (12h) +``` + +--- + +## 第八章:ADR 完整性稽核 + +### 8.1 ADR 覆蓋矩陣 + +| ADR | 標題 | 實作狀態 | +|-----|------|---------| +| ADR-001 | MCP Protocol 採用 | ✅ | +| ADR-002 | Nothing.tech 設計系統 | ✅ | +| ADR-003 | leWOOOgo 模組架構 | ✅ | +| ADR-004 | State Management (Zustand) | ✅ | +| ADR-005 | BFF 架構 | ✅ | +| ADR-006 | AI Fallback 策略 | ✅ | +| ADR-007 | 資料保留策略 | ✅ | +| ADR-008 | Python 模組化套件 | ✅ | +| ADR-009 | OpenClaw Agent Teams | ✅ | +| ADR-010 | Secrets 管理 | ✅ | +| ADR-011 | NetworkPolicy 治理 | ✅ | +| ADR-012 | 危險操作治理 | ✅ | +| ADR-013 | 代碼注解標準 | ✅ | +| ADR-014 | 依賴治理 | ✅ | +| ADR-015 | MCP 模組化架構 | ✅ | +| ADR-016 | K8s 資源命名 | ✅ | +| ADR-017 | LLMOps 可觀測性 | ✅ | +| ADR-018 | LLM 測試策略 | ✅ | +| ADR-019 | System Prompt 管理 | ✅ | +| ADR-020 | E2E 驗收框架 | 🟡 CI 未定期執行 | +| ADR-021 | Playbook 更新驗證 | ✅ | +| ADR-022 | Sentry 整合架構 | ✅ | +| ADR-023 | Smart Routing 架構 | ✅ | +| ADR-024 | API 層架構 | ✅ | +| ADR-025 | 告警鏈路 E2E 驗證 | ✅ | +| ADR-026 | CoreDNS GitOps | ✅ | +| ADR-027 | Incident-Approval 同步 | ✅ | +| ADR-028 | Auto-Repair Loop | ✅ | +| ADR-029 | CI/CD AI 整合 | ✅ | +| ADR-030 | 智能自動修復 | ✅ | +| ADR-031 | Omni-Terminal SSE 架構 | 🟡 後端未全接通 | +| ADR-032 | GenUI 動態渲染 | 🟡 Registry 部分完成 | +| ADR-033 | K3s HA 架構 | ✅ | +| ADR-034 | GitOps ArgoCD | ✅ | +| ADR-035 | Telegram 告警鏈路強制 | ✅ | +| ADR-036 | NVIDIA Nemotron Tool Calling | ✅ | +| ADR-037 | 監控增強架構 | ✅ | + +**缺失的 ADR (建議新增)**: + +| 建議 ADR | 主題 | +|---------|------| +| ADR-038 | Storybook 組件庫治理標準 | +| ADR-039 | Visual Regression Testing 策略 | +| ADR-040 | Kali 安全掃描整合架構 | +| ADR-041 | Knowledge Base RAG 架構 | +| ADR-042 | FinOps Dashboard 架構 | + +--- + +## 第九章:總體評分卡 + +### 9.1 六維度評分 + +| 維度 | 分數 | 說明 | +|------|------|------| +| **基礎設施穩健性** | 88/100 | K3s HA + VIP + Velero 完整,但 Kali 孤立 | +| **後端工程品質** | 90/100 | 積木化優良,測試覆蓋高,少數 TODO | +| **前端 UI/UX 完整性** | 70/100 | **⚠️ 核心痛點**:i18n 違規 + GenUI 未接通 + Storybook 缺失 | +| **AI/可觀測性能力** | 90/100 | 五層 AI 備援 + 88% 監控覆蓋,FinOps 閒置 | +| **安全治理** | 85/100 | Multi-Sig/CSRF/NetworkPolicy 完整,Kali 未整合 | +| **DevOps/CI-CD** | 88/100 | 全自動 CD + 三層 Telegram 防護,E2E 未定期跑 | + +**AWOOOI 整體評分**: **`87/100` — 強健 (Robust)** + +### 9.2 三大戰略優先級 + +``` +🎯 戰略優先級一:前端 UI/UX 主權計畫 + 目標:從「能用」升級到「驚艷」 + 方法:Storybook + Visual Regression + GenUI 全接通 + 工時:~50h + 影響:AWOOOI 從監控工具蛻變為真正 AI 協作空間 + +🎯 戰略優先級二:後端最後一哩路 + 目標:從「已實作」升級到「已整合」 + 方法:完成 8 個孤立節點連接 + 工時:~24h + 影響:整體功能覆蓋率 88% → 97% + +🎯 戰略優先級三:安全主權強化 + 目標:將 Kali 整合進主流程 + 方法:建立 Scanner ADR + CI 掃描步驟 + 工時:~6h + 影響:安全評分 85 → 95 +``` + +--- + +## 第十章:執行路線圖 (Master Roadmap) + +### Phase 22: 最後一哩路 (Phase of Integration) + +``` +Week 1 (3월 30일 - 4월 5일): +┌─────────────────────────────────────────────────┐ +│ [P0] i18n 一次性閃電清零 (4h) │ +│ [P0] Sentry Comment 回寫 Phase D 完成 (2h) │ +│ [P0] SignOz Webhook Handler 部署 Phase E (2h) │ +│ [P0] Worker HPA 設定 (1h) │ +│ [P0] E2E Playwright CI 排程 (1h) │ +└─────────────────────────────────────────────────┘ + +Week 2 (4월 6일 - 4월 12일): +┌─────────────────────────────────────────────────┐ +│ [P1] Omni-Terminal GenUI 全接通 Phase 22A (8h) │ +│ [P1] Prometheus Federation 合併 (4h) │ +│ [P1] CSRF 全站覆蓋 (4h) │ +└─────────────────────────────────────────────────┘ + +Week 3-4 (4월 13일 - 4월 26일): +┌─────────────────────────────────────────────────┐ +│ [P1] FinOps Dashboard 前端整合 (8h) │ +│ [P1] Kali Scanner ADR + CI 整合 (6h) │ +│ [P2] Storybook 組件庫 MVP (16h) │ +└─────────────────────────────────────────────────┘ + +Month 2-3 (5월 - 6월): +┌─────────────────────────────────────────────────┐ +│ [P2] Visual Regression Testing (8h) │ +│ [P2] Knowledge Base 後端全建 (16h) │ +│ [P2] GraphRAG 持久化 (4h) │ +│ [P2] AI 自治率指數 Dashboard (12h) │ +│ [P2] Topological Canvas MVP (24h) │ +└─────────────────────────────────────────────────┘ + +Q3 (Phase 4 啟動): +┌─────────────────────────────────────────────────┐ +│ [視覺靈魂注入] 品牌資產 + 微動畫升級 │ +│ [開源準備] README + 商業化包裝 │ +└─────────────────────────────────────────────────┘ +``` + +--- + +## 附錄 A:快速參考索引 + +| 主題 | 文件 | +|------|------| +| 基礎設施參考 | `docs/reference/SERVICE-ENDPOINTS.md` | +| K3s 維運手冊 | `docs/runbooks/K3S-OPTIMIZATION-RUNBOOK.md` | +| 監控完整策略 | `docs/MONITORING_COMPLETE_STRATEGY.md` | +| ADR 目錄 | `docs/adr/` (ADR-001 ~ ADR-037) | +| 服務註冊表 | `ops/monitoring/service-registry.yaml` | +| 技術債清單 | `docs/TECHNICAL_DEBT_PHASE2.md` | +| Agentic Workspace 藍圖 | `docs/AWOOOI_AGENTIC_WORKSPACE_ROADMAP.md` | +| 首席架構師 K3s 審查 | `memory/project_k3s_full_arch_review.md` | +| 未竟 Phase 計畫 | `docs/proposals/IMPLEMENTATION_STEPS_REMAINING_PHASES.md` | + +--- + +## 附錄 B:關鍵決策記錄 + +| 決策 | 選擇 | 原因 | +|------|------|------| +| **腦架構** | 單一大腦 (.188) + 分散感測器 | 防腦分裂,記憶不同步 | +| **設計風格** | Nothing.tech 純白工業風 | 2026-03-20 戰略轉向,廢深色駭客風 | +| **UAT 環境** | 禁止,只有 Dev + Prod | 簡化複雜度,快速迭代 | +| **AI 備援** | Ollama → Gemini → Claude (一般) / NVIDIA → Gemini → Claude (Tool Call) | Zero-Cost First | +| **測試策略** | 禁止 Mock,只允許真實 DB | 統帥 2026-03-24 明確指示 | +| **映像標籤** | 唯一不可變 {sha}-{run_id} | 防 Ghost Rollback | +| **Telegram** | 三層防護 (Pre-flight/Deploy/Post-Deploy) | ADR-035 | + +--- + +*報告完整涵蓋了 AWOOOI Phase 21 (Day 12) 截至 2026-03-29 的全部已知狀態。* +*建議每季更新此報告,並在 LOGBOOK 中記錄盤點節點。* + +**「AI Sees. AI Acts. You Approve.」** 🦞 diff --git a/docs/INSPIRATION_LAB.md b/docs/INSPIRATION_LAB.md new file mode 100644 index 00000000..7c35450a --- /dev/null +++ b/docs/INSPIRATION_LAB.md @@ -0,0 +1,351 @@ +# AWOOOI Inspiration Lab + +> **版本**: 1.0 +> **建立日期**: 2026-03-28 (台北時間) +> **建立者**: Claude Code +> **用途**: 收集所有學習、模仿、發想、討論未定案的內容 + +--- + +## 使用說明 + +這個文件是 **靈感實驗室**,用於收集: +- 從外部學習/模仿的設計 +- 突發奇想但尚未決定的功能 +- 討論中但未定案的架構 +- 未來可能採用的工具/服務 + +**注意**: 這裡的內容都是 **待評估** 狀態,採用前需統帥批准。 + +--- + +## 目錄 + +1. [視覺設計 (Visual)](#1-視覺設計-visual) +2. [UI/UX 互動](#2-uiux-互動) +3. [風格參考 (Style)](#3-風格參考-style) +4. [功能構想 (Features)](#4-功能構想-features) +5. [工具評估 (Tools)](#5-工具評估-tools) +6. [服務/平台 (Services)](#6-服務平台-services) +7. [突發奇想 (Wild Ideas)](#7-突發奇想-wild-ideas) +8. [待討論 (Pending Discussion)](#8-待討論-pending-discussion) + +--- + +## 1. 視覺設計 (Visual) + +### 1.1 NVIDIA Build 卡片網格 ✨ NEW + +> **來源**: https://build.nvidia.com/search?categories=models&q=Nemotron +> **新增日期**: 2026-03-28 +> **狀態**: 🟡 待整合至 Nothing.tech 風格 +> **統帥指示**: 「這網頁的視覺呈現、風格、卡片樣式等等的、UI/UX,就是我們要參考的!」 + +#### 🔴 整合原則 (最重要!) + +**統帥明確指示**: 不要變動原本定義的視覺呈現風格規範,要把學習模仿到的這些整合進去,但是還是以原本的定義規範為主! + +| 層級 | 來源 | 說明 | +|------|------|------| +| **主** | Nothing.tech 純白工業風 | 見 `01-awoooi-frontend-aesthetics.md` | +| **從** | NVIDIA Build | 本節內容,僅供參考整合 | + +#### 整合對照表 + +| NVIDIA 元素 | 採用? | 整合方式 | +|-------------|-------|----------| +| 深色主題 (`manitoulinLightBlack`) | ❌ 衝突 | 維持 `bg-white/70 backdrop-blur-[20px]` | +| 半透明邊框 (`white/20`) | ⚠️ 轉換 | 改為 `border-nothing-black/20` | +| 卡片結構/排版 | ✅ 參考 | 套用至純白磨砂玻璃卡片 | +| 間距系統 | ✅ 採用 | `px-4 pt-4 lg:px-8` | +| 最大寬度 | ✅ 採用 | `max-w-[1920px]` | +| 篩選器多維度設計 | ✅ 參考 | 改為白色風格 + Glacier Blue 強調 | +| 導航結構 | ✅ 參考 | 頂部導航 + 側邊篩選 | +| 響應式斷點 | ✅ 採用 | Mobile/lg/超寬 | +| Hover 效果 | ⚠️ 轉換 | 改為 `hover:text-glacier-blue` | +| 字體 | ❌ 衝突 | 維持 `VT323` 點陣風格 | + +#### NVIDIA 原版設計規格 + +**1. 配色系統** +| 元素 | 設計 | +|------|------| +| 背景色 | 深色主題 (Deep Black),營造專業科技感 | +| 主色調 | 黑色 + 深灰色為基礎 | +| 強調色 | 白色文字、半透明邊框 (`border-white/20`) | +| 對比 | 高對比度,文字清晰易讀 | + +**2. 卡片設計** +- 邊框: 細微半透明邊框 (`border-white/20`) +- 背景: 略淺於頁面背景,創造層次感 +- 圓角: 現代感圓角設計 +- Hover 效果: 文字變亮 (`hover:text-n000`) +- 陰影: 低調陰影,不喧賓奪主 + +**3. 排版布局** +- 最大寬度: 1920px (超寬螢幕適配) +- Grid 系統: Flexbox + Grid 混合 +- 間距: Mobile `px-4 pt-4` / Desktop `lg:px-8` +- 響應式: 完整行動裝置適配 + +**4. 字體風格** +- 標題: 粗體、大尺寸、高對比 +- 內文: 清晰可讀、適當行高 +- 技術感: Sans-serif 字體為主 + +**5. 搜尋/篩選介面** +- 多層篩選機制: Use Case / Provider / Publisher +- 即時搜尋: 支援快捷鍵 (⌘K) +- 標籤/Badge: 清楚標示分類 + +**6. 導航結構** +- 頂部導航: Explore | Models | Blueprints | GPUs | Docs +- 層級清晰: 主導航 + 側邊篩選 + 內容區 +- 快捷鍵支援: ⌘K 快速搜尋 + +#### 🔄 風格轉換範例 + +**卡片 (NVIDIA → Nothing.tech)** +```tsx +// ❌ NVIDIA 原版 (深色) +