diff --git a/docs/LOGBOOK.md b/docs/LOGBOOK.md index 465a50f1..1524062d 100644 --- a/docs/LOGBOOK.md +++ b/docs/LOGBOOK.md @@ -6,6 +6,87 @@ --- +## 📍 當前狀態 (2026-04-10 ADR-067 Ollama 五大應用批准,Phase 30 即將開始) + +### ADR-067 Ollama 五大應用 — 2026-04-10 統帥批准 + +| Phase | 應用 | 狀態 | +|-------|------|------| +| 30 | Drift 報告中文摘要 (qwen2.5:7b-instruct) | 🔲 Next | +| 31 | Log 異常摘要 (deepseek-r1:14b) | 🔲 | +| 32 | PR 自動審查 (qwen2.5-coder:7b) | 🔲 | +| 33 | RAG pgvector (nomic-embed-text 768d) | 🔲 | +| 34 | 圖片分析 (llava:latest) | 🔲 | + +- pgvector 0.8.2 已在 prod ✅ +- 詳細規格: ADR-067, project_ollama_applications.md + +--- + +## 📍 前一狀態 (2026-04-10 Sprint 5.1 + Phase 27 部署中 🔄) + +### Sprint 5.1 Data Safety Guardrails — 全部確認已部署 + +| 項目 | 狀態 | 備註 | +|------|------|------| +| DB M-002: approval_records MultiSig 欄位 | ✅ 已在 DB | approval_level/votes/required_votes | +| DB M-003: alert_event_type ENUM +8 | ✅ 已在 DB | 18個 event_type | +| ops/config/service-registry.yaml | ✅ 已 commit | BLOCK/CRITICAL_HITL/STANDARD_HITL/AUTO | +| service_registry.py / velero_client.py / preflight_service.py | ✅ 已部署 | Sprint 3 時即已部署 | +| Playbook model 3 安全欄位 | ✅ 已部署 | requires_approval_level/stateful_targets/requires_pre_backup | +| auto_repair_service.py Guardrail 注入 | ✅ 已部署 | StatefulLevel.BLOCK 攔截 | +| alert_operation_log_repository 8 新 event_type | ✅ 已部署 | GUARDRAIL_BLOCKED 等 | +| K8s Velero RBAC | ✅ 已有 | awoooi-executor 已有 list backups 權限 | + +### Phase 27 frequency_snapshot 持久化 + +| 項目 | 狀態 | Commit | +|------|------|--------| +| incidents.frequency_snapshot JSONB | ✅ DB 已建立 | migration 執行 ✅ | +| incident_repository 序列化/反序列化 | ✅ | 9846a6c | +| CD 部署中 | 🔄 run/653 | — | + +**下一步**: CD 完成確認 → 下一 Sprint + +## 📍 當前狀態 (2026-04-10 Sprint 6 A+B+C+D 全完成 ✅) + +### Sprint 6 完整閉環 + +| Phase | 項目 | 結果 | Commit | +|-------|------|------|--------| +| A1 | SSH config 補 120/121 | ✅ | — | +| A2 | CD 狀態確認(正常) | ✅ | — | +| B | Sensor Agent 188+110 systemd service | ✅ active | 31d45f0 | +| C | blast_radius AIBlastRadius→BlastRadius | ✅ | 7e49862 | +| C | AIDataImpact .lower() → DataImpact | ✅ | 0571ad1 | +| C | telegram_chat_id INTEGER→BIGINT (K8s exec) | ✅ | — | +| C | E2E: approval_created_db ✅ + telegram_sent ✅ | ✅ | — | +| D | drift CAST(:param AS jsonb) SQL fix | ✅ | 5d591c4 | +| D | drift k8s/ 打包進 image | ✅ | c132fd4 | +| D | drift_reports DB 寫入驗證 total=1 | ✅ | — | + +**下一步**: Telegram 批准按鈕真實 E2E(需要統帥點按鈕驗收)/ 其他 Backlog + +--- + +## 📍 當前狀態 (2026-04-10 Sprint 6 Phase A+B+C 進行中) + +### Sprint 6 C — Telegram E2E + blast_radius bug 修復 + +| 項目 | 結果 | Commit | +|------|------|--------| +| SSH config 補 120/121 | ✅ | — | +| CD 狀態確認(正常,無積壓) | ✅ | — | +| Sensor Agent 188 systemd service | ✅ active | — | +| Sensor Agent 110 systemd service | ✅ active | — | +| E2E 注入告警 → signoz_telegram_sent | ✅ | — | +| blast_radius AIBlastRadius→BlastRadius bug | ✅ 修復 | 7e49862 | +| CD 部署 7e49862 | 🔄 進行中 | — | + +**下一步**: CD 完成後重跑 E2E 驗收 + +--- + ## 📍 當前狀態 (2026-04-10 Sensor Agent B1 部署完成 ✅) ### Sprint 6 B — Sensor Agent 兩台主機部署 diff --git a/docs/adr/ADR-067-ollama-local-ai-applications.md b/docs/adr/ADR-067-ollama-local-ai-applications.md new file mode 100644 index 00000000..f06c962f --- /dev/null +++ b/docs/adr/ADR-067-ollama-local-ai-applications.md @@ -0,0 +1,57 @@ +# ADR-067: Ollama 本地 AI 應用五大擴展 + +**狀態**: Approved +**日期**: 2026-04-10 (台北時間) +**決策者**: ogt (統帥) +**執行者**: Claude Code + +--- + +## 背景 + +AWOOOI 基礎設施已有兩台 Ollama 主機(111/188)與多個已就緒模型,但 95% 的 AI 能力集中在 NemoClaw 對話與 OpenClaw RCA,其餘模型閒置。pgvector 0.8.2 已在 prod DB 就緒。 + +## 決策 + +批准實施五大 Ollama 本地 AI 應用,依優先順序: + +| # | 應用 | 模型 | 主機 | Migration | +|---|------|------|------|-----------| +| 1 | RAG 知識庫 | nomic-embed-text (768d) | Ollama 188 | phase28_rag_pgvector.sql | +| 2 | PR 自動審查 | qwen2.5-coder:7b | Ollama 111 | phase29_pr_reviews.sql | +| 3 | Log 異常摘要 | deepseek-r1:14b | Ollama 111 | 無(Redis 快取) | +| 4 | Drift 報告摘要 | qwen2.5:7b-instruct | Ollama 111 | phase30_drift_narrative.sql | +| 5 | 圖片分析 | llava:latest | Ollama 111 | 無 | + +## 架構原則(延續 leWOOOgo) + +- Router 禁止直接存 DB/Redis +- 每個應用建立獨立 Service + Repository +- 模型配置集中在 models.json(purpose key) +- 雙軌儲存:Redis 熱快取 + PostgreSQL 永久 +- 所有 LLM 呼叫需有 timeout + graceful fallback + +## 實施時程 + +- Week 0: 前置確認(pgvector ✅,models.json 新增 purpose keys) +- Week 1 前: 應用 4(Drift 摘要)— 最小改動 +- Week 1 後: 應用 3(Log 摘要) +- Week 2 前: 應用 2(PR 審查) +- Week 2-3: 應用 1(RAG pgvector) +- Week 3: 應用 5(圖片分析) + +## 衝突評估 + +- **無衝突**:Sprint 5R 前端重構(ADR-065)獨立進行,不影響後端 +- **注意**:應用 4 修改 `drift.py` 背景任務,需確認不影響現有 B4 drift_reports 持久化(已完成) +- **注意**:應用 3 修改 `telegram_gateway.py`(橙區),每次修改前需重讀檔案 +- **注意**:Ollama 111 並發管控,deepseek-r1:14b 優先,drift_narrative 最低優先 + +## 已確認基礎設施 + +- pgvector: 0.8.2 ✅ +- nomic-embed-text: Ollama 111 + 188 ✅ +- llava:latest: Ollama 111 ✅ +- qwen2.5-coder:7b: Ollama 111 ✅ +- qwen2.5:7b-instruct: Ollama 111 ✅ +- deepseek-r1:14b: Ollama 111 ✅