OoO
943de8466c
CD Pipeline / deploy (push) Has been cancelled
feat(p7): Anthropic SDK + Claude Opus 4.7 接 Code Review (feature flag OFF)
Operation Ollama-First v5.0 / Phase 7 Frontier 升級
services/anthropic_service.py (新檔, 226 行)
- AnthropicService 包裝 + ClaudeResponse dataclass
- Ephemeral prompt cache 5 分鐘 TTL(重複 system_prompt 省 90% 成本)
- usage 解析 input/output/cache_creation/cache_read 四欄位
- ANTHROPIC_API_KEY 未設或 SDK 缺失時 is_available()=False 靜默退化
code_review_pipeline_service.py — _openclaw_assess 加 L1 Claude 分支
- CODE_REVIEW_USE_CLAUDE flag (預設 OFF,等 ANTHROPIC_API_KEY 設定後翻 ON)
- 路由:Claude Opus 4.7 (Arena code Elo 1548) → Gemini → ElephantAlpha 三層
- request_id 串鏈不變
ai_call_logger.py COST_TABLE 補 3 個 Claude 模型:
- claude-opus-4-7: $15/$75 per M tokens (程式碼 #1)
- claude-sonnet-4-6: $3/$15 per M tokens (agentic 平衡)
- claude-haiku-4-5: $0.8/$4 per M tokens (輕量快速)
requirements.txt: 加 anthropic>=0.40.0
.env.example: 加 ANTHROPIC_API_KEY / CODE_REVIEW_USE_CLAUDE / CLAUDE_MODEL
52 unit tests 全綠(22 logger + 18 anthropic + 5 routing + 7 security)
啟用步驟(待統帥手動):
1. .env 加 ANTHROPIC_API_KEY=sk-ant-...
2. CODE_REVIEW_USE_CLAUDE=true + restart momo-app
3. 觀察 ai_calls.cache_read_tokens > 0 確認 cache 生效
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-03 23:31:30 +08:00
..
2026-04-19 01:21:13 +08:00
2026-05-03 23:05:38 +08:00
2026-04-29 23:29:45 +08:00
2026-04-30 10:32:43 +08:00
2026-04-29 23:57:36 +08:00
2026-05-03 23:04:58 +08:00
2026-04-19 01:21:13 +08:00
2026-04-29 23:10:27 +08:00
2026-05-03 23:31:30 +08:00
2026-04-30 10:12:43 +08:00
2026-04-29 23:02:06 +08:00
2026-05-01 16:34:13 +08:00
2026-05-01 14:46:49 +08:00
2026-05-03 23:31:30 +08:00
2026-05-02 23:44:01 +08:00
2026-05-01 20:56:17 +08:00
2026-04-30 14:45:40 +08:00
2026-04-30 23:53:23 +08:00
2026-04-30 14:29:40 +08:00
2026-05-01 14:09:54 +08:00
2026-04-30 13:59:12 +08:00
2026-04-19 01:21:13 +08:00
2026-04-19 01:21:13 +08:00
2026-04-29 23:26:02 +08:00
2026-04-19 01:21:13 +08:00
2026-05-02 15:01:55 +08:00
2026-05-01 21:13:18 +08:00
2026-04-29 22:37:20 +08:00
2026-04-30 14:12:21 +08:00
2026-04-30 14:12:21 +08:00
2026-04-30 00:06:24 +08:00
2026-05-01 16:34:13 +08:00
2026-04-19 01:21:13 +08:00
2026-05-02 15:01:55 +08:00
2026-04-29 22:37:20 +08:00
2026-04-30 14:07:10 +08:00
2026-05-02 12:00:34 +08:00
2026-04-19 01:21:13 +08:00
2026-04-29 22:56:00 +08:00
2026-05-03 23:05:38 +08:00
2026-04-19 01:21:13 +08:00
2026-04-30 10:24:15 +08:00
2026-05-03 23:05:11 +08:00
2026-05-02 12:01:04 +08:00
2026-05-02 16:13:43 +08:00
2026-05-02 12:01:04 +08:00
2026-05-03 23:30:47 +08:00
2026-05-03 23:05:38 +08:00
2026-05-03 23:05:38 +08:00
2026-05-02 15:01:55 +08:00
2026-05-02 15:01:55 +08:00
2026-04-29 22:37:20 +08:00
2026-05-01 14:46:49 +08:00
2026-05-01 14:46:49 +08:00
2026-05-01 20:48:28 +08:00
2026-04-19 01:21:13 +08:00
2026-05-02 15:01:55 +08:00
2026-05-02 12:01:04 +08:00
2026-05-03 23:04:58 +08:00
2026-05-02 15:59:54 +08:00
2026-04-19 01:21:13 +08:00