docs: ADR-006 v1.2 Rate Limiter + LOGBOOK 更新

- ADR-006: 新增 Rate Limiter 實作章節 (v1.2)
- LOGBOOK: 記錄 Gemini 切換 + Rate Limiter 上線

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
OG T
2026-03-26 18:16:45 +08:00
parent 34bfa994c2
commit 6e3a7fca20
2 changed files with 89 additions and 8 deletions

View File

@@ -5,19 +5,38 @@
---
## 📍 當前狀態 (2026-03-26 18:30 台北)
## 📍 當前狀態 (2026-03-26 23:45 台北)
| 項目 | 狀態 |
|------|------|
| **當前 Phase** | **Phase 18 失敗自動修復閉環** |
| **當前 Phase** | **Phase 13.2 #84 RAG Tool** |
| **Day** | Day 9 |
| **Phase 17** | ✅ **UI/UX 修復 (ApprovalModal + 導航)** |
| **Phase 18** | 📋 **失敗閉環架構設計 - 待統帥批准** |
| **Phase 13.3** | ✅ **#85-88 全部完成** |
| **Phase 14.2** | ✅ **dependency-cruiser + CI 整合** |
| **AI Fallback** | ✅ **Gemini 優先 (Rate Limiter 保護)** |
| **Phase 13.2** | 🔄 **#84 RAG Tool 進行中** |
| **Phase 16** | 🔄 R1.3 驗證期至 2026-03-27 16:04 |
| **架構審查** | ✅ **Phase 8/10/11/12 + ADR-022/023/024** |
| **Skills** | ✅ **Skill 08 + 09 新增** |
| **架構審查** | ✅ **ADR-025 CI/CD AI 整合** |
| **Skills** | ✅ **Skill 07 v1.3 更新** |
### ✅ 2026-03-26 Gemini API 切換 + Rate Limiter (Day 9 晚間 23:45)
**統帥決策**: 臨時切換 Gemini API 排除 Ollama CPU 推論問題
**實作內容**:
- `ai_rate_limiter.py`: RPM/Daily/Token 三層閥值
- `openclaw.py`: 整合 rate limit超限自動降級 Ollama
- `health.py`: `/health/ai-usage` 監控端點
- Lint 錯誤全面修復 (32 errors → 0)
**閥值設定**:
| 類型 | Gemini | Claude |
|------|--------|--------|
| RPM | 10/min | 5/min |
| Daily | 500 | 200 |
| Tokens | 100K | 50K |
**Commits**: bf32c4b, e26ea52, 3015349
**預計切回 Ollama**: 2026-03-27
### 📋 2026-03-26 Phase 18 失敗自動修復閉環 (Day 9 晚間 18:30)
@@ -55,6 +74,20 @@ Trust Engine 風險評估
**預估**: 5 天 (Phase 18.1-18.6)
**狀態**: ✅ **統帥批准,開始實作**
### 📅 2026-03-26 首席架構師審查排程 (Day 9 晚間 20:00)
**審查時間表已建立**:
| 時間點 | 審查項目 |
|--------|---------|
| 2026-03-27 09:00 | Phase 16 R1 驗證結果 |
| 2026-03-27 16:04 | Phase 16 R1→R2 Gate |
| 每週五 16:00 | 週度架構審查 |
**文檔更新**:
-`ADR-025-cicd-ai-integration.md` - Phase 13.1 架構決策
-`Skill 07 v1.3` - Grafana MCP + SignOz query_logs
-`project_arch_review_schedule.md` - 審查排程 Memory
### 🚀 2026-03-26 Phase 18.1 AuditLog 擴展 (Day 9 晚間 19:00)
**開始實作 P0 任務**

View File

@@ -358,12 +358,60 @@ apps/api/src/services/
---
## 7. Rate Limiter 實作 (v1.2)
### 背景
2026-03-26 統帥決策Ollama CPU 推論問題導致 mock_fallback臨時切換 Gemini 需成本保護。
### 實作
```python
# apps/api/src/services/ai_rate_limiter.py
RATE_LIMITS = {
"gemini": {
"rpm": 10, # 每分鐘
"daily_requests": 500, # 每日
"daily_tokens": 100_000,
},
"claude": {
"rpm": 5,
"daily_requests": 200,
"daily_tokens": 50_000,
},
}
```
### 整合位置
```python
# apps/api/src/services/openclaw.py
for provider in settings.AI_FALLBACK_ORDER:
if provider in ("gemini", "claude"):
allowed, reason = await rate_limiter.check_and_increment(provider)
if not allowed:
continue # 自動降級到下一個 provider
```
### 監控端點
```
GET /api/v1/health/ai-usage
```
返回各 provider 的 RPM/Daily/Token 用量統計。
---
## 變更記錄
| 日期 | 版本 | 變更 | 作者 |
|------|------|------|------|
| 2026-03-20 | v1.0 | 初版建立 | CTO |
| 2026-03-26 | v1.1 | 新增智能路由整合章節 (Phase 13.3) | 首席架構師 |
| 2026-03-26 | v1.2 | 新增 Rate Limiter 實作章節 | 首席架構師 |
---