Files
awoooi/docs/AWOOOI_AGENTIC_WORKSPACE_ROADMAP.md
OG T a9f8ad56c1 chore: 未提交變更整理 (API core + docs + scripts)
API 核心:
- constants.py: 系統常量定義
- unit_of_work.py: Unit of Work 模式
- incident_approval_service.py: Incident-Approval 同步服務

文檔更新:
- LOGBOOK.md: 進度更新
- AWOOOI_AGENTIC_WORKSPACE_ROADMAP.md: 路線圖
- 2026-03-26_llm_testing_evaluation.md: LLM 測試評估
- phase5_telemetry_architecture.md: 遙測架構
- SECRETS_REFERENCE.md: 密鑰參考

配置/腳本:
- Skill 02 v1.x: leWOOOgo 後端更新
- .dependency-cruiser.cjs: 依賴規則
- demo-multisig-flow.sh: 演示腳本

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-26 19:10:12 +08:00

182 lines
14 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# AWOOOI 典範轉移AI-Native 前端產品藍圖 (Agentic Workspace Roadmap)
> **文件狀態**Living Document (持續更新)
> **建立日期**2026-03-26
> **核心命題**:絕對不能變成傳統監控後台,必須是真正的 AI 智慧管理平台。
---
## 🌟 核心哲學:從「儀表板 (Dashboard)」走向「代理人協作空間 (Agentic Workspace)」
傳統監控後台的底層邏輯是:「系統把數據攤開,人類負責尋找答案」。
AWOOOI 作為真正的 AI 平台,其底層邏輯必須是:**「人類下達意圖 (Intent)AI 負責尋找數據、推演解法並請求授權」**。
未來的 SRE 就像看著 Jarvis 一樣。前端 UI 必須具備以下三大 AI-Native 基因:
1. **生成式介面 (Generative UI / GenUI)**
這是打破傳統後台的關鍵。前端不應該寫死「CPU 圖表」或「Memory 圖表」。當 OpenClaw 判定是資料庫慢查詢時,前端即時生成 (Render-on-the-fly) 一個包含 SQL 語法與執行計畫的特製卡片;如果是網路異常,則生成網路拓撲圖。畫面是跟著 AI 的思考邏輯動態長出來的。
2. **空間推演畫布 (Spatial Investigation Canvas)**
放棄傳統的「分頁 (Pagination)」。當一個 P0 災難發生時SRE 需要的是一個無限延伸的「白板」。左邊是告警,中間是 AI 的分析推演樹,右邊是爆炸半徑拓撲。所有的關聯資訊都在同一個視覺平面上展開,這稱為「心智圖式導航」。
3. **零信任的「核鑰」體驗 (Nuclear Key UX)**
當 AI 提出高風險指令(如 `kubectl delete pod`)時,授權介面不能只是一個普通的藍色 [Submit] 按鈕。必須透過 UI 傳遞危險感(如紅黑條紋警示、需要長按 3 秒的滑動解鎖、顯示倒數計時),讓人類在按下核准的那一刻,能感受到決策的重量。
---
## 🗺️ AWOOOI 終極前端版圖6 大心智樞紐 (Cognitive Hubs) 的進化
將這三項 AI 基因注入傳統的六大模組中,將迎來質變:
### 1. 全局心智樞紐 (The Nexus) ── 系統的腦波
* **進化點**:拋棄傳統的「圓餅圖/折線圖」。
* **呈現方式**
* **AI 自治率指標 (Autonomy Index)** 顯示「今日 AI 成功攔截並修復的災難比例」。
* **思考流瀑布 (Thinking Stream)** 以 Nothing.tech 的極簡純文字風格,讓背景即時流動著 OpenClaw 正在處理的微小任務(如 `[Investigator] Scanning Redis queue... OK`)。帶來極大的系統生命力。
* **脈搏聚合器 (Pulse Aggregator)** 只有當系統需要統帥介入時,才會在正中央浮現一張高對比度的「決策簡報卡」。
### 2. 多簽核戰情沙盤 (The War Room) ── 決策的最終防線
* **進化點**:不是「待辦清單」,而是「軍事簡報」。
* **呈現方式**
* **紅藍對抗報告** 畫面直接顯示 Strategist Agent提出解法與 Guardrail Agent攔截風險的辯論結果。
* **Dry-Run 預覽** 在統帥按下授權前直接顯示這行指令下去後K8s 狀態機將會發生什麼變化的「前後對比圖 (Diff View)」。
### 3. 拓撲因果畫布 (Topological Canvas) ── 災難的透視鏡
* **進化點**:結合 GraphRAG這不只是一張靜態的架構圖。
* **呈現方式**
* **爆炸半徑高光** 當異常發生,畫布會自動聚焦在核心節點,並以脈衝動畫向外渲染受影響的服務。
* **時光倒流 (Time-Travel)** 提供一個時間軸拉桿,統帥可以拉動滑桿,看著這場災難在過去 15 分鐘內是如何從一個小錯誤蔓延成全局崩潰的。
### 4. 事件記憶迴廊 (Episodic Memory Vault) ── 究責與進化
* **進化點**:不是看 Log是看「案件調查報告」。
* **呈現方式**:每次事件結案後,自動生成一份豐富的圖文報告,包含 AI 當時擷取的截圖、Metrics 快照與執行日誌。SRE 可以在這份報告上劃重點、下標籤,將其轉化為下一次的訓練素材。
### 5. AI 兵工廠 (Tool Forge) ── 訓練與掛載
* **進化點**:將「設定 API」變成「配發武器」。
* **呈現方式**:採用卡片化管理 (Card-based UI)。每一種 MCP Tool如 K8s-Operator、DB-Admin都是一張裝備卡。統帥可以透過拖曳 (Drag & Drop) 的方式,將不同的工具配發給特定的 Agent 角色。
### 6. 大腦節流閥 (Engine Control) ── 換檔與調校
* **進化點**:將複雜的 JSON 設定轉化為直觀的儀表。
* **呈現方式**
* **雙軌切換器 (Dual-Track Toggle)** 巨大且清晰的實體感撥桿,一鍵在「雲端大腦」與「本地大腦」之間切換。
* **成本燃燒速率表 (Token Burn Rate)** 即時顯示 API 呼叫的成本消耗,防止預算失控。
---
## 🎨 視覺與互動語彙Cyber-Tactical 結合 Nothing.tech 美學
為了讓體驗最優,我們必須堅持極致的**「克制 (Restraint)」**
* **Color Palette (色彩)** 90% 的絕對黑與白 (Dark Mode First / Glassmorphism)、5% 的消光灰(用於次要資訊)、僅在關鍵狀態使用極高對比的 霓虹綠 (Success) 與 警戒紅 (Critical) 或 神經藍 (AI prompt)。
* **Typography (字體)** 全面採用等寬字體 (Monospace如 VT323 / JetBrains Mono) 呈現數據與 Log搭配俐落的無襯線體 (Sans-serif) 作為標題。這能營造出「專業、無情、精準」的工程師浪漫。
* **Micro-interactions (微互動)** 所有的動畫都必須是「冷靜而迅速」的(時間控制在 150ms 以內)。放棄花俏的彈跳,改用透明度漸變、游標掃描線等科技感元素。
---
## 🚀 起點:全局底部常駐的 AI 終端 (Omni-Terminal)
**首要實作任務Omni-Terminal (全局心智中樞)。**
**戰略原因**
1. **改變使用者習慣的槓桿率最高** Terminal 改變的是「人機互動方式」。一旦 SRE 習慣了在任何頁面輸入 `/incident show latest` 並獲得 GenUI 卡片回應這套系統就真正擁有「AI 靈魂」了。
2. **開發成本與 ROI** 實作一個結合 WebSocket/SSE 的互動對話框,能立刻將後端 OpenClaw 的強大推理能力 100% 釋放到前端。
**現況 (v1.0.0)**:已於前端框架中建置 OmniTerminal 外殼與白玻璃材質元件,並擴充了 Zustand SSE 狀態儲存庫。待後端 FastAPI Endpoint 對接即可上線。
---
## 🎭 賽博戰術劇場 (Cyber-Tactical Theatre):五維實體視覺矩陣
如果只給出一堆冰冷的數據圖表,那這只不過是「另一個 Grafana」。為了在堅持 Nothing.tech 極簡美學的前提下,將 AWOOOI 的底層運作完美具象化,我們必須採用**「符號化、終端機語彙與動態呼吸感」**,讓每一次的告警處理都像是一場人類與各種 AI 實體協同作戰的科幻電影。
以下是為 AWOOOI 量身訂製的**「五維實體 UI/UX 視覺矩陣」**
### 🦞 1. OpenClaw 龍蝦 (The Orchestrator 總樞紐)
它是系統中負責「夾取、拆解、分發」的最高指揮網路。
* **視覺符號** 使用極簡的幾何線條或 ASCII 藝術來暗示「雙鉗」的意象,例如 `>--[ DATA ]--<``[ 爪 ]`
* **動態表現** 當系統收到複雜告警,準備分發任務時,畫面上方出現閃爍的終端機字樣:`[OpenClaw Protocol: ENGAGED]`,伴隨著兩道極細的掃描線從螢幕兩側向中央夾擊,象徵「龍蝦正在撕裂並解析問題」。
### 🧠 2. AI (The Core Brain 底層神經大腦)
代表背後的算力深淵Ollama / Claude。它安靜、巨大、深不可測。
* **視覺符號** 點陣矩陣 (Dot Matrix) 背景。
* **動態表現** 當 AI 正在進行深度推理時,背景的點陣圖會產生微弱的「呼吸燈效 (Pulsing Opacity)」。UI 卡片邊緣會泛起 1px 的微光,展現出「算力正在燃燒」的生命力。
### 🕵️‍♂️ 3. Agent (The Council 幕僚代理人)
具備特定性格與專業的專家(調查員、策略師、政委)。必須讓使用者感覺到「有一群專家正在後台開會」。
* **視覺符號** 在 Omni-Terminal 中賦予他們專屬的代號標籤Badge例如 `@Investigator``@Strategist`
* **動態表現** 在畫面快速刷過他們的「對話軌跡」,展現 AI 互相爭辯的過程,帶來極大的視覺震撼。
> `@Investigator`: 發現 Redis 記憶體飆升至 98%。
> `@Strategist`: 提議執行 Cache 清除指令。
> `@Guardrail`: ⚠️ 警告:此指令將導致瞬間 Cache Miss建議改為緩步淘汰。
### 🤖 4. 機器人 (The Executor 無情執行者)
代表 K8s Worker、Redis 消費者。沒有思想,只有絕對的服從與力量。
* **視覺符號** 剛硬的進度條、齒輪隱喻、純粹的機械狀態碼。
* **動態表現** 指令被授權執行時,畫面瞬間切換為冷酷的終端機模式。進度條為方塊狀 `[██████░░░]`,伴隨 `[EXECUTING]`, `[NODE_RESTARTED]`, `[EXIT_CODE_0]`,展現高度工業化的機械精準度。
### 👑 5. 人類 (The Commander 統帥/最終裁決者)
人類是最尊貴的「核鑰持有者」。
* **視覺符號** 絕對高對比的視覺焦點。需要人類時,其他元素亮度降至 30%,唯獨留下中央的授權卡片高亮。
* **動態表現** 提示字眼永遠是尊貴且帶有責任感的:`[ AWAITING COMMANDER OVERRIDE ]``[ 請求統帥親核 ]`。操作需透過「長按 3 秒」或「向右滑動解鎖紅線」,建立起對系統的絕對掌控感。
---
## 📐 附錄 A首席架構師視覺與動態基準 (Architectural Visual & Kinetic Directives)
為了將上述「賽博戰術劇場」從概念轉化為嚴謹的 Frontend Code必須建立一套不可踰越的 **「冷酷工程師美學 (Cold Engineering Aesthetic)」** 參數。以下是我的專業架構建議:
### 1. 深度與特權的 Z-Index 矩陣 (Z-Index Hierarchy of Trust)
* **Z-0 (系統深淵)**點陣圖背景、OpenClaw 的掃描線。這裡屬於潛意識層,採用 `opacity-20` 極度模糊。
* **Z-10 (幕僚對話)**Agent 爭辯的 Omni-Terminal 訊息流。採用 `bg-white/40 backdrop-blur-[10px]` 的半透明玻璃。
* **Z-100 (核鑰授權)**:人類 Commander 的決策卡片。必須物理性地隔絕雜訊,採用最高等級的 `bg-white/90 backdrop-blur-[40px] drop-shadow-2xl`,並搭配 2px 的實體黑色邊框 `border-2 border-nothing-black`
### 2. 賽博戰術色票 (Cyber-Tactical Color Palette)
拒絕廉價的高飽和色彩,所有顏色必須具有「警示功能」:
* **Claw-Blue (大腦藍)**`#4A90E2`。專屬於 AI 推理。
* **Agent-Orange (幕僚橘)**`#F5A623`。代表警戒與討論中 (`WARNING`)。
* **Commander-Red (核鑰紅)**`#FF3B30`。極度危險、不可逆轉的操作 (Delete Pod / Drop Table) 才允許使用。必須搭配條紋斑馬線背景。
* **Executor-Green (執行綠)**`#34C759`。只有在 K8s 確定 `EXIT_CODE_0` (成功) 後才能閃爍一次,象徵危機解除。
### 3. 動態防抖法則 (Kinetic Debounce Rule)
* 如果系統同時死亡 50 顆 Pod絕不能讓畫面閃爍 50 次紅光(這會讓 SRE 崩潰)。
* 必須在前端實作 `requestAnimationFrame` 防抖 (Debounce) 或 Throttling。將所有動畫聚合為**一秒一次深沉的脈衝 (Deep Pulse)**,展現出「雖然事態嚴重,但系統仍在掌握中」的冷靜感。
### 4. 職責分離的字體矩陣 (Typographic Separation of Concerns)
* **VT323 (點陣體)**只能用於「OpenClaw 思考流」與背景雜訊。它自帶復古感,但長文閱讀性差。
* **JetBrains Mono (等寬體)**僅用於「K8s Executor 日誌」與「SQL 語法」。特製的 0 與 O 區別,是緊急 Debug 時的安全網。
* **Inter (無襯線體)**:專屬於「人類 Commander」的按鈕、標題與確認對白確保在最疲勞的狀態下也能一秒看懂。
---
## ⚡ 附錄 B神經網路對接基準 (Neural Link Integration Protocol)
為了讓 Omni-Terminal 成為真正的「心智中樞」,我們必須在前後端交界的 API 合約上,實作以下三大高階架構設計:
### 1. GenUI 的「動態渲染合約」 (The Rendering Protocol)
後端 AI 生成的速度很快,前端必須透過自訂的 Server-Sent Events (SSE) 類型來決定何時渲染純文字,何時呈現視覺卡片。
**API Payload Contract (草案)**
* **`event: thought`**:思考軌跡 (快速刷動的背景字)。例如 `{"agent": "Investigator", "msg": "Analyzing Redis latency..."}`
* **`event: tool_call`**:工具呼叫 (顯示微動畫)。例如 `{"tool": "K8s-Operator", "status": "executing"}`
* **`event: render_ui`**GenUI 實體掛載。當前端 Zustand 收到此事件,立刻用 Nothing.tech 風格的 React Component 替換文字流。
```json
{"component": "MetricsCard", "props": {"cpu": 95, "memory": 88, "pod": "worker-1"}}
```
### 2. 空間感知的上下文注入 (Spatial Context Awareness)
當使用者在 Omni-Terminal 輸入指令時,前端發出的 Request 必須帶有「隱形夾帶 (Ghost Payload)」,讓 AI 知道使用者當前的視線落在哪裡。
* **戰術設計**:按下 Enter 瞬間,前端抓取目前的「路由 (Current Route)」與「畫面焦點 (Active Entity ID)」。
```json
{
"intent": "/restart",
"context": {
"current_page": "/war-room",
"focused_incident_id": "INC-20260326-001"
}
}
```
這賦予了系統強大的感知能力:「統帥正在看 INC-001他說的 restart 就是指重啟這個事件的 Pod。」
### 3. 打斷與覆寫機制 (The "Interrupt" Override)
AI 的生成可能需要數秒。若此時爆發新的 P0 告警,系統必須立刻拋棄當前迴圈。
* **使用者打斷**:前端綁定 `AbortController`。按下 `[ 🛑 HALT ]` 按鈕瞬間,切斷連線並透過 FastAPI 殺掉底層執行緒以釋放資源。
* **系統級插隊 (Priority Preemption)**FastAPI 具備多工流 (Multiplexing) 能力。當 Redis 傳來 P0 告警,直接在當前的 SSE 通道強制插入 `event: urgent_alert`。前端收到後將現有字體轉灰,直接升起紅色警報卡片:`[ SYSTEM OVERRIDE ] P0 Alert: DB Crash`。