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

14 KiB
Raw Blame History

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」的按鈕、標題與確認對白確保在最疲勞的狀態下也能一秒看懂。

為了讓 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_uiGenUI 實體掛載。當前端 Zustand 收到此事件,立刻用 Nothing.tech 風格的 React Component 替換文字流。
    {"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)」。
    {
      "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