7.5 KiB
BRD: Claude CLI Proxy — подписка Max вместо токенов
Версия: 1.0
Дата: 2026-05-14
Автор: Стрим 🌊
Статус: Согласовано ✅
1. Контекст и цели
Что есть сейчас
- OpenClaw использует LLM через API-провайдеров (OpenRouter, Anthropic API, vibecode и др.)
- Каждый запрос = токены = деньги
- Dev-агент на Claude Opus 4.7 — самый дорогой потребитель (длинные сессии, большой контекст)
Проблема
Dev-агент сжирает токены как не в себя. Одна сессия разработки может стоить $5-15. При активной работе — $200-500/мес только на Dev.
Решение
У Славы есть подписка Claude Max ($100-200/мес) с щедрыми лимитами. Claude Code CLI умеет работать в non-interactive режиме (claude -p) с JSON/streaming выводом. Существует готовый open-source проект CLIProxyAPI, который оборачивает Claude Code CLI в OpenAI-compatible API.
Цель
Поднять CLIProxyAPI на mva154, авторизовать через Max подписку, подключить к OpenClaw как LLM provider для Dev-агента. Результат: Dev-агент работает по подписке, а не за токены.
2. Архитектура
OpenClaw (контейнер)
↓ HTTP POST /v1/chat/completions
CLIProxyAPI (контейнер на mva154, порт XXXX)
↓ spawn claude -p --output-format stream-json
Claude Code CLI (внутри того же контейнера)
↓ OAuth token (Max подписка)
Anthropic API (бесплатно в рамках подписки)
Компоненты
| Компонент | Что делает |
|---|---|
| CLIProxyAPI | Go-сервер, слушает HTTP, транслирует в вызовы Claude CLI |
| Claude Code CLI | Установлен в контейнере, авторизован через OAuth |
| OpenClaw config | Новый provider с baseUrl на CLIProxyAPI |
3. Готовое решение: CLIProxyAPI
Репо: https://github.com/router-for-me/CLIProxyAPI
Язык: Go
Лицензия: MIT
Активность: обновляется ежедневно, зрелый проект
Что умеет (релевантное для нас):
- Claude Code OAuth авторизация
- OpenAI-compatible
/v1/chat/completions - Streaming (SSE) и non-streaming режимы
- Очередь запросов (один CLI инстанс за раз)
- Function calling / tools support
- Multimodal input (text + images)
Что НЕ нужно:
- Multi-account load balancing (у нас один аккаунт)
- Gemini/Codex support (только Claude)
- Management UI (overkill)
4. Лимиты и ограничения
Rate limits Max подписки
- 5-часовое скользящее окно — бюджет обновляется каждые 5 часов от первого промпта
- Недельный cap — считается только активное compute-время
- Пиковые часы (5am-11am Pacific / 15:00-21:00 MSK) — расход x1.3-1.5
- Max 5x ≈ 50-200 промптов/5ч, Max 20x ≈ до 800 промптов/5ч
⚠️ Изменение с 15 июня 2026
Anthropic анонсировали: claude -p (Agent SDK mode) будет тратить отдельный месячный "Agent SDK credit", не из интерактивного лимита. Детали пока неизвестны — нужно следить.
Риски
| Риск | Вероятность | Митигация |
|---|---|---|
| Anthropic закрутит гайки / ToS | Средняя | CLIProxyAPI — массовый проект, тысячи пользователей. Если закроют — закроют всем |
| Rate limit hit | Высокая при активной работе | Fallback на обычный API provider в OpenClaw |
| OAuth token протухнет | Низкая | Мониторинг + ре-авторизация |
| Agent SDK credit окажется маленьким | Неизвестно (после 15.06) | Оценить после запуска, возможно вернуться на API |
5. Фичи
F-01: Контейнер CLIProxyAPI на mva154
Описание: Docker-контейнер с CLIProxyAPI + Claude Code CLI, авторизованный через OAuth.
Acceptance criteria:
- Контейнер запускается и слушает порт
curl http://localhost:PORT/v1/modelsвозвращает список моделей- Health check проходит
F-02: OAuth авторизация Claude Max
Описание: Claude Code CLI внутри контейнера авторизован под Max подпиской Славы.
Acceptance criteria:
claude auth statusпоказывает активную сессиюclaude -p "hello"возвращает ответ- Не тратит API credits (использует подписку)
F-03: Интеграция с OpenClaw
Описание: OpenClaw видит CLIProxyAPI как LLM provider и может отправлять запросы.
Acceptance criteria:
- В
openclaw.jsonдобавлен provider - Dev-агент может использовать модель через этот provider
- Streaming работает (ответы приходят по частям)
F-04: Fallback на API
Описание: Если CLIProxyAPI недоступен или rate-limited — автоматический fallback на обычный API provider.
Acceptance criteria:
- При 429/503 от прокси OpenClaw переключается на fallback модель
- Логируется факт fallback
6. Этапы
| # | Этап | Что делаем | Результат |
|---|---|---|---|
| 1 | Setup | Контейнер + CLIProxyAPI + Claude CLI | Работающий прокси |
| 2 | Auth | OAuth авторизация Max подписки | CLI отвечает на запросы |
| 3 | Integration | Подключение к OpenClaw как provider | Dev-агент работает через прокси |
| 4 | Hardening | Fallback, мониторинг, auto-restart | Продакшн-ready |
7. Решения
- Порт: любой свободный (выберем при деплое)
- Подписка: Max 5x ($100/мес) — ~50-200 промптов/5ч окно
- Доступ: только из docker network mva154 (OpenClaw контейнер там же)
- Модель по умолчанию: Sonnet (переключение на Opus через OpenClaw config при необходимости)
8. Не в скоупе (пока)
- Multi-account / ротация аккаунтов
- Использование для других агентов кроме Dev
- Кеширование ответов
- Web UI для мониторинга
Создано: 2026-05-14 | Автор: Стрим 🌊