120 lines
6.6 KiB
Markdown
120 lines
6.6 KiB
Markdown
---
|
||
date: 2026-05-06
|
||
type: decision
|
||
tags: [decision, openclaw, omniroute, claude, opus, cliproxy, max-plan]
|
||
---
|
||
|
||
# 2026-05-06: openclaw перешёл на Claude Opus 4.7 через Max-подписку (cc/* в OmniRoute)
|
||
|
||
## Контекст
|
||
|
||
Искали стабильный источник Claude Opus 4.6/4.7 для openclaw — обсуждали построение Workspace-фарма на новом домене с пулом аккаунтов под Antigravity. Перед тем как затевать фарм ($12/домен + время на регистрации + риск массового бана), проверили что фактически работает в текущей OmniRoute.
|
||
|
||
## Что обнаружили в OmniRoute (10.0.0.179:20128)
|
||
|
||
В каталоге **17 моделей с opus в id**, но реально пингуются только три:
|
||
|
||
| Model ID | Источник | Статус |
|
||
|---|---|---|
|
||
| **`cc/claude-opus-4-7`** | Claude Code OAuth (Max-подписка Олега) | ✅ Работает |
|
||
| `cc/claude-opus-4-6` | то же | ✅ Работает |
|
||
| `claude/claude-opus-4-7` | прямой Anthropic API | ✅ Работает (платный per-token) |
|
||
| `gh/claude-opus-4.6` | GitHub Copilot integrator MS | ❌ MS убрала Opus 4.6 из integrator scope, отдаёт «model not available» |
|
||
| `gh/claude-opus-4.7` | то же | ❌ ID mismatch: OmniRoute шлёт `4.7`, MS ждёт `4-7` (баг mapping в текущей версии) |
|
||
| `kr/claude-opus-4.6` / `4.7` | Kiro/AWS | ❌ Kiro Opus не выдаёт, только Sonnet |
|
||
| `kiro/claude-opus-*` | то же | ❌ |
|
||
| `kc/anthropic/claude-opus-4.7` | KiloCode | ❌ Empty response |
|
||
| `kilocode/anthropic/claude-opus-4.7` | то же | ❌ |
|
||
| `antigravity/claude-opus-4-6-thinking` | Google Antigravity | ❌ «Missing Google projectId — reconnect OAuth in Providers → Antigravity» |
|
||
|
||
## Решение
|
||
|
||
**Workspace-фарм для Antigravity не нужен.** У Олега уже есть рабочий Opus 4.7 через **`cc/claude-opus-4-7`** — это его собственная Max-подписка Anthropic, проксированная через CLIProxy в OmniRoute. Лучше любого фарма потому что:
|
||
|
||
- Нет per-token биллинга, фиксированная стоимость Max ($200/мес за Max20x)
|
||
- Не нужны множественные аккаунты, recovery emails, virtual cards
|
||
- Один источник = один ключ = простая интеграция
|
||
- Нет риска массового бана как у фарм-аккаунтов
|
||
- Самая свежая модель Opus 4.7 (новее чем 4.6 которая в фармовых Antigravity)
|
||
|
||
### Изменения в `/root/.openclaw/openclaw.json` (LXC 137)
|
||
|
||
**Было:**
|
||
```json
|
||
"agents.defaults.model": {
|
||
"primary": "omniroute/kr/claude-sonnet-4.5",
|
||
"fallbacks": [
|
||
"omniroute/cc/claude-sonnet-4-6",
|
||
"omniroute/cx/gpt-5.4"
|
||
]
|
||
}
|
||
```
|
||
|
||
**Стало:**
|
||
```json
|
||
"agents.defaults.model": {
|
||
"primary": "omniroute/cc/claude-opus-4-7",
|
||
"fallbacks": [
|
||
"omniroute/cc/claude-sonnet-4-6",
|
||
"omniroute/kr/claude-sonnet-4.5",
|
||
"omniroute/cx/gpt-5.4"
|
||
]
|
||
}
|
||
```
|
||
|
||
Также добавлена запись в `models.providers.omniroute.models[]`:
|
||
```json
|
||
{
|
||
"id": "cc/claude-opus-4-7",
|
||
"name": "Claude Opus 4.7 (CLIProxy/Max)",
|
||
"reasoning": false,
|
||
"input": ["text", "image"],
|
||
"contextWindow": 200000,
|
||
"maxTokens": 8192
|
||
}
|
||
```
|
||
|
||
Без этой записи openclaw fallback'нет на следующий — модель должна быть в каталоге провайдера.
|
||
|
||
### Применение
|
||
|
||
OpenClaw подхватил изменения **через hot-reload без рестарта** (видно в журнале: `[reload] config hot reload applied`). После я ещё раз сделал `systemctl --user restart openclaw-gateway.service` для чистоты, но это было необязательно.
|
||
|
||
В логах после старта:
|
||
```
|
||
[gateway] agent model: omniroute/cc/claude-opus-4-7
|
||
[gateway] http server listening (7 plugins: ..., telegram; 8.6s)
|
||
[telegram] [default] starting provider (@maxim_dttb_bot)
|
||
[gateway] ready
|
||
```
|
||
|
||
## Бэкап и rollback
|
||
|
||
Автобэкап перед изменениями: `/root/.openclaw/openclaw.json.bak.opus47-20260506-090832`
|
||
|
||
Rollback одной командой:
|
||
```bash
|
||
sshpass -p '1qaz!QAZ' ssh root@10.0.0.250 "pct exec 137 -- bash -c '
|
||
cp /root/.openclaw/openclaw.json.bak.opus47-20260506-090832 /root/.openclaw/openclaw.json
|
||
XDG_RUNTIME_DIR=/run/user/0 systemctl --user restart openclaw-gateway.service
|
||
'"
|
||
```
|
||
|
||
## Известные риски и мониторинг
|
||
|
||
1. **Max-подписка fair-use лимиты** — Anthropic размывает по нагрузке, точных цифр нет. Когда упрёмся — openclaw сам перейдёт на `cc/claude-sonnet-4-6` (видно в логах `model fallback decision`).
|
||
2. **CLIProxy OAuth refresh** — может протухнуть. Мониторинг: `journalctl --user -u openclaw-gateway -f` на LXC 137. При ошибке 401 от Anthropic API → переподключить Claude Code OAuth в OmniRoute (Dashboard → Providers → Claude → Reconnect).
|
||
3. **Скорость** — Opus 4.7 в среднем 2-5 сек медленнее Sonnet 4.5. Для интерактива в Telegram это норма.
|
||
|
||
## Параллельные находки
|
||
|
||
- **Antigravity** требует OAuth re-connect. По заметке `feedback_antigravity_onboarding.md`: открыть [antigravity.google](https://antigravity.google), залогиниться, создать Cloud Code project → projectId подтянется → `antigravity/claude-opus-4-6-thinking` оживёт. Сейчас не критично.
|
||
- **`Unknown model: cx/gpt-5.4`** — каждые 30 минут в логах ошибка. Health-check тыкается в модель которой нет в каталоге `omniroute.models[]` openclaw. Не блокер — failover работает. Решение: либо добавить `cx/gpt-5.4` в каталог openclaw, либо убрать из health-check'ов.
|
||
|
||
## Связанные
|
||
|
||
- [[../claude-memory/omniroute]] — OmniRoute setup, провайдеры, версии
|
||
- [[../projects/dttb/openclaw]] — справочник по openclaw
|
||
- [[../snippets/clawdbot-cliproxy-config]] — старый шаблон CLIProxy
|
||
- [[../snippets/omniroute-models-audit]] — шаблон smoke-тестов и парсинга ошибок (использовался при этом аудите)
|