# 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. Решения 1. **Порт:** любой свободный (выберем при деплое) 2. **Подписка:** Max 5x ($100/мес) — ~50-200 промптов/5ч окно 3. **Доступ:** только из docker network mva154 (OpenClaw контейнер там же) 4. **Модель по умолчанию:** Sonnet (переключение на Opus через OpenClaw config при необходимости) --- ## 8. Не в скоупе (пока) - Multi-account / ротация аккаунтов - Использование для других агентов кроме Dev - Кеширование ответов - Web UI для мониторинга --- *Создано: 2026-05-14 | Автор: Стрим 🌊*