- AWOOOI_COMPREHENSIVE_AUDIT_2026Q1.md 全維度稽核 - INSPIRATION_LAB.md 靈感收集 - K3S-OPTIMIZATION-RUNBOOK.md 優化指南 - ADR-006 AI Fallback 策略更新 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
784 lines
32 KiB
Markdown
784 lines
32 KiB
Markdown
# 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.」** 🦞
|