system/services/claude-proxy/CLAUDE.md

Claude Code Proxy

FastAPI-сервис, принимающий стандартные API-запросы (Anthropic + OpenAI формат)
и выполняющий их через Claude Code OAuth (без API ключа).

Что делает

Drupal / любой клиент
  → POST /chat/completions (OpenAI format)
  → POST /v1/messages (Anthropic format)
  → claude-agent-sdk (OAuth)
  → Claude Code CLI → Anthropic API

Структура

system/services/claude-proxy/
├── proxy.py            ← FastAPI приложение
├── requirements.txt    ← Зависимости
└── CLAUDE.md           ← Этот файл

Живой сервис: /opt/claude-proxy/proxy.py
Порт: 8899
Systemd: claude-proxy.service

Endpoints

Method Path Формат Назначение
GET /health Healthcheck
GET /models OpenAI Список моделей
GET /v1/models Anthropic Список моделей
POST /chat/completions OpenAI Чат (для openai-php/client)
POST /v1/chat/completions OpenAI Чат (алиас)
POST /v1/messages Anthropic Чат (нативный формат)

Установка на новый сервер

# 1. Установить зависимости
pip3 install -r system/services/claude-proxy/requirements.txt

# 2. Скопировать сервис
cp system/services/claude-proxy/proxy.py /opt/claude-proxy/proxy.py

# 3. Создать systemd unit
cat > /etc/systemd/system/claude-proxy.service << 'EOF'
[Unit]
Description=Claude Code OAuth Proxy
After=network.target

[Service]
Type=simple
User=root
WorkingDirectory=/opt/claude-proxy
Environment=HOME=/root
ExecStart=/usr/bin/python3 /opt/claude-proxy/proxy.py
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target
EOF

# 4. Запустить
systemctl daemon-reload
systemctl enable --now claude-proxy.service

# 5. Проверить
curl http://localhost:8899/health

Модели

Прокси прозрачно принимает любые model_id и передаёт запрос в claude-agent-sdk.
Фактически используется модель, настроенная в Claude Code OAuth.

Задекларированные в /models для совместимости:
- claude-sonnet-4-6 (основная)
- claude-haiku-4-5-20251001

Подключение сайтов

Drupal 2: library/connectors/site/drupal/ai-proxy/RECIPE.md

Текущий адрес прокси

http://91.218.142.168:8899