Files
wiki/tasks/claude-cli-proxy/BRD.md
2026-05-14 10:10:01 +03:00

7.5 KiB
Raw Blame History

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 | Автор: Стрим 🌊