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 (全鏈路延遲可觀測性) 以來,系統經歷了八大核心架構變革:
- 全鏈路分散式追蹤 (Deep Observability & Tracing):覆蓋所有模型供應商、MCP 工具、多媒體服務與執行工作流的微秒級階層式 Span 追蹤。
- 雙資料庫引擎 (Dual-Engine Database & MySQL Hardening):SQLite 與 MySQL 雙引擎架構,完成正式生產 MySQL 無縫切換、防漂移測試隔離與 Fail-Closed 防護。
- 共用平台速率限制 (Platform Rate Limiting - RL0 ~ RL3):解耦平台層與供應商層限流,支援 User/API Client/Channel 三大主體,達成精確 Token 審計與 429 前端可視化倒數。
- 專案控制平面與工作區相對路徑 (Project Control Plane & Path Portability):建立 Project P0/P1/P2 多租戶與終端機沙箱架構,並將 Workspace/Obsidian 徹底由絕對路徑重構為跨機器可攜的正規化相對路徑。
- 多代理人治理與受控迴圈 (Multi-Agent Governance & Controlled Replan Loop):解耦 Planner-Worker-Reviewer 角色合約,支援可視化 YAML/JSON 編輯、版本原子回滾、中途人類審批 (Human-in-the-Loop Gate) 與自動重擬規劃迴圈。
- 工作流程可觀測性與時間軸 (Workflow Observability & Run Timeline):結構化持久化 Turn Trace、關聯對話與 Session,提供視覺化時間軸與前端高對比 Markdown/Codeblock 體驗。
- 執行韌性與本地模型整合 (Resilience & Local AI Integration):強化 OpenRouter 空串流/無效 Payload 容錯降級、Ollama 本地配置隔離、Git 憑證隔離與 MCP 預熱同步。
- 下一代開放智慧體架構 (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_time、end_time、duration_ms、metadata、status與error。- 上下文感知 (Context Propagation):透過 Python contextvars / trace context 將 Span 穿透傳遞於異步協程、背景 Task 與串流分塊之間。
2.2 多維度服務覆蓋範疇
可觀測性 Span 深度覆蓋全系統所有子模組:
- 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)
- Anthropic (
- 工具鏈與 MCP 服務:
- MCP Manager Tool Calls、EasyEDA Pro Bridge、WordPress AI Helper、Email SMTP/IMAP、Google Calendar API、Hybrid Client Bridge。
- 多媒體與週邊處理:
- Puppeteer Headless Browser、PaddleOCR 排程處理、知識庫 (KB) Embedding 向量化階段。
- 排程與生命週期:
- 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/ExecutionRunRepositorySchedulerRepository/WorkflowRepositoryWorkspaceRepository/IdentityRepositoryOfficeRepository/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 里程碑演進
- RL0 (基礎隔離):建立 Dormant Contracts 與隔離測試套件,確保無副作用。
- RL1 (HTTP Ingress 攔截):在 API Gateway 與 Web 路由層注入 Rate Limit 中間件。
- RL2 (Admin Control Center & Tier 管理):
- 提供管理員介面管理 Rate Limit Tiers (Default, Pro, Enterprise, Unlimited)。
- 每個使用者嚴格指派單一 Tier,支援交易審計日誌 (
audit_rate_limits)。
- 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 腳本,批次更新workspaces與conversations資料表中的歷史路徑。 - 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 產出是否符合驗收標準,判定
ACCEPTED或REPLAN_REQUIRED。 - Synthesizer (彙整者):彙總各步驟執行結果,產生最終對話回覆。
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:26b、deepseek-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)
- 服務重啟與關閉:本系統所有服務(Caddy, MySQL, Python Web App, MCP Daemon)之啟動、關閉與重啟作業,嚴格由使用者手動執行,AI 助手與自動化腳本絕不主動發起關閉或重啟指令。
- 生產資料庫保護:日常自動化測試一律使用獨立隔離測試庫,嚴禁對生產 MySQL 寫入測試或造假數據。
- 長期記憶同步:本白皮書之架構決策與變更歷史已同步記錄於專案文件庫及 Obsidian 長期記憶庫中。
