3.2 KiB
3.2 KiB
📖 Harmonic CMTS Manager - Project State (Living Document)
⚠️ AI 助手請注意:本專案的核心架構與開發規範已移至
.clinerules。此檔案僅作為「專案進度存檔」與「待辦事項追蹤」使用。
✅ 已完成開發階段 (Completed Phases)
Phase 1: PostgreSQL 高可用性架構升級 (Completed)
- 成功導入
asyncpg,建立database.py管理非同步資料庫連線池。 - 建立
cmts_options,device_status,system_filters資料表,嚴格遵守config_type雙軌隔離的主鍵設計。 - 實踐完整的「Zero-Downtime Fallback 機制」:資料庫連線異常時,自動退回使用 JSON 檔案讀寫。
- 調整
init_db.py為非同步啟動腳本。
Phase 2: 設備配置備份與快照機制 (Completed)
- 資料庫擴充:在 PostgreSQL 中建立
config_backups資料表 (包含id,host,timestamp,raw_cli,parsed_tree,snapshot_name,description)。 - 前端 UI 實作:完成「設備備份與還原」頁籤,包含建立快照表單與歷史紀錄列表 (馬卡龍色系與 Flexbox 佈局)。
- 後端 API 實作:完成手動建立快照與取得歷史快照列表的 API 路由。
- 前端 UI 優化與防禦性編程:完成滿版視覺重構、原生日期選擇器整合,並實作具備 Null-Safety 與
.trim()容錯的多維度前端搜尋過濾器 (支援快照名稱 + 描述雙欄位比對)。
Phase 3: 智慧差異還原與歷史預覽 (Completed)
- 歷史預覽 UI:前端支援點擊歷史快照的「檢視」按鈕。
- 前端安全還原防呆:實作三階段安全還原流程 UI (包含 Diff 預覽與確認寫入按鈕),並加入跨設備還原阻斷機制。
- 後端 Diff 引擎實作:完成
/api/v1/backups/{id}/diff,成功生成絕對路徑指令陣列。 - 前端串流接收器 (Streaming UI):升級
executeSmartRestore,使用ReadableStream即時渲染後端傳來的 SSH 逐行執行 Log,並具備自動捲動功能。 - 後端 SSH 交易寫入管道 (Transactional SSH Pipeline):
- 實作
/api/v1/backups/{id}/restoreAPI,採用StreamingResponse(NDJSON 串流回應)。 - 建立安全的逐行寫入機制 (Fail-safe),遇錯立即停止、發送
abort撤銷變更,並回傳錯誤 Chunk。
- 實作
- 效能與體驗優化:完成 DOM 陣列渲染優化、Terminal 資源回收 (防殭屍連線)、精準 Prompt 偵測,以及 UI 視窗連動防呆機制。
🚧 目前開發階段 (Current Phase)
Phase 4: 自動化防護與進階管理 (Automation & Advanced Management)
- 自動備份攔截 (Auto-Backup Interceptor):在執行任何
generate_cli(寫入設備變更) 之前,實作自動觸發背景備份running config的防呆機制,確保每次變更前都有還原點。 - 備份保留策略 (Retention Policy):實作定期清理過期或過多歷史快照的機制,防止資料庫無限膨脹。
🐛 已知問題與未來計畫 (Known Issues & Backlog)
- 目前系統運行穩定,各項併發鎖定與 UI 狀態連動皆已完善。等待進入 Phase 4 開發。