KEVINCLAW最新系統架構演進與全功能更新技術白皮書

KEVINCLAW最新系統架構演進與全功能更新技術白皮書

Comprehensive Technical Evolution & Architecture Report

  • 文件版本:v1.5.0-PROD
  • 統計週期:2026-08-23 ~ 2026-09-01 (自 API Latency Observability 起至最新版本)
  • 環境標註:NB 開發環境 (DESKTOP-GOPVMI6) / 分支 VER15
  • 發布日期:2026-09-01
  • 架構狀態:Production MySQL Active / RL3 Active / Controlled Multi-Agent Ingress / Open Agent Runtime Ready

1. 執行摘要與演進脈絡 (Executive Summary & Architecture Evolution)

在 VER15 演進週期中,系統完成了從單一對話代理人 (Single-Agent Chat) 向 企業級分散式智慧體平台 (Enterprise Multi-Agent & Governed Runtime Platform) 的重大跨越。

自 2026-08-23 導入 API Latency Observability (全鏈路延遲可觀測性) 以來,系統經歷了八大核心架構變革:

  1. 全鏈路分散式追蹤 (Deep Observability & Tracing):覆蓋所有模型供應商、MCP 工具、多媒體服務與執行工作流的微秒級階層式 Span 追蹤。
  2. 雙資料庫引擎 (Dual-Engine Database & MySQL Hardening):SQLite 與 MySQL 雙引擎架構,完成正式生產 MySQL 無縫切換、防漂移測試隔離與 Fail-Closed 防護。
  3. 共用平台速率限制 (Platform Rate Limiting - RL0 ~ RL3):解耦平台層與供應商層限流,支援 User/API Client/Channel 三大主體,達成精確 Token 審計與 429 前端可視化倒數。
  4. 專案控制平面與工作區相對路徑 (Project Control Plane & Path Portability):建立 Project P0/P1/P2 多租戶與終端機沙箱架構,並將 Workspace/Obsidian 徹底由絕對路徑重構為跨機器可攜的正規化相對路徑。
  5. 多代理人治理與受控迴圈 (Multi-Agent Governance & Controlled Replan Loop):解耦 Planner-Worker-Reviewer 角色合約,支援可視化 YAML/JSON 編輯、版本原子回滾、中途人類審批 (Human-in-the-Loop Gate) 與自動重擬規劃迴圈。
  6. 工作流程可觀測性與時間軸 (Workflow Observability & Run Timeline):結構化持久化 Turn Trace、關聯對話與 Session,提供視覺化時間軸與前端高對比 Markdown/Codeblock 體驗。
  7. 執行韌性與本地模型整合 (Resilience & Local AI Integration):強化 OpenRouter 空串流/無效 Payload 容錯降級、Ollama 本地配置隔離、Git 憑證隔離與 MCP 預熱同步。
  8. 下一代開放智慧體架構 (Next-Gen Open Agent Runtime & Durable DAG):訂定 Policy Envelope 與持久化 DAG 任務嘗試狀態機,為開放多代理人動態委派奠定權威基石。

1.1 系統架構全景圖 (System Architecture Overview)

flowchart TB
    subgraph Ingress["Ingress & Gateways (統一入口與閘道)"]
        FQDN["Production FQDN (Caddy Reverse Proxy)"]
        WebUI["Web Chat & Workflow Composer"]
        AdminUI["Admin Governance Control Center"]
        ExtAPI["OpenAI-Compatible API / Channels"]
    end
    subgraph Security["Security & Admission (安全、配額與專案控制)"]
        RL["Platform Rate Limit (RL0~RL3 Engine)"]
        ProjCP["Project Control Plane (RBAC & Terminal Scopes)"]
        RelWS["Portable Relative Workspace Resolver"]
    end
    subgraph Orchestration["Agent Orchestration (智慧體編排與受控迴圈)"]
        OpenRuntime["Open Agent Runtime (Policy Envelope)"]
        ControlledLoop["Bounded Controlled Replan Loop"]
        Roles["Role Contracts (Planner / Worker / Reviewer)"]
        HumanGate["Human-in-the-Loop Resume Gate"]
    end
    subgraph Execution["Execution Engine (執行引擎與工具鏈)"]
        RunWorker["Durable Execution Run Worker"]
        MCP["MCP Tool Manager & Bridges (EasyEDA/Email/Calendar/WP)"]
        LocalSandbox["Terminal Sandbox (None/ReadOnly/Sandbox/Full)"]
        LocalAI["Ollama Engine & Model Registry"]
    end
    subgraph Observability["Observability & Storage (可觀測性與持久化)"]
        TraceEngine["Distributed Latency Trace Engine (Spans)"]
        TimelineService["Structured Turn Trace & Run Timeline"]
        DualDB["Dual-Engine DB (Production MySQL / Fallback SQLite)"]
        ObsidianSync["Cross-Project Obsidian Vault Sync"]
    end
    FQDN --> WebUI & AdminUI & ExtAPI
    WebUI & ExtAPI --> RL
    RL --> ProjCP
    ProjCP --> RelWS
    RelWS --> OpenRuntime
    OpenRuntime --> ControlledLoop
    ControlledLoop --> Roles & HumanGate
    Roles --> RunWorker
    RunWorker --> MCP & LocalSandbox & LocalAI
    RunWorker -.-> TraceEngine
    TraceEngine -.-> TimelineService
    TimelineService -.-> DualDB
    ControlledLoop -.-> DualDB
    DualDB -.-> ObsidianSync


2. 全鏈路延遲可觀測性與分散式追蹤 (Deep API Latency Observability & Tracing)

2.1 統一 Span 追蹤架構

為了精確診斷 AI 生成與工具呼叫過程中的延遲瓶頸,系統建立了非侵入式的分散式追蹤體系:

  • LatencyTraceSpan 核心類別:支援巢狀 Parent-Child Span 關聯,自動記錄 start_timeend_timeduration_msmetadatastatuserror
  • 上下文感知 (Context Propagation):透過 Python contextvars / trace context 將 Span 穿透傳遞於異步協程、背景 Task 與串流分塊之間。
sequenceDiagram autonumber actor User as "使用者 / 前端" participant Ingress as "Ingress API" participant Trace as "LatencyTrace Engine" participant Router as "LLM Router" participant Provider as "Upstream Provider (Gemini/OpenRouter/Ollama)" participant MCP as "MCP Tool Manager" participant DB as "Trace Retention DB" User->>Ingress: 發起請求 (Chat / Agent / Tool) Ingress->>Trace: 建立 Root Span (request_id, conversation_id) Ingress->>Router: 調度模型請求 Router->>Trace: 建立 Child Span (provider_dispatch) Router->>Provider: 串流 / 非同步調用 Provider-->>Router: 首字輸出 (TTFT 採樣) Provider-->>Router: 完成傳輸 Router->>Trace: 關閉 provider_dispatch Span (記錄 Prompt/Completion Tokens) opt 工具呼叫 (Tool Execution) Router->>MCP: 執行工具 (MCP / Browser / OCR / Terminal) MCP->>Trace: 建立 Child Span (mcp_tool_execution) MCP-->>Router: 回傳工具結果 MCP->>Trace: 關閉 mcp_tool_execution Span end Router-->>Ingress: 組裝最終響應 Ingress->>Trace: 關閉 Root Span Trace->>DB: 異步批次寫入保留追蹤日誌 (retained_latency_logs) Ingress-->>User: 回傳結果 (包含 Header 延遲摘要)

2.2 多維度服務覆蓋範疇

可觀測性 Span 深度覆蓋全系統所有子模組:

  1. LLM Provider 階段
    • Anthropic (claude-3-5-sonnet, claude-3-opus)
    • OpenAI / OpenRouter (gpt-4o, deepseek-r1, meta-llama)
    • Google Gemini (gemini-2.5-pro, gemini-2.5-flash, Gemini Video Lifecycle)
    • Ollama 本地模型 (gemma4:26b, qwen2.5:32b, deepseek-r1:14b)
  2. 工具鏈與 MCP 服務
    • MCP Manager Tool Calls、EasyEDA Pro Bridge、WordPress AI Helper、Email SMTP/IMAP、Google Calendar API、Hybrid Client Bridge。
  3. 多媒體與週邊處理
    • Puppeteer Headless Browser、PaddleOCR 排程處理、知識庫 (KB) Embedding 向量化階段。
  4. 排程與生命週期
    • Agent Streaming Dispatch、非串流 Agent 迴圈首字延遲 (TTFT)、Durable Execution Run Lineage。

2.3 管理後台可觀測性介面與 API

  • API 端點GET /admin/api/latency 支援按時間區間、Provider、Model、Conversation ID、狀態碼篩選追蹤日誌。
  • 對話延遲主控台 (Conversation Latency Console):即時視覺化瀑布圖 (Waterfall Chart),直接定位哪一個 MCP 工具或哪一次 LLM 往返造成延遲尖峰。

3. 雙資料庫引擎與動態 MySQL 切換架構 (Dual-Engine Database & MySQL Hardening)

3.1 雙引擎架構與 Fail-Closed 防護機制

平台正式支援 SQLite 與 MySQL 雙資料庫引擎,且目前生產環境 (Production) 已正式切換並鎖定為 MySQL 模式

項目 SQLite 模式 MySQL 模式 (目前生產標準)
配置環境變數 DB_MODE=sqlite DB_MODE=mysql
連線池機制 本地檔案單連線 / WAL 模式 PyMySQL / DB Connection Pool (含逾時回收與 Ping 保活)
故障處理政策 輕量單機備份 Fail-Closed 嚴格阻斷(絕不自動靜默回退至 SQLite,防止資料分裂)
測試資料隔離 暫存檔案資料庫 強制 Test-DB Guard 攔截,禁止使用生產 DB 跑寫入測試

3.2 動態 Repository 適配器

所有核心資料存取層全面重構為動態雙引擎適配器:

  • ExecutionPolicyRepository / ExecutionRunRepository
  • SchedulerRepository / WorkflowRepository
  • WorkspaceRepository / IdentityRepository
  • OfficeRepository / MediaRepository / ModelRoutingRepository

3.3 運維強化與回歸演練 (Operations & Hardening)

  • 孤兒對話清理 (Orphan Cleanup):動態綁定 DB Mode,並加入 Discord/Slack 等外部 Channel 綁定對話的防誤刪保護。
  • 備份與還原演練 (Backup & Restore Rehearsal):驗證 MySQL dump 自動化備份腳本與還原一致性校驗。
  • 權限群組防重複修復:修正切換 MySQL 初期測試資料外溢導致權限群組異常增生問題,建立 Schema 初始化冪等性保證。

4. 共享平台速率限制與配額生命週期 (Shared Platform Rate Limiting - RL0 ~ RL3)

4.1 平台限流與供應商 Quota 解耦

系統明確區分「平台層速率限制 (Platform Rate Limit)」與「模型供應商配額 (Provider Quota)」:

  • 平台層限流:保護伺服器算力、防禦惡意爬取與 API 濫用,控制使用者的 RPM (Requests Per Minute)、TPM (Tokens Per Minute) 與 Daily Token Quota。
  • 供應商層 Quota:追蹤外部 API Key(如 OpenAI、Anthropic)之扣款與餘額限制。
flowchart LR
Req["傳入請求"] --> Resolver["主體解析器 Principal Resolver"]
Resolver -->|"User / API Client / Channel"| TierLookup["Rate Limit Tier 查詢"]
TierLookup --> CheckLimit{"檢查 RPM / TPM / Daily Quota"}
CheckLimit -->|"超額 (Exceeded)"| Reject["回傳 HTTP 429 & 倒數重置時間"]
CheckLimit -->|"通過 (Allowed)"| Pass["保留額度 Reserved"]
Pass --> Execute["執行 Agent / LLM 串流"]
Execute --> Reconcile["串流結束精確結算 Exact Token Settlement"]
Reconcile --> Audit["寫入 Rate Limit 審計日誌"]

4.2 RL0 至 RL3 里程碑演進

  1. RL0 (基礎隔離):建立 Dormant Contracts 與隔離測試套件,確保無副作用。
  2. RL1 (HTTP Ingress 攔截):在 API Gateway 與 Web 路由層注入 Rate Limit 中間件。
  3. RL2 (Admin Control Center & Tier 管理)
    • 提供管理員介面管理 Rate Limit Tiers (Default, Pro, Enterprise, Unlimited)。
    • 每個使用者嚴格指派單一 Tier,支援交易審計日誌 (audit_rate_limits)。
  4. RL3 (Multi-Agent & 串流精確結算)
    • 解決 LLM 串流中斷或預估 Token 不準確問題,於 Stream 結束時以 Provider 實際回傳的 Usage 進行差額多退少補結算。
    • 前端 429 錯誤明確顯示當日額度重置倒數計時器 (Countdown UI)。

5. 專案控制平面、工作區隔離與跨機相對路徑遷移 (Project Control Plane & Path Portability)

5.1 專案控制平面 (Project P0 ~ P2)

  • 多租戶階層Project -> Members -> Workspaces -> Execution Profiles -> Conversations -> Workflows
  • 個人專案 (Personal Projects):新註冊使用者自動配置獨立個人專案,確保資源隔離。
  • 終端機沙箱分級 (Terminal Permission Hierarchy)
    • None (禁用終端)
    • ReadOnly (僅允許無害查詢指令,如 ls, git status)
    • Sandbox (預設安全沙箱,限制於 Project Workspace 內)
    • Full (管理員級別完全存取)

5.2 工作區與 Obsidian 保險庫相對路徑重大重構

為了解決跨開發機(NB 筆電 D:VER15 與 PC 主機 E:...)環境路徑硬編碼導致的搬遷問題,系統於 2026-09-01 完成了全系統相對路徑標準化:

flowchart TD
    Old["舊架構 (硬編碼絕對路徑) 
`D:VER15workspaceskevin...`
`C:UserskevinDocumentsObsidian Vault`"] Migration["路徑正規化遷移器 (Path Normalizer & SQL Migration)"] New["新架構 (環境無關相對路徑)
`workspaces/kevin/...`
`obsidian_vault/`"] Old --> Migration Migration --> New New --> Resolver["動態根目錄解析器 (Runtime Path Resolver)"] Resolver --> NB["NB 開發機 (D:VER15)"] Resolver --> PC["PC 主機 (專屬目錄)"] Resolver --> AutoHeal["Auto-Heal 遺失目錄自動修復"] Resolver --> DenyRoot["Deny Shared Root 防穿透安全攔截"]
  • 自動遷移腳本:建立 docs/debug/20260901-execute-workspace-migration.md 與 SQL 腳本,批次更新 workspacesconversations 資料表中的歷史路徑。
  • Auto-Heal 機制:啟動與載入時自動檢測並補齊缺漏的工作區實體目錄,徹底修復首頁 403 Permission Denied 異常。
  • 安全防穿透:明確禁止向共享專案根目錄寫入非授權檔案 (deny shared root writes)。

6. 多代理人治理、受控規劃迴圈與工作流程編排 (Multi-Agent Governance & Controlled Replan Loop)

6.1 角色合約與拓撲解耦

系統解耦傳統單體 Agent,定義標準多代理人協同合約:

  • Planner (規劃者):解析使用者高階目標,拆解任務合約與步驟。
  • Worker (執行者):在沙箱環境中調用 MCP 工具與 API 執行具體子任務。
  • Reviewer (審查者):檢驗 Worker 產出是否符合驗收標準,判定 ACCEPTEDREPLAN_REQUIRED
  • Synthesizer (彙整者):彙總各步驟執行結果,產生最終對話回覆。
stateDiagram-v2 [*] --> Initialized: 啟動 Workflow Initialized --> Planning: Planner 生成提案 Planning --> Validation: 驗證 Task 合約與 RL3 配額 state Controlled_Loop { Validation --> WorkerExecution: 分派子任務 WorkerExecution --> ReviewerAudit: Reviewer 驗收成果 ReviewerAudit --> ReplanDecision: 驗收判定 ReplanDecision --> WorkerExecution: 需修正 (REPLAN_REQUIRED / 次數未達上限) } ReplanDecision --> HumanGate: 觸發安全阻斷 / 需人工確認 HumanGate --> WorkerExecution: 人工審核通過 (Resume) HumanGate --> Terminated: 人工否決 (Cancel) ReplanDecision --> FinalSynthesis: 驗收通過 (ACCEPTED) FinalSynthesis --> Completed: 產出最終報告 Completed --> [*]


6.2 管理後台可視化治理與原子回滾

  • 可視化治理編輯器 (Visual Governance Editors):支援 Multi-Agent 範本與 Workflow 定義的視覺化拖拉/YAML 編輯。
  • Draft 驗證與依賴預覽 (Dependency DAG Preview):在正式發布前檢驗角色連線合法性與循環依賴。
  • 不可變版本與原子回滾 (Immutable Versioning & Atomic Rollback):每次發布產生唯一 Version Snapshot,支援一鍵秒級回滾至前一穩定版本。

6.3 前端對話整合 (Workflow Composer)

  • 於聊天介面直接整合 Workflow Composer,使用者可直接選取專案工作流範本發起多代理人協同任務。
  • 具備即時 Agent 狀態指示晶片與專案就緒檢查 (Project Readiness Check)。

7. 工作流程可觀測性、Turn Trace 與審計時間軸 (Workflow Observability & Run Timeline)

7.1 結構化 Turn Trace 持久化

為解決多代理人黑箱運作問題,系統實作了全生命週期的結構化日誌記錄:

  • 記錄每一個子 Turn 的輸入 Payload、Prompt Template、LLM 調用、Tool Calls、Tool Results、Token 消耗與耗時。
  • 資料落盤於 workflow_turn_traces 資料表,支援依 workflow_run_id 階層式調閱。

7.2 可審計執行時間軸 (Auditable Run Timeline)

  • 時間軸視覺化 (Visual Run Timeline):在 Web 前端展開完整執行步驟鏈,清楚標示各代理人角色切換時間點。
  • Token 與 Session 關聯:點擊任一對話 Turn 可直接跳轉至對應的 Token 消耗分析與底層 Span 詳情。
  • 人機介面排版升級:優化 Agent 輸出的 Markdown 渲染器,大幅提升 Codeblock 與暗色模式文字對比度,使除錯與閱讀更加舒適。

8. 執行韌性、本地模型註冊與前端互動優化 (Runtime Resilience, Local AI & Modern UI/UX)

8.1 協定級異常自動降級與重試

針對外部雲端 API 不穩定性進行深度加固:

  • OpenRouter 空串流與無效 2xx Payload 容錯:修復上游回傳 HTTP 200 但內容為空或非標準 JSON 時的崩潰問題,自動觸發備用模型降級 (Fallback)。
  • Scheduler 最大迭代保護:防止因代理人無回應造成的無限等待迴圈。

8.2 本地 AI (Ollama) 與模型庫動態熱更新

  • Ollama 啟動配置:支援模型選擇、連線隔離與自動健康檢查。
  • 動態能力註冊:新增 gemma4:26bdeepseek-r1 等最新模型至 model_capabilities 資料庫種子與模型註冊表。
  • MCP 預熱同步 (Warmup Synchronization):伺服器啟動時自動預熱高頻 MCP 工具,消除首次調用冷啟動延遲。
  • Git 憑證隔離:保證終端機與 Agent 執行環境中的 Git 操作不外洩宿主機認證。

8.3 工具列互動體驗升級 (Option A 架構)

  • Toolbar 整合:將 Agent 模式切換鈕重構為原生 Toolbar Chip,視覺風格一致。
  • 互斥鎖定邏輯:強制規範 Agent Mode (智慧體模式)Web Search (即時聯網搜尋) 晶片的互斥邏輯,避免底層 Prompt 與工具調度產生衝突。
  • ISO 完整時間戳記:在 AI 回覆卡片底部與 Token 側邊抽屜顯示完整的 ISO 日期與微秒時間戳,提升排錯審計精確度。

9. 未來架構演進:Open Agent Runtime 與 Durable DAG 規範 (Next-Gen Roadmap)

截至 2026-09-01,系統已完成下一代智慧體核心設計規範,奠定後續升級方向:

flowchart LR
    subgraph Legacy["舊架構 (Legacy Hardcoded)"]
        Fixed["固定 Planner-Worker-Reviewer 拓撲"]
    end
    subgraph OpenRuntime["新架構 (Open Agent Runtime & Durable DAG)"]
        Envelope["Policy Envelope (宣告式執行邊界)"]
        DAG["Durable DAG Task Attempt State Machine"]
        DynamicRoles["動態動態角色委派 (Dynamic Role Delegation)"]
        ArtifactHub["產出物中心 (Artifact Hub & Verifier)"]
    end
    Legacy --> |升級重構| OpenRuntime
    Envelope --> DAG
    DAG --> DynamicRoles & ArtifactHub

9.1 Open Agent Runtime Policy Envelope

  • 設計哲學:捨棄硬編碼的固定 P-W-R 拓撲,轉向基於 Policy Envelope (策略信封) 的開放式執行環境。
  • 宣告式治理:由專案策略宣告允許的角色數量、委派深度、工具權限天花板與審查規則。

9.2 Durable DAG Task Attempt & Artifact Foundation

  • DAG 任務狀態機:支援複雜依賴關係的多分支並行執行、部分失敗重試與狀態持久化。
  • Artifact 生命週期:追蹤程式碼、報告、圖表等產出物 (Artifacts) 的生成、校驗與版本變更。

10. 重要檔案變更清單與技術索引 (Key Files Inventory & Technical Reference)

模組分類 關鍵檔案路徑 核心職責與變更內容
延遲與追蹤 services/tracing/latency_tracer.py 階層式 Span 追蹤引擎與微秒計時器
routes/admin_latency.py 管理後台延遲查詢 API 與對話關聯端點
資料庫雙引擎 database/connection.py 動態 DB Mode 解析器與 MySQL 連線池
database/migrations/ 雙引擎 DDL 遷移腳本庫
速率限制 services/rate_limit/limiter.py RL0~RL3 平台限流核心與 Token 結算引擎
routes/admin_rate_limit.py Rate Limit Tier 管理與審計日誌介面
專案與路徑 services/projects/project_service.py Project P0~P2 控制平面業務邏輯
services/workspace_service.py 正規化相對路徑解析、Auto-Heal 與防穿透
多代理人核心 services/workflows/runner.py Multi-Agent Execution Handler 與迴圈執行器
services/workflows/bounded_loop.py 受控重擬規劃迴圈 (Bounded Controlled Loop)
services/workflows/governance.py Profile / Team / Workflow 版本化與回滾
可觀測時間軸 services/workflows/turn_trace.py 結構化 Turn Trace 持久化儲存庫
static/js/workflow_timeline.js 前端視覺化 Run Timeline 與對話導航
本地 AI 與彈性 services/llm_router.py 供應商調度、協定容錯降級與 Ollama 整合
services/mcp_manager.py MCP 工具生命週期管理與啟動預熱同步
前端 UI 體驗 static/js/chat.js Toolbar Chip 互斥邏輯、Workflow Composer 與 ISO 時間展示
static/css/style.css Markdown Codeblock 高對比度樣式優化

11. 結語與維運指引 (Conclusion & Operational Guidelines)

VER15 自 API Latency Observability 起的一系列重構,成功使系統具備了高可觀測性、企業級 MySQL 穩定性、精確配額治理、跨機相對路徑相容性以及具備自我修正能力的受控多代理人架構

🚨 核心運維安全提醒 (Service Safety Constraints)

  1. 服務重啟與關閉:本系統所有服務(Caddy, MySQL, Python Web App, MCP Daemon)之啟動、關閉與重啟作業,嚴格由使用者手動執行,AI 助手與自動化腳本絕不主動發起關閉或重啟指令。
  2. 生產資料庫保護:日常自動化測試一律使用獨立隔離測試庫,嚴禁對生產 MySQL 寫入測試或造假數據。
  3. 長期記憶同步:本白皮書之架構決策與變更歷史已同步記錄於專案文件庫及 Obsidian 長期記憶庫中。

By Kevin

發佈留言

error: Content is protected !!